• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// GENERATED FILE - DO NOT EDIT.
2// Generated by gen_vk_internal_shaders.py.
3//
4// Copyright 2018 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8// shaders/gen/OverlayDraw.frag.00000000.inc:
9//   Pre-generated shader for the ANGLE Vulkan back-end.
10
11#pragma once
12constexpr uint8_t kOverlayDraw_frag_00000000[] = {
13    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x58,0x5b,0x6c,0x55,0x45,
14    0x14,0x3d,0x33,0x17,0x6e,0x29,0x0f,0x1f,0x51,0x8b,0x44,0x6c,0x78,0xd4,0x44,0x44,
15    0xdb,0x8a,0x40,0x81,0x42,0xb1,0x28,0x22,0x15,0x0a,0x08,0x14,0x5f,0xb4,0xe2,0x23,
16    0x96,0x48,0x01,0xe5,0x11,0x12,0x40,0xda,0x8a,0x4a,0x21,0x18,0x50,0x91,0x44,0x7f,
17    0x34,0x51,0x63,0xd4,0x00,0xc2,0xa5,0xa0,0x3c,0x3e,0xfc,0xd0,0x40,0xea,0xaf,0xc6,
18    0x44,0x8d,0x91,0x60,0x24,0x1a,0x8d,0x46,0x40,0x34,0x88,0x7b,0x9d,0xbd,0x36,0xdd,
19    0x1c,0x7a,0x93,0xc9,0x9c,0x59,0x7b,0xed,0xe7,0xcc,0x9e,0x7b,0xee,0xcd,0xc5,0xe1,
20    0x45,0x49,0x12,0x92,0xbe,0x49,0x9f,0xe4,0x70,0x4c,0xd2,0xcf,0xd5,0x49,0x14,0x24,
21    0x49,0xfa,0x25,0xf9,0x74,0x9e,0x36,0x63,0xee,0x8c,0xf2,0x15,0x2b,0x9f,0x28,0x1f,
22    0x3d,0xa6,0x12,0xf2,0x2b,0x92,0x5c,0xca,0x83,0xec,0x4a,0xd1,0xeb,0x25,0x33,0x46,
23    0xcb,0xa2,0xc5,0x4b,0x81,0x8f,0x97,0x31,0x5f,0x84,0xed,0x32,0xae,0x12,0x2e,0x64,
24    0x45,0xb0,0x23,0x4f,0x15,0x32,0xe7,0x13,0xe0,0x49,0x72,0x6f,0xd2,0x3b,0xa9,0x54,
25    0x97,0xc9,0x70,0xce,0x86,0x05,0x62,0x9e,0x17,0x89,0x0d,0x71,0x58,0x8e,0x58,0x25,
26    0xed,0x8f,0xa2,0xfd,0xca,0xa0,0x9c,0x3b,0x32,0xf6,0xa7,0x89,0xc6,0x1d,0xb4,0x05,
27    0xfe,0x18,0x99,0x87,0x5d,0x94,0xe9,0x7a,0xa8,0xe3,0x8e,0x4f,0xf3,0x55,0x19,0x9e,
28    0x4b,0x1d,0x77,0x79,0x46,0x77,0x39,0x75,0xcd,0xf6,0xbe,0x4c,0xae,0x85,0x1e,0x72,
29    0x2d,0xf4,0x90,0x6b,0xa1,0x87,0x5c,0x0b,0x3d,0xe4,0xba,0xdf,0x72,0xed,0xa5,0x9c,
30    0xce,0x1e,0x72,0xed,0x74,0xf1,0x1c,0xcc,0xc4,0x7b,0x90,0xf1,0x06,0xfa,0xa8,0x0d,
31    0x97,0xc7,0x07,0xcc,0xe2,0xeb,0xe3,0x30,0x8b,0xaf,0x3f,0xfd,0x18,0x06,0xbb,0xd8,
32    0xfb,0x7e,0xe9,0xd9,0xd0,0x35,0xce,0x81,0xd5,0xed,0x1a,0x61,0xc5,0xd4,0x6f,0x2e,
33    0xcd,0x07,0xcf,0xd7,0x09,0x27,0xcf,0x5c,0xf1,0x19,0x28,0xeb,0x22,0xe6,0x06,0x79,
34    0x89,0x30,0x07,0x50,0x0e,0x59,0x89,0xcc,0x03,0x78,0xe6,0x46,0x52,0xb7,0x8c,0xba,
35    0xb6,0x1e,0x41,0x39,0xf8,0x23,0x69,0xcb,0xf3,0xcb,0x59,0xef,0xc1,0x3c,0x93,0x23,
36    0x89,0x95,0x8a,0xb4,0x92,0xeb,0x12,0xce,0x15,0x4e,0xef,0x76,0xc6,0x31,0x98,0x67,
37    0xad,0x92,0x58,0x29,0xcf,0xd5,0xa8,0x54,0xde,0x2b,0x19,0xcd,0xd8,0x81,0x55,0x73,
38    0x3d,0xc6,0xe5,0x3b,0x96,0x76,0x02,0x6d,0x63,0x5d,0xc5,0x1c,0xa0,0x3f,0x8e,0xb2,
39    0x3c,0xf5,0xc7,0xb1,0xaf,0x3c,0xbf,0x9a,0x67,0x02,0xfc,0x1a,0xda,0x46,0xbc,0xd7,
40    0xca,0xd3,0x54,0x17,0x73,0xbd,0xd3,0xc3,0xba,0xe1,0x22,0x57,0xd7,0x8f,0x73,0x6f,
41    0x6d,0xdd,0x2c,0xe3,0x82,0x8c,0x41,0x49,0x71,0xb2,0x94,0xb5,0xe6,0xd1,0xb8,0x6c,
42    0x86,0xef,0x65,0x7c,0x5e,0xca,0x58,0xb1,0x5e,0xee,0xf6,0x72,0x85,0xcc,0x63,0xe9,
43    0x13,0xeb,0xd5,0x5c,0xe7,0x5c,0x2e,0x6d,0x99,0x98,0xb6,0xc9,0x68,0xe2,0x1a,0xfe,
44    0x5f,0xa3,0xbd,0x5b,0xe5,0x64,0x60,0x5f,0x76,0x10,0xf3,0xc3,0xb8,0x6f,0xc9,0xf8,
45    0xb2,0xab,0xab,0xc6,0xb8,0x6f,0x67,0x78,0x6f,0x39,0xbf,0xef,0x30,0x17,0xe4,0xf1,
46    0xee,0xc5,0xf3,0xd6,0x1d,0xc7,0x5e,0x19,0x77,0x72,0xbf,0xf7,0xb1,0xbe,0x7b,0x79,
47    0x4e,0x0a,0x99,0x73,0xb2,0x8f,0x3c,0xf4,0x65,0xc1,0x9d,0x0b,0xf4,0xe0,0x7e,0xfa,
48    0x38,0x40,0x1f,0x9d,0xac,0x15,0xd6,0x07,0x5d,0xee,0x88,0xbf,0x28,0x2d,0x6e,0xeb,
49    0x64,0x8b,0xbf,0x4f,0xb8,0x34,0x7e,0xc8,0x61,0xab,0x3f,0x7b,0x2e,0x9f,0xfa,0xd1,
50    0xbe,0xb4,0xbe,0xc9,0xd3,0xdf,0x14,0xc1,0x8a,0xe5,0x19,0xb2,0x6a,0xae,0xef,0x22,
51    0x06,0xf9,0xdd,0x7c,0x36,0xfe,0x3c,0xf6,0x7b,0x09,0xe3,0xc3,0x7a,0x3e,0x31,0xec,
52    0x5d,0x43,0xd0,0xf3,0x10,0xd3,0xbd,0xe8,0x9d,0xfa,0x5b,0x16,0xb4,0xff,0xca,0xc8,
53    0x59,0x2e,0xeb,0xa9,0xe4,0xc0,0x66,0x5b,0xd0,0xbd,0x36,0x9b,0x6d,0xfc,0x6e,0xc8,
54    0xb9,0xfd,0x7c,0x3e,0x68,0x5e,0x96,0x1f,0xc6,0x58,0xb1,0x1f,0xd9,0xb7,0x09,0xcf,
55    0xcb,0xdf,0x82,0xf4,0x96,0xf9,0xac,0xac,0xb6,0xf3,0x10,0xfe,0x2b,0xcf,0xf0,0xfd,
56    0x4a,0x50,0x39,0xe6,0x5a,0x61,0x21,0xb7,0xa9,0xcc,0x17,0xfb,0x3c,0x89,0x7b,0x7a,
57    0x0f,0xf1,0x0f,0x85,0x83,0x38,0xa7,0x05,0xc5,0xca,0x68,0xb7,0x8e,0x76,0xff,0x11,
58    0x3e,0x64,0xd3,0x65,0xd4,0xd3,0x36,0x66,0xb3,0x33,0x2b,0x68,0x4f,0xd6,0x4a,0x0e,
59    0xe8,0xbf,0xd9,0x41,0xf7,0xb2,0x8a,0xb2,0x2a,0xfa,0xc4,0xd9,0x98,0x13,0x54,0x7e,
60    0x4e,0x6c,0xd4,0xd1,0xd6,0x74,0x67,0xeb,0xbe,0x8c,0xad,0x19,0x41,0xef,0x8b,0x2a,
61    0xca,0xbc,0xad,0x99,0x41,0xe5,0xde,0x16,0xe6,0xd3,0xa2,0x0b,0x79,0x21,0xaa,0x3f,
62    0xc4,0x3a,0x93,0xf1,0x4f,0xe2,0xbd,0xb9,0x80,0xfb,0x39,0x4b,0xb8,0xd8,0xcb,0x07,
63    0x82,0x62,0x0b,0x42,0x77,0x5f,0xf7,0x97,0x88,0x20,0x7b,0x90,0xfb,0x8e,0xbb,0x01,
64    0xbc,0x16,0xde,0xcb,0x0f,0x51,0x66,0x35,0x7e,0x98,0x35,0x6e,0x73,0x35,0x7e,0x84,
65    0xb8,0xd5,0x78,0x61,0x50,0xcc,0x6a,0xdc,0xe4,0x6a,0x0c,0x59,0xa3,0x8c,0x26,0xe6,
66    0xd2,0x98,0xda,0xce,0xa7,0xb6,0x1f,0xa5,0xed,0x2a,0x9e,0x2f,0xb3,0xbf,0x88,0xb2,
67    0x76,0xb1,0x8f,0xf5,0x63,0x41,0x31,0xdc,0x75,0x73,0x88,0x3d,0x11,0x34,0x56,0x7c,
68    0x8c,0xf7,0x64,0x50,0x2e,0x64,0xf7,0x0b,0x82,0x7c,0xde,0x8c,0x8a,0x1b,0x17,0xb5,
69    0x01,0xde,0x1c,0x54,0x86,0x61,0xf7,0x1d,0x6a,0x6e,0x71,0x36,0xb1,0xe6,0xe0,0xee,
70    0x8f,0xaa,0x8f,0x7d,0x68,0x66,0x3e,0x66,0x67,0x49,0xd0,0x3d,0x29,0xc4,0xee,0x1a,
71    0xb7,0xb3,0x77,0x5a,0x82,0xea,0x82,0xb3,0x47,0x30,0xf4,0xce,0x33,0x41,0x71,0xf4,
72    0xd5,0x1b,0x92,0x2f,0xea,0xf7,0x2c,0xf1,0xf7,0xb9,0x5e,0x11,0x14,0x43,0x2d,0x57,
73    0xb9,0x5a,0x02,0x5f,0x29,0x63,0x15,0x63,0x5c,0xe9,0xe2,0x58,0xe3,0xe2,0x88,0xec,
74    0x27,0x8b,0x63,0x6d,0x50,0x39,0xe2,0xd8,0xc5,0x38,0xd6,0x31,0x8e,0xb5,0x2e,0x8e,
75    0xf5,0xc4,0x51,0x07,0xf3,0xb1,0x8a,0x75,0x80,0xfc,0x39,0xc6,0x85,0xda,0xac,0x67,
76    0x2c,0x88,0xb1,0xd5,0xc5,0x08,0xce,0x06,0x19,0xad,0xd4,0xc7,0x73,0x8d,0x70,0x70,
77    0x27,0x3c,0x4f,0xdb,0xdb,0x29,0x6b,0xa5,0x7e,0x47,0xa6,0x27,0x37,0xc9,0xd8,0x4a,
78    0xce,0x56,0x72,0x5a,0xe2,0xa5,0xf7,0x41,0x49,0x54,0x39,0x66,0x3b,0x37,0x03,0xe3,
79    0xa5,0x7d,0x76,0x7d,0xec,0xee,0x59,0xc8,0x7c,0x9f,0x0d,0x8a,0x2a,0xb7,0xf3,0x74,
80    0x43,0xd4,0x7a,0xe0,0xf3,0x01,0xcf,0xf5,0xe0,0xa8,0x38,0xfc,0xd9,0xde,0xdc,0x18,
81    0x15,0x47,0x4c,0xc3,0x62,0x77,0xdc,0xc0,0x4b,0x65,0x0c,0x63,0x5c,0xa5,0xce,0xf6,
82    0x10,0xda,0x0e,0xce,0xf6,0xd0,0xa8,0x78,0x19,0xcf,0x9d,0xe9,0x61,0xb6,0x7a,0x0f,
83    0xa7,0x2f,0xe4,0x38,0x94,0xf6,0x2d,0x8e,0xb2,0xa8,0x72,0xc4,0x51,0xe1,0xe2,0x00,
84    0x7e,0x93,0x8c,0x0a,0xda,0xc3,0x73,0x2b,0xe3,0xb8,0x99,0xf9,0xf8,0x3e,0xba,0x25,
85    0x6a,0x2d,0xa2,0xc3,0x6e,0x25,0xe6,0x7b,0xeb,0xb6,0xa8,0x5c,0xc8,0x2c,0x87,0xf2,
86    0xa8,0x36,0x21,0x43,0x0e,0xe6,0xb3,0xc2,0xe5,0x50,0xc9,0x38,0x91,0x57,0x39,0x63,
87    0xb3,0x1c,0x6e,0x8f,0x2a,0x47,0x0e,0x13,0x5d,0x0e,0xc0,0x47,0xc9,0x98,0x48,0x7b,
88    0xa3,0x5c,0x2d,0x47,0xbb,0x5a,0x5a,0x5e,0x63,0xa2,0xe2,0x3e,0xaf,0x2a,0xe6,0x90,
89    0x73,0xd8,0x78,0x62,0xc1,0xe5,0x35,0x21,0x2a,0x77,0xbc,0xcb,0xab,0x3a,0xaa,0xcd,
90    0x09,0xcc,0xcb,0xe2,0x98,0xe8,0xf2,0x9a,0xc4,0xd8,0x91,0x6b,0x35,0xe3,0x45,0x1e,
91    0x93,0x5d,0x1e,0xe0,0xd4,0xc8,0x98,0x4c,0xfd,0x1a,0xda,0x6b,0xe1,0x1a,0x78,0xad,
92    0xdc,0xc0,0xf8,0xae,0xaf,0xcd,0x9c,0xd5,0xb6,0xcc,0x9d,0x38,0x25,0x2a,0x07,0x3e,
93    0x76,0x66,0x7a,0x61,0x35,0xed,0x61,0x7e,0x91,0x79,0xad,0xe1,0x5e,0x4f,0x71,0xd8,
94    0xda,0xa8,0xf8,0x88,0x44,0xfd,0xa2,0x47,0xd6,0x65,0xfc,0x56,0x93,0x67,0x7d,0xb2,
95    0x3e,0x2a,0xa7,0x83,0x36,0x36,0x38,0x1b,0x56,0xaf,0xb6,0xa8,0xb8,0xdd,0xff,0xaf,
96    0xbb,0x1a,0x40,0xd6,0x2e,0xe3,0x05,0xc6,0xf8,0x82,0xab,0xf3,0x4b,0xd4,0xab,0xa7,
97    0xde,0x0e,0xa7,0x07,0xd9,0x26,0x19,0x5b,0xa8,0xb7,0xc5,0xe9,0x6d,0xa5,0x5e,0x03,
98    0xf5,0x5e,0x73,0x7a,0x90,0xbd,0x2c,0x63,0x3b,0xf5,0xb6,0xbb,0xb3,0xf3,0x6a,0xd4,
99    0x7c,0x72,0xec,0xb9,0x9d,0xe4,0xbc,0xec,0x38,0xdb,0xc8,0x89,0x19,0x0e,0x7c,0x5c,
100    0x90,0x93,0x83,0xe7,0x4d,0x8e,0xbf,0x99,0xfc,0x90,0xe1,0xef,0x70,0xfc,0x76,0xc7,
101    0xdf,0x48,0x7e,0x92,0xe1,0xbf,0xee,0xf8,0x3b,0xd3,0x73,0xd6,0x2f,0xe5,0x77,0x46,
102    0x8d,0x1b,0x79,0x6c,0x63,0x6e,0x9b,0x59,0x9b,0x8d,0xac,0xad,0xd9,0x9e,0xd6,0xc3,
103    0x99,0x9f,0xde,0xc3,0x99,0xaf,0x8b,0xca,0x85,0xec,0x23,0xd6,0x74,0x66,0x54,0x5f,
104    0x75,0x3c,0x63,0xf3,0x5c,0x4d,0x21,0xab,0x97,0x31,0x8f,0xb1,0xd6,0x3b,0x9f,0xb3,
105    0x7b,0xe8,0xc7,0x39,0x51,0x71,0x9c,0x91,0x5d,0xb4,0x3f,0x37,0x2a,0x5e,0xc7,0x1e,
106    0x30,0x5b,0xf3,0x5c,0x4f,0xcd,0x8f,0x1a,0x07,0xf2,0x9f,0x4b,0x9f,0x88,0xa5,0xd1,
107    0xc5,0x02,0x4e,0x83,0x8c,0x46,0xea,0x37,0xb8,0x58,0x1e,0x72,0xb1,0x7c,0x4e,0xec,
108    0x61,0xf6,0x01,0x64,0x5f,0x10,0x7b,0x24,0x2a,0x5e,0xef,0xce,0xf0,0xc2,0xa8,0xb8,
109    0xdd,0xc7,0x66,0xbf,0xd1,0xc5,0xd7,0x14,0x35,0x46,0xc4,0xbc,0x90,0x71,0x98,0xef,
110    0xc7,0x9c,0x6f,0xab,0xf3,0xe3,0xcc,0x17,0x32,0xab,0xc3,0x93,0x51,0x71,0xd4,0xfa,
111    0x3d,0x62,0x4f,0x45,0xc5,0x9b,0x98,0xef,0x62,0x97,0x2f,0x64,0xcd,0x32,0x16,0x33,
112    0x9e,0xe6,0xcc,0x1d,0xb2,0x38,0xea,0xf7,0x1d,0x7e,0xdf,0x3c,0x9d,0xe9,0x65,0x7b,
113    0x2f,0xc6,0xbb,0xe1,0x92,0xa8,0x72,0xaf,0xdb,0x92,0xe6,0x56,0x9c,0xca,0x0f,0x44,
114    0xfd,0x2d,0x82,0x3b,0x0a,0xbf,0xbf,0xe0,0x67,0x09,0xfd,0xda,0xf7,0xf7,0x01,0xea,
115    0x77,0xf0,0xbb,0x79,0x13,0xbf,0x9b,0xbb,0x32,0xef,0xea,0xbb,0x29,0xdf,0xed,0xde,
116    0x81,0xf7,0x64,0xde,0x81,0x3f,0x76,0xef,0xc0,0x7b,0xdc,0xfb,0x65,0xfa,0x1b,0x2c,
117    0xa8,0xdc,0xde,0x6d,0x0a,0x41,0xb1,0xbd,0xee,0x3d,0xd6,0xea,0xde,0x49,0xdc,0x7f,
118    0x7f,0x7d,0xe2,0xb8,0x86,0x7d,0x15,0xba,0xbf,0xdf,0xed,0x3e,0xfc,0x3a,0x28,0x0e,
119    0xbe,0x61,0xdf,0x04,0xc5,0x47,0x38,0xde,0xb7,0x41,0x71,0x7f,0x6f,0x7e,0x97,0x89,
120    0xbf,0x9a,0x3c,0xcb,0xe1,0xfb,0xa0,0x1c,0xbb,0x37,0x7f,0x70,0x36,0xec,0xcc,0xfd,
121    0x18,0x14,0xb7,0x7b,0xf3,0xac,0x7b,0x0f,0x82,0xec,0x84,0x8c,0x9f,0x58,0x4b,0xcc,
122    0xa6,0xf7,0x33,0xf5,0xec,0xde,0x3c,0xe3,0xf4,0x20,0x3b,0x25,0xe3,0x57,0xea,0xfd,
123    0xea,0xf4,0x7e,0xa3,0x9e,0xdd,0x9b,0xa7,0x9d,0x1e,0x64,0xbf,0xcb,0xf8,0x93,0x7a,
124    0x98,0xad,0x76,0x7f,0x05,0xcd,0xc7,0xee,0xcd,0xd3,0xe4,0xfc,0xee,0x38,0x7f,0x90,
125    0x13,0x33,0x9c,0xd3,0x7c,0x7f,0x04,0xe7,0xd3,0xa8,0xb6,0x60,0xfb,0x0f,0xfa,0x03,
126    0xf7,0x0c,0xb9,0xa7,0x9c,0xbd,0x5f,0x68,0xcf,0xee,0x55,0xe3,0x9c,0x71,0xf6,0x3e,
127    0x89,0x6a,0x13,0x3e,0x7e,0x61,0xde,0xe0,0x9e,0x25,0xf7,0x84,0xb3,0x77,0x92,0xf6,
128    0xec,0xde,0x35,0xce,0x59,0x67,0xef,0x60,0x54,0x9b,0xf0,0x71,0x92,0xf5,0xb7,0xfd,
129    0x3b,0xe7,0xce,0xc5,0x46,0x62,0xff,0x04,0xc5,0xf1,0x1f,0xcb,0x67,0xc4,0xce,0x07,
130    0xb5,0x03,0x99,0xdd,0x37,0xff,0x05,0xc5,0x9b,0xdd,0x7d,0x78,0x38,0x28,0xbe,0x8d,
131    0x7b,0x71,0xd4,0xed,0x05,0x64,0x47,0x64,0x1c,0x65,0x8c,0x47,0x98,0x57,0x17,0xd7,
132    0x47,0x19,0x17,0x7a,0x23,0xf2,0xde,0x29,0xf0,0xec,0xe1,0x7f,0x9a,0x5c,0xd4,0xff,
133    0x68,0xd6,0xf1,0xff,0x99,0xde,0x51,0x79,0xeb,0xf8,0xbf,0x48,0x3e,0xaa,0x6f,0xd4,
134    0x06,0xeb,0xa2,0xa8,0x1c,0xeb,0x17,0x60,0x7d,0x88,0x21,0xac,0xd9,0x92,0x05,0xfe,
135    0xd7,0x29,0x8e,0xca,0x85,0x2c,0xef,0xec,0xf5,0x8d,0xda,0x87,0x4d,0xfc,0xbd,0xdf,
136    0x2f,0x6a,0x0c,0xc5,0xfc,0x1e,0xed,0xcb,0x7b,0x12,0xff,0x2d,0xf4,0x8f,0x2a,0x4f,
137    0x92,0xee,0x7b,0xeb,0xf3,0x4c,0x2f,0xf9,0x7b,0xeb,0x8b,0xa0,0xf2,0xd9,0xb4,0x7d,
138    0x2c,0xa8,0x8d,0x4b,0x86,0xf4,0x24,0x64,0xc7,0x79,0x5e,0xca,0xf9,0xbf,0x10,0x74,
139    0x8f,0x65,0x6a,0xd7,0xc5,0xfd,0x06,0xff,0x10,0xef,0x3a,0xd4,0xf7,0x38,0xeb,0x6d,
140    0x77,0xdd,0xa1,0xcc,0x5d,0xd7,0x91,0xf9,0xed,0x82,0xf9,0xbc,0x78,0x1b,0x27,0xe3,
141    0x7f,0xaf,0x08,0xad,0xd2,0x68,0x17,0x00,0x00
142};
143
144// Generated from:
145//
146// #version 450 core
147//
148// #extension GL_GOOGLE_include_directive : require
149//
150// #line 1 "shaders/src/OverlayDraw.inc"
151//
152// #extension GL_EXT_samplerless_texture_functions : require
153//
154// struct TextWidgetData
155// {
156//     uvec4 coordinates;
157//     vec4 color;
158//     uvec4 fontSize;
159//     uvec4 text[256 / 16];
160// };
161//
162// struct GraphWidgetData
163// {
164//     uvec4 coordinates;
165//     vec4 color;
166//     uvec4 valueWidth;
167//     uvec4 values[256 / 4];
168// };
169//
170// layout(set = 0, binding = 0)uniform TextWidgets
171// {
172//     TextWidgetData textWidgetsData[32];
173// };
174//
175// layout(set = 0, binding = 1)uniform GraphWidgets
176// {
177//     GraphWidgetData graphWidgetsData[32];
178// };
179//
180// layout(set = 0, binding = 2)uniform texture2DArray font;
181//
182// layout(push_constant)uniform PushConstants
183// {
184//     uvec2 viewportSize;
185//
186//     bool isText;
187//
188//     bool rotateXY;
189// } params;
190// #line 18 "shaders/src/OverlayDraw.frag"
191//
192// layout(location = 0)flat in uint widgetIndex;
193// layout(location = 0)out vec4 color;
194//
195// uint getChar(const uvec2 coordInWidget, const uint fontGlyphWidth)
196// {
197//     const uint charIndex = coordInWidget . x / fontGlyphWidth;
198//     const uint packIndex = charIndex / 4;
199//     const uvec4 arrayItem = textWidgetsData[widgetIndex]. text[packIndex / 4];
200//     const uint col = packIndex % 4;
201//
202//     uint packedChars;
203//     if(col == 0)
204//     {
205//         packedChars = arrayItem[0];
206//     }
207//     else if(col == 1)
208//     {
209//         packedChars = arrayItem[1];
210//     }
211//     else if(col == 2)
212//     {
213//         packedChars = arrayItem[2];
214//     }
215//     else
216//     {
217//         packedChars = arrayItem[3];
218//     }
219//
220//     const uint shift =(charIndex % 4)* 8;
221//
222//     return(packedChars >> shift)& 0xFF;
223//
224// }
225//
226// float sampleFont(const uint textChar,
227//                  const uvec2 coordInWidget,
228//                  const uvec2 fontGlyphSize,
229//                  const uint fontMip)
230// {
231//     const uvec2 coordInGlyph = coordInWidget % fontGlyphSize;
232//     return texelFetch(font, ivec3(coordInGlyph, textChar), int(fontMip)). x;
233// }
234//
235// vec4 renderText(uvec2 coordInWidget)
236// {
237//     const uvec4 fontSizePacked = textWidgetsData[widgetIndex]. fontSize;
238//     const uvec2 fontGlyphSize = fontSizePacked . xy;
239//     const uint fontMip = fontSizePacked . z;
240//
241//     const uint textChar = getChar(coordInWidget, fontGlyphSize . x);
242//
243//     if(textChar >= 95)
244//     {
245//         return vec4(0);
246//     }
247//
248//     const float sampleValue = sampleFont(textChar, coordInWidget, fontGlyphSize, fontMip);
249//
250//     vec4 result = vec4(0, 0, 0, 0.4);
251//     result = mix(result, textWidgetsData[widgetIndex]. color, sampleValue);
252//
253//     return result;
254// }
255//
256// uint getValue(const uvec2 coordInWidget, const uint valueWidth)
257// {
258//     const uint valueIndex = coordInWidget . x / valueWidth . x;
259//     const uvec4 arrayItem = graphWidgetsData[widgetIndex]. values[valueIndex / 4];
260//     const uint col = valueIndex % 4;
261//
262//     if(col == 0)
263//     {
264//         return arrayItem[0];
265//     }
266//     else if(col == 1)
267//     {
268//         return arrayItem[1];
269//     }
270//     else if(col == 2)
271//     {
272//         return arrayItem[2];
273//     }
274//     else
275//     {
276//         return arrayItem[3];
277//     }
278// }
279//
280// vec4 renderGraph(uvec2 coordInWidget)
281// {
282//     const uvec4 widgetCoords = graphWidgetsData[widgetIndex]. coordinates;
283//
284//     if(coordInWidget . x == 0 || coordInWidget . y == 0 ||
285//         coordInWidget . x + 1 ==(widgetCoords . z - widgetCoords . x)||
286//         coordInWidget . y + 1 ==(widgetCoords . w - widgetCoords . y))
287//     {
288//         return vec4(0, 0, 0, 1);
289//     }
290//
291//     const uint valueWidth = graphWidgetsData[widgetIndex]. valueWidth . x;
292//
293//     const uint value = getValue(coordInWidget, valueWidth);
294//
295//     const uint widgetHeight = widgetCoords . w - widgetCoords . y;
296//
297//     bool indicateOverflow = value > widgetHeight && coordInWidget . y + 4 >= widgetHeight
298//             &&((coordInWidget . x ^ coordInWidget . y)& 1)== 0;
299//
300//     if((widgetHeight - coordInWidget . y)>= value || indicateOverflow)
301//     {
302//         return vec4(0);
303//     }
304//
305//     return graphWidgetsData[widgetIndex]. color;
306// }
307//
308// void main()
309// {
310//     const uvec4 widgetCoords = params . isText
311//         ? textWidgetsData[widgetIndex]. coordinates
312//         : graphWidgetsData[widgetIndex]. coordinates;
313//     uvec2 fragCoords = uvec2(floor(gl_FragCoord . xy));
314//
315//     if(params . rotateXY)
316//     {
317//
318//         fragCoords . x = params . viewportSize . x - 1 - fragCoords . x;
319//         fragCoords = fragCoords . yx;
320//     }
321//
322//     const uvec2 coordInWidget = fragCoords - widgetCoords . xy;
323//
324//     if(any(lessThan(coordInWidget, uvec2(0)))||
325//         any(greaterThanEqual(coordInWidget, widgetCoords . zw - widgetCoords . xy)))
326//     {
327//         color = vec4(1, 0, 1, 1);
328//         return;
329//     }
330//
331//     if(params . isText)
332//     {
333//         color = renderText(coordInWidget);
334//     }
335//     else
336//     {
337//         color = renderGraph(coordInWidget);
338//     }
339// }
340