| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_vk_internal_shaders.py. |
| // |
| // Copyright 2018 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // shaders/gen/OverlayDraw.frag.00000000.inc: |
| // Pre-generated shader for the ANGLE Vulkan back-end. |
| |
| #pragma once |
| constexpr uint8_t kOverlayDraw_frag_00000000[] = { |
| 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x58,0x5b,0x6c,0x55,0x45, |
| 0x14,0x3d,0x33,0x17,0x6e,0x29,0x0f,0x1f,0x51,0x8b,0x44,0x6c,0x78,0xd4,0x44,0x44, |
| 0xdb,0x8a,0x40,0x81,0x42,0xb1,0x28,0x22,0x15,0x0a,0x08,0x14,0x5f,0xb4,0xe2,0x23, |
| 0x96,0x48,0x01,0xe5,0x11,0x12,0x40,0xda,0x8a,0x4a,0x21,0x18,0x50,0x91,0x44,0x7f, |
| 0x34,0x51,0x63,0xd4,0x00,0xc2,0xa5,0xa0,0x3c,0x3e,0xfc,0xd0,0x40,0xea,0xaf,0xc6, |
| 0x44,0x8d,0x91,0x60,0x24,0x1a,0x8d,0x46,0x40,0x34,0x88,0x7b,0x9d,0xbd,0x36,0xdd, |
| 0x1c,0x7a,0x93,0xc9,0x9c,0x59,0x7b,0xed,0xe7,0xcc,0x9e,0x7b,0xee,0xcd,0xc5,0xe1, |
| 0x45,0x49,0x12,0x92,0xbe,0x49,0x9f,0xe4,0x70,0x4c,0xd2,0xcf,0xd5,0x49,0x14,0x24, |
| 0x49,0xfa,0x25,0xf9,0x74,0x9e,0x36,0x63,0xee,0x8c,0xf2,0x15,0x2b,0x9f,0x28,0x1f, |
| 0x3d,0xa6,0x12,0xf2,0x2b,0x92,0x5c,0xca,0x83,0xec,0x4a,0xd1,0xeb,0x25,0x33,0x46, |
| 0xcb,0xa2,0xc5,0x4b,0x81,0x8f,0x97,0x31,0x5f,0x84,0xed,0x32,0xae,0x12,0x2e,0x64, |
| 0x45,0xb0,0x23,0x4f,0x15,0x32,0xe7,0x13,0xe0,0x49,0x72,0x6f,0xd2,0x3b,0xa9,0x54, |
| 0x97,0xc9,0x70,0xce,0x86,0x05,0x62,0x9e,0x17,0x89,0x0d,0x71,0x58,0x8e,0x58,0x25, |
| 0xed,0x8f,0xa2,0xfd,0xca,0xa0,0x9c,0x3b,0x32,0xf6,0xa7,0x89,0xc6,0x1d,0xb4,0x05, |
| 0xfe,0x18,0x99,0x87,0x5d,0x94,0xe9,0x7a,0xa8,0xe3,0x8e,0x4f,0xf3,0x55,0x19,0x9e, |
| 0x4b,0x1d,0x77,0x79,0x46,0x77,0x39,0x75,0xcd,0xf6,0xbe,0x4c,0xae,0x85,0x1e,0x72, |
| 0x2d,0xf4,0x90,0x6b,0xa1,0x87,0x5c,0x0b,0x3d,0xe4,0xba,0xdf,0x72,0xed,0xa5,0x9c, |
| 0xce,0x1e,0x72,0xed,0x74,0xf1,0x1c,0xcc,0xc4,0x7b,0x90,0xf1,0x06,0xfa,0xa8,0x0d, |
| 0x97,0xc7,0x07,0xcc,0xe2,0xeb,0xe3,0x30,0x8b,0xaf,0x3f,0xfd,0x18,0x06,0xbb,0xd8, |
| 0xfb,0x7e,0xe9,0xd9,0xd0,0x35,0xce,0x81,0xd5,0xed,0x1a,0x61,0xc5,0xd4,0x6f,0x2e, |
| 0xcd,0x07,0xcf,0xd7,0x09,0x27,0xcf,0x5c,0xf1,0x19,0x28,0xeb,0x22,0xe6,0x06,0x79, |
| 0x89,0x30,0x07,0x50,0x0e,0x59,0x89,0xcc,0x03,0x78,0xe6,0x46,0x52,0xb7,0x8c,0xba, |
| 0xb6,0x1e,0x41,0x39,0xf8,0x23,0x69,0xcb,0xf3,0xcb,0x59,0xef,0xc1,0x3c,0x93,0x23, |
| 0x89,0x95,0x8a,0xb4,0x92,0xeb,0x12,0xce,0x15,0x4e,0xef,0x76,0xc6,0x31,0x98,0x67, |
| 0xad,0x92,0x58,0x29,0xcf,0xd5,0xa8,0x54,0xde,0x2b,0x19,0xcd,0xd8,0x81,0x55,0x73, |
| 0x3d,0xc6,0xe5,0x3b,0x96,0x76,0x02,0x6d,0x63,0x5d,0xc5,0x1c,0xa0,0x3f,0x8e,0xb2, |
| 0x3c,0xf5,0xc7,0xb1,0xaf,0x3c,0xbf,0x9a,0x67,0x02,0xfc,0x1a,0xda,0x46,0xbc,0xd7, |
| 0xca,0xd3,0x54,0x17,0x73,0xbd,0xd3,0xc3,0xba,0xe1,0x22,0x57,0xd7,0x8f,0x73,0x6f, |
| 0x6d,0xdd,0x2c,0xe3,0x82,0x8c,0x41,0x49,0x71,0xb2,0x94,0xb5,0xe6,0xd1,0xb8,0x6c, |
| 0x86,0xef,0x65,0x7c,0x5e,0xca,0x58,0xb1,0x5e,0xee,0xf6,0x72,0x85,0xcc,0x63,0xe9, |
| 0x13,0xeb,0xd5,0x5c,0xe7,0x5c,0x2e,0x6d,0x99,0x98,0xb6,0xc9,0x68,0xe2,0x1a,0xfe, |
| 0x5f,0xa3,0xbd,0x5b,0xe5,0x64,0x60,0x5f,0x76,0x10,0xf3,0xc3,0xb8,0x6f,0xc9,0xf8, |
| 0xb2,0xab,0xab,0xc6,0xb8,0x6f,0x67,0x78,0x6f,0x39,0xbf,0xef,0x30,0x17,0xe4,0xf1, |
| 0xee,0xc5,0xf3,0xd6,0x1d,0xc7,0x5e,0x19,0x77,0x72,0xbf,0xf7,0xb1,0xbe,0x7b,0x79, |
| 0x4e,0x0a,0x99,0x73,0xb2,0x8f,0x3c,0xf4,0x65,0xc1,0x9d,0x0b,0xf4,0xe0,0x7e,0xfa, |
| 0x38,0x40,0x1f,0x9d,0xac,0x15,0xd6,0x07,0x5d,0xee,0x88,0xbf,0x28,0x2d,0x6e,0xeb, |
| 0x64,0x8b,0xbf,0x4f,0xb8,0x34,0x7e,0xc8,0x61,0xab,0x3f,0x7b,0x2e,0x9f,0xfa,0xd1, |
| 0xbe,0xb4,0xbe,0xc9,0xd3,0xdf,0x14,0xc1,0x8a,0xe5,0x19,0xb2,0x6a,0xae,0xef,0x22, |
| 0x06,0xf9,0xdd,0x7c,0x36,0xfe,0x3c,0xf6,0x7b,0x09,0xe3,0xc3,0x7a,0x3e,0x31,0xec, |
| 0x5d,0x43,0xd0,0xf3,0x10,0xd3,0xbd,0xe8,0x9d,0xfa,0x5b,0x16,0xb4,0xff,0xca,0xc8, |
| 0x59,0x2e,0xeb,0xa9,0xe4,0xc0,0x66,0x5b,0xd0,0xbd,0x36,0x9b,0x6d,0xfc,0x6e,0xc8, |
| 0xb9,0xfd,0x7c,0x3e,0x68,0x5e,0x96,0x1f,0xc6,0x58,0xb1,0x1f,0xd9,0xb7,0x09,0xcf, |
| 0xcb,0xdf,0x82,0xf4,0x96,0xf9,0xac,0xac,0xb6,0xf3,0x10,0xfe,0x2b,0xcf,0xf0,0xfd, |
| 0x4a,0x50,0x39,0xe6,0x5a,0x61,0x21,0xb7,0xa9,0xcc,0x17,0xfb,0x3c,0x89,0x7b,0x7a, |
| 0x0f,0xf1,0x0f,0x85,0x83,0x38,0xa7,0x05,0xc5,0xca,0x68,0xb7,0x8e,0x76,0xff,0x11, |
| 0x3e,0x64,0xd3,0x65,0xd4,0xd3,0x36,0x66,0xb3,0x33,0x2b,0x68,0x4f,0xd6,0x4a,0x0e, |
| 0xe8,0xbf,0xd9,0x41,0xf7,0xb2,0x8a,0xb2,0x2a,0xfa,0xc4,0xd9,0x98,0x13,0x54,0x7e, |
| 0x4e,0x6c,0xd4,0xd1,0xd6,0x74,0x67,0xeb,0xbe,0x8c,0xad,0x19,0x41,0xef,0x8b,0x2a, |
| 0xca,0xbc,0xad,0x99,0x41,0xe5,0xde,0x16,0xe6,0xd3,0xa2,0x0b,0x79,0x21,0xaa,0x3f, |
| 0xc4,0x3a,0x93,0xf1,0x4f,0xe2,0xbd,0xb9,0x80,0xfb,0x39,0x4b,0xb8,0xd8,0xcb,0x07, |
| 0x82,0x62,0x0b,0x42,0x77,0x5f,0xf7,0x97,0x88,0x20,0x7b,0x90,0xfb,0x8e,0xbb,0x01, |
| 0xbc,0x16,0xde,0xcb,0x0f,0x51,0x66,0x35,0x7e,0x98,0x35,0x6e,0x73,0x35,0x7e,0x84, |
| 0xb8,0xd5,0x78,0x61,0x50,0xcc,0x6a,0xdc,0xe4,0x6a,0x0c,0x59,0xa3,0x8c,0x26,0xe6, |
| 0xd2,0x98,0xda,0xce,0xa7,0xb6,0x1f,0xa5,0xed,0x2a,0x9e,0x2f,0xb3,0xbf,0x88,0xb2, |
| 0x76,0xb1,0x8f,0xf5,0x63,0x41,0x31,0xdc,0x75,0x73,0x88,0x3d,0x11,0x34,0x56,0x7c, |
| 0x8c,0xf7,0x64,0x50,0x2e,0x64,0xf7,0x0b,0x82,0x7c,0xde,0x8c,0x8a,0x1b,0x17,0xb5, |
| 0x01,0xde,0x1c,0x54,0x86,0x61,0xf7,0x1d,0x6a,0x6e,0x71,0x36,0xb1,0xe6,0xe0,0xee, |
| 0x8f,0xaa,0x8f,0x7d,0x68,0x66,0x3e,0x66,0x67,0x49,0xd0,0x3d,0x29,0xc4,0xee,0x1a, |
| 0xb7,0xb3,0x77,0x5a,0x82,0xea,0x82,0xb3,0x47,0x30,0xf4,0xce,0x33,0x41,0x71,0xf4, |
| 0xd5,0x1b,0x92,0x2f,0xea,0xf7,0x2c,0xf1,0xf7,0xb9,0x5e,0x11,0x14,0x43,0x2d,0x57, |
| 0xb9,0x5a,0x02,0x5f,0x29,0x63,0x15,0x63,0x5c,0xe9,0xe2,0x58,0xe3,0xe2,0x88,0xec, |
| 0x27,0x8b,0x63,0x6d,0x50,0x39,0xe2,0xd8,0xc5,0x38,0xd6,0x31,0x8e,0xb5,0x2e,0x8e, |
| 0xf5,0xc4,0x51,0x07,0xf3,0xb1,0x8a,0x75,0x80,0xfc,0x39,0xc6,0x85,0xda,0xac,0x67, |
| 0x2c,0x88,0xb1,0xd5,0xc5,0x08,0xce,0x06,0x19,0xad,0xd4,0xc7,0x73,0x8d,0x70,0x70, |
| 0x27,0x3c,0x4f,0xdb,0xdb,0x29,0x6b,0xa5,0x7e,0x47,0xa6,0x27,0x37,0xc9,0xd8,0x4a, |
| 0xce,0x56,0x72,0x5a,0xe2,0xa5,0xf7,0x41,0x49,0x54,0x39,0x66,0x3b,0x37,0x03,0xe3, |
| 0xa5,0x7d,0x76,0x7d,0xec,0xee,0x59,0xc8,0x7c,0x9f,0x0d,0x8a,0x2a,0xb7,0xf3,0x74, |
| 0x43,0xd4,0x7a,0xe0,0xf3,0x01,0xcf,0xf5,0xe0,0xa8,0x38,0xfc,0xd9,0xde,0xdc,0x18, |
| 0x15,0x47,0x4c,0xc3,0x62,0x77,0xdc,0xc0,0x4b,0x65,0x0c,0x63,0x5c,0xa5,0xce,0xf6, |
| 0x10,0xda,0x0e,0xce,0xf6,0xd0,0xa8,0x78,0x19,0xcf,0x9d,0xe9,0x61,0xb6,0x7a,0x0f, |
| 0xa7,0x2f,0xe4,0x38,0x94,0xf6,0x2d,0x8e,0xb2,0xa8,0x72,0xc4,0x51,0xe1,0xe2,0x00, |
| 0x7e,0x93,0x8c,0x0a,0xda,0xc3,0x73,0x2b,0xe3,0xb8,0x99,0xf9,0xf8,0x3e,0xba,0x25, |
| 0x6a,0x2d,0xa2,0xc3,0x6e,0x25,0xe6,0x7b,0xeb,0xb6,0xa8,0x5c,0xc8,0x2c,0x87,0xf2, |
| 0xa8,0x36,0x21,0x43,0x0e,0xe6,0xb3,0xc2,0xe5,0x50,0xc9,0x38,0x91,0x57,0x39,0x63, |
| 0xb3,0x1c,0x6e,0x8f,0x2a,0x47,0x0e,0x13,0x5d,0x0e,0xc0,0x47,0xc9,0x98,0x48,0x7b, |
| 0xa3,0x5c,0x2d,0x47,0xbb,0x5a,0x5a,0x5e,0x63,0xa2,0xe2,0x3e,0xaf,0x2a,0xe6,0x90, |
| 0x73,0xd8,0x78,0x62,0xc1,0xe5,0x35,0x21,0x2a,0x77,0xbc,0xcb,0xab,0x3a,0xaa,0xcd, |
| 0x09,0xcc,0xcb,0xe2,0x98,0xe8,0xf2,0x9a,0xc4,0xd8,0x91,0x6b,0x35,0xe3,0x45,0x1e, |
| 0x93,0x5d,0x1e,0xe0,0xd4,0xc8,0x98,0x4c,0xfd,0x1a,0xda,0x6b,0xe1,0x1a,0x78,0xad, |
| 0xdc,0xc0,0xf8,0xae,0xaf,0xcd,0x9c,0xd5,0xb6,0xcc,0x9d,0x38,0x25,0x2a,0x07,0x3e, |
| 0x76,0x66,0x7a,0x61,0x35,0xed,0x61,0x7e,0x91,0x79,0xad,0xe1,0x5e,0x4f,0x71,0xd8, |
| 0xda,0xa8,0xf8,0x88,0x44,0xfd,0xa2,0x47,0xd6,0x65,0xfc,0x56,0x93,0x67,0x7d,0xb2, |
| 0x3e,0x2a,0xa7,0x83,0x36,0x36,0x38,0x1b,0x56,0xaf,0xb6,0xa8,0xb8,0xdd,0xff,0xaf, |
| 0xbb,0x1a,0x40,0xd6,0x2e,0xe3,0x05,0xc6,0xf8,0x82,0xab,0xf3,0x4b,0xd4,0xab,0xa7, |
| 0xde,0x0e,0xa7,0x07,0xd9,0x26,0x19,0x5b,0xa8,0xb7,0xc5,0xe9,0x6d,0xa5,0x5e,0x03, |
| 0xf5,0x5e,0x73,0x7a,0x90,0xbd,0x2c,0x63,0x3b,0xf5,0xb6,0xbb,0xb3,0xf3,0x6a,0xd4, |
| 0x7c,0x72,0xec,0xb9,0x9d,0xe4,0xbc,0xec,0x38,0xdb,0xc8,0x89,0x19,0x0e,0x7c,0x5c, |
| 0x90,0x93,0x83,0xe7,0x4d,0x8e,0xbf,0x99,0xfc,0x90,0xe1,0xef,0x70,0xfc,0x76,0xc7, |
| 0xdf,0x48,0x7e,0x92,0xe1,0xbf,0xee,0xf8,0x3b,0xd3,0x73,0xd6,0x2f,0xe5,0x77,0x46, |
| 0x8d,0x1b,0x79,0x6c,0x63,0x6e,0x9b,0x59,0x9b,0x8d,0xac,0xad,0xd9,0x9e,0xd6,0xc3, |
| 0x99,0x9f,0xde,0xc3,0x99,0xaf,0x8b,0xca,0x85,0xec,0x23,0xd6,0x74,0x66,0x54,0x5f, |
| 0x75,0x3c,0x63,0xf3,0x5c,0x4d,0x21,0xab,0x97,0x31,0x8f,0xb1,0xd6,0x3b,0x9f,0xb3, |
| 0x7b,0xe8,0xc7,0x39,0x51,0x71,0x9c,0x91,0x5d,0xb4,0x3f,0x37,0x2a,0x5e,0xc7,0x1e, |
| 0x30,0x5b,0xf3,0x5c,0x4f,0xcd,0x8f,0x1a,0x07,0xf2,0x9f,0x4b,0x9f,0x88,0xa5,0xd1, |
| 0xc5,0x02,0x4e,0x83,0x8c,0x46,0xea,0x37,0xb8,0x58,0x1e,0x72,0xb1,0x7c,0x4e,0xec, |
| 0x61,0xf6,0x01,0x64,0x5f,0x10,0x7b,0x24,0x2a,0x5e,0xef,0xce,0xf0,0xc2,0xa8,0xb8, |
| 0xdd,0xc7,0x66,0xbf,0xd1,0xc5,0xd7,0x14,0x35,0x46,0xc4,0xbc,0x90,0x71,0x98,0xef, |
| 0xc7,0x9c,0x6f,0xab,0xf3,0xe3,0xcc,0x17,0x32,0xab,0xc3,0x93,0x51,0x71,0xd4,0xfa, |
| 0x3d,0x62,0x4f,0x45,0xc5,0x9b,0x98,0xef,0x62,0x97,0x2f,0x64,0xcd,0x32,0x16,0x33, |
| 0x9e,0xe6,0xcc,0x1d,0xb2,0x38,0xea,0xf7,0x1d,0x7e,0xdf,0x3c,0x9d,0xe9,0x65,0x7b, |
| 0x2f,0xc6,0xbb,0xe1,0x92,0xa8,0x72,0xaf,0xdb,0x92,0xe6,0x56,0x9c,0xca,0x0f,0x44, |
| 0xfd,0x2d,0x82,0x3b,0x0a,0xbf,0xbf,0xe0,0x67,0x09,0xfd,0xda,0xf7,0xf7,0x01,0xea, |
| 0x77,0xf0,0xbb,0x79,0x13,0xbf,0x9b,0xbb,0x32,0xef,0xea,0xbb,0x29,0xdf,0xed,0xde, |
| 0x81,0xf7,0x64,0xde,0x81,0x3f,0x76,0xef,0xc0,0x7b,0xdc,0xfb,0x65,0xfa,0x1b,0x2c, |
| 0xa8,0xdc,0xde,0x6d,0x0a,0x41,0xb1,0xbd,0xee,0x3d,0xd6,0xea,0xde,0x49,0xdc,0x7f, |
| 0x7f,0x7d,0xe2,0xb8,0x86,0x7d,0x15,0xba,0xbf,0xdf,0xed,0x3e,0xfc,0x3a,0x28,0x0e, |
| 0xbe,0x61,0xdf,0x04,0xc5,0x47,0x38,0xde,0xb7,0x41,0x71,0x7f,0x6f,0x7e,0x97,0x89, |
| 0xbf,0x9a,0x3c,0xcb,0xe1,0xfb,0xa0,0x1c,0xbb,0x37,0x7f,0x70,0x36,0xec,0xcc,0xfd, |
| 0x18,0x14,0xb7,0x7b,0xf3,0xac,0x7b,0x0f,0x82,0xec,0x84,0x8c,0x9f,0x58,0x4b,0xcc, |
| 0xa6,0xf7,0x33,0xf5,0xec,0xde,0x3c,0xe3,0xf4,0x20,0x3b,0x25,0xe3,0x57,0xea,0xfd, |
| 0xea,0xf4,0x7e,0xa3,0x9e,0xdd,0x9b,0xa7,0x9d,0x1e,0x64,0xbf,0xcb,0xf8,0x93,0x7a, |
| 0x98,0xad,0x76,0x7f,0x05,0xcd,0xc7,0xee,0xcd,0xd3,0xe4,0xfc,0xee,0x38,0x7f,0x90, |
| 0x13,0x33,0x9c,0xd3,0x7c,0x7f,0x04,0xe7,0xd3,0xa8,0xb6,0x60,0xfb,0x0f,0xfa,0x03, |
| 0xf7,0x0c,0xb9,0xa7,0x9c,0xbd,0x5f,0x68,0xcf,0xee,0x55,0xe3,0x9c,0x71,0xf6,0x3e, |
| 0x89,0x6a,0x13,0x3e,0x7e,0x61,0xde,0xe0,0x9e,0x25,0xf7,0x84,0xb3,0x77,0x92,0xf6, |
| 0xec,0xde,0x35,0xce,0x59,0x67,0xef,0x60,0x54,0x9b,0xf0,0x71,0x92,0xf5,0xb7,0xfd, |
| 0x3b,0xe7,0xce,0xc5,0x46,0x62,0xff,0x04,0xc5,0xf1,0x1f,0xcb,0x67,0xc4,0xce,0x07, |
| 0xb5,0x03,0x99,0xdd,0x37,0xff,0x05,0xc5,0x9b,0xdd,0x7d,0x78,0x38,0x28,0xbe,0x8d, |
| 0x7b,0x71,0xd4,0xed,0x05,0x64,0x47,0x64,0x1c,0x65,0x8c,0x47,0x98,0x57,0x17,0xd7, |
| 0x47,0x19,0x17,0x7a,0x23,0xf2,0xde,0x29,0xf0,0xec,0xe1,0x7f,0x9a,0x5c,0xd4,0xff, |
| 0x68,0xd6,0xf1,0xff,0x99,0xde,0x51,0x79,0xeb,0xf8,0xbf,0x48,0x3e,0xaa,0x6f,0xd4, |
| 0x06,0xeb,0xa2,0xa8,0x1c,0xeb,0x17,0x60,0x7d,0x88,0x21,0xac,0xd9,0x92,0x05,0xfe, |
| 0xd7,0x29,0x8e,0xca,0x85,0x2c,0xef,0xec,0xf5,0x8d,0xda,0x87,0x4d,0xfc,0xbd,0xdf, |
| 0x2f,0x6a,0x0c,0xc5,0xfc,0x1e,0xed,0xcb,0x7b,0x12,0xff,0x2d,0xf4,0x8f,0x2a,0x4f, |
| 0x92,0xee,0x7b,0xeb,0xf3,0x4c,0x2f,0xf9,0x7b,0xeb,0x8b,0xa0,0xf2,0xd9,0xb4,0x7d, |
| 0x2c,0xa8,0x8d,0x4b,0x86,0xf4,0x24,0x64,0xc7,0x79,0x5e,0xca,0xf9,0xbf,0x10,0x74, |
| 0x8f,0x65,0x6a,0xd7,0xc5,0xfd,0x06,0xff,0x10,0xef,0x3a,0xd4,0xf7,0x38,0xeb,0x6d, |
| 0x77,0xdd,0xa1,0xcc,0x5d,0xd7,0x91,0xf9,0xed,0x82,0xf9,0xbc,0x78,0x1b,0x27,0xe3, |
| 0x7f,0xaf,0x08,0xad,0xd2,0x68,0x17,0x00,0x00 |
| }; |
| |
| // Generated from: |
| // |
| // #version 450 core |
| // |
| // #extension GL_GOOGLE_include_directive : require |
| // |
| // #line 1 "shaders/src/OverlayDraw.inc" |
| // |
| // #extension GL_EXT_samplerless_texture_functions : require |
| // |
| // struct TextWidgetData |
| // { |
| // uvec4 coordinates; |
| // vec4 color; |
| // uvec4 fontSize; |
| // uvec4 text[256 / 16]; |
| // }; |
| // |
| // struct GraphWidgetData |
| // { |
| // uvec4 coordinates; |
| // vec4 color; |
| // uvec4 valueWidth; |
| // uvec4 values[256 / 4]; |
| // }; |
| // |
| // layout(set = 0, binding = 0)uniform TextWidgets |
| // { |
| // TextWidgetData textWidgetsData[32]; |
| // }; |
| // |
| // layout(set = 0, binding = 1)uniform GraphWidgets |
| // { |
| // GraphWidgetData graphWidgetsData[32]; |
| // }; |
| // |
| // layout(set = 0, binding = 2)uniform texture2DArray font; |
| // |
| // layout(push_constant)uniform PushConstants |
| // { |
| // uvec2 viewportSize; |
| // |
| // bool isText; |
| // |
| // bool rotateXY; |
| // } params; |
| // #line 18 "shaders/src/OverlayDraw.frag" |
| // |
| // layout(location = 0)flat in uint widgetIndex; |
| // layout(location = 0)out vec4 color; |
| // |
| // uint getChar(const uvec2 coordInWidget, const uint fontGlyphWidth) |
| // { |
| // const uint charIndex = coordInWidget . x / fontGlyphWidth; |
| // const uint packIndex = charIndex / 4; |
| // const uvec4 arrayItem = textWidgetsData[widgetIndex]. text[packIndex / 4]; |
| // const uint col = packIndex % 4; |
| // |
| // uint packedChars; |
| // if(col == 0) |
| // { |
| // packedChars = arrayItem[0]; |
| // } |
| // else if(col == 1) |
| // { |
| // packedChars = arrayItem[1]; |
| // } |
| // else if(col == 2) |
| // { |
| // packedChars = arrayItem[2]; |
| // } |
| // else |
| // { |
| // packedChars = arrayItem[3]; |
| // } |
| // |
| // const uint shift =(charIndex % 4)* 8; |
| // |
| // return(packedChars >> shift)& 0xFF; |
| // |
| // } |
| // |
| // float sampleFont(const uint textChar, |
| // const uvec2 coordInWidget, |
| // const uvec2 fontGlyphSize, |
| // const uint fontMip) |
| // { |
| // const uvec2 coordInGlyph = coordInWidget % fontGlyphSize; |
| // return texelFetch(font, ivec3(coordInGlyph, textChar), int(fontMip)). x; |
| // } |
| // |
| // vec4 renderText(uvec2 coordInWidget) |
| // { |
| // const uvec4 fontSizePacked = textWidgetsData[widgetIndex]. fontSize; |
| // const uvec2 fontGlyphSize = fontSizePacked . xy; |
| // const uint fontMip = fontSizePacked . z; |
| // |
| // const uint textChar = getChar(coordInWidget, fontGlyphSize . x); |
| // |
| // if(textChar >= 95) |
| // { |
| // return vec4(0); |
| // } |
| // |
| // const float sampleValue = sampleFont(textChar, coordInWidget, fontGlyphSize, fontMip); |
| // |
| // vec4 result = vec4(0, 0, 0, 0.4); |
| // result = mix(result, textWidgetsData[widgetIndex]. color, sampleValue); |
| // |
| // return result; |
| // } |
| // |
| // uint getValue(const uvec2 coordInWidget, const uint valueWidth) |
| // { |
| // const uint valueIndex = coordInWidget . x / valueWidth . x; |
| // const uvec4 arrayItem = graphWidgetsData[widgetIndex]. values[valueIndex / 4]; |
| // const uint col = valueIndex % 4; |
| // |
| // if(col == 0) |
| // { |
| // return arrayItem[0]; |
| // } |
| // else if(col == 1) |
| // { |
| // return arrayItem[1]; |
| // } |
| // else if(col == 2) |
| // { |
| // return arrayItem[2]; |
| // } |
| // else |
| // { |
| // return arrayItem[3]; |
| // } |
| // } |
| // |
| // vec4 renderGraph(uvec2 coordInWidget) |
| // { |
| // const uvec4 widgetCoords = graphWidgetsData[widgetIndex]. coordinates; |
| // |
| // if(coordInWidget . x == 0 || coordInWidget . y == 0 || |
| // coordInWidget . x + 1 ==(widgetCoords . z - widgetCoords . x)|| |
| // coordInWidget . y + 1 ==(widgetCoords . w - widgetCoords . y)) |
| // { |
| // return vec4(0, 0, 0, 1); |
| // } |
| // |
| // const uint valueWidth = graphWidgetsData[widgetIndex]. valueWidth . x; |
| // |
| // const uint value = getValue(coordInWidget, valueWidth); |
| // |
| // const uint widgetHeight = widgetCoords . w - widgetCoords . y; |
| // |
| // bool indicateOverflow = value > widgetHeight && coordInWidget . y + 4 >= widgetHeight |
| // &&((coordInWidget . x ^ coordInWidget . y)& 1)== 0; |
| // |
| // if((widgetHeight - coordInWidget . y)>= value || indicateOverflow) |
| // { |
| // return vec4(0); |
| // } |
| // |
| // return graphWidgetsData[widgetIndex]. color; |
| // } |
| // |
| // void main() |
| // { |
| // const uvec4 widgetCoords = params . isText |
| // ? textWidgetsData[widgetIndex]. coordinates |
| // : graphWidgetsData[widgetIndex]. coordinates; |
| // uvec2 fragCoords = uvec2(floor(gl_FragCoord . xy)); |
| // |
| // if(params . rotateXY) |
| // { |
| // |
| // fragCoords . x = params . viewportSize . x - 1 - fragCoords . x; |
| // fragCoords = fragCoords . yx; |
| // } |
| // |
| // const uvec2 coordInWidget = fragCoords - widgetCoords . xy; |
| // |
| // if(any(lessThan(coordInWidget, uvec2(0)))|| |
| // any(greaterThanEqual(coordInWidget, widgetCoords . zw - widgetCoords . xy))) |
| // { |
| // color = vec4(1, 0, 1, 1); |
| // return; |
| // } |
| // |
| // if(params . isText) |
| // { |
| // color = renderText(coordInWidget); |
| // } |
| // else |
| // { |
| // color = renderGraph(coordInWidget); |
| // } |
| // } |