• 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/OverlayCull.comp.00000004.inc:
9//   Pre-generated shader for the ANGLE Vulkan back-end.
10
11#pragma once
12constexpr uint8_t kOverlayCull_comp_00000004[] = {
13    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x97,0x5b,0x4c,0x9c,0x55,
14    0x10,0xc7,0xcf,0xec,0xc2,0x82,0x25,0x42,0x29,0x95,0x05,0x6c,0x8c,0x96,0x6a,0x8c,
15    0x90,0xb5,0xb5,0xb6,0x85,0x68,0x89,0x4d,0x56,0xcb,0x03,0x2d,0x65,0x59,0xea,0x46,
16    0xca,0x65,0x53,0x62,0x2f,0x11,0x6d,0x8b,0x36,0xdc,0x12,0xfb,0x60,0x7c,0xf4,0x85,
17    0x9a,0xd8,0xa8,0x0f,0xbe,0x60,0xb4,0x50,0x1a,0x7d,0x68,0xdf,0x4a,0x52,0x34,0x4a,
18    0x54,0x6c,0x54,0x4c,0x8c,0x7d,0x10,0x0d,0x89,0xad,0x8d,0x8d,0xbd,0x58,0x7a,0xb1,
19    0xce,0x7c,0xe7,0x3f,0x30,0x7c,0x94,0xe4,0xe4,0xfb,0xe6,0x3f,0xe7,0xcc,0xfc,0xce,
20    0x39,0xdf,0x99,0xc3,0x46,0x23,0x95,0x79,0xce,0x91,0x5b,0xe6,0xf2,0xdd,0xc7,0xe4,
21    0x82,0xbf,0x62,0x17,0x71,0xf2,0x5a,0xe0,0x62,0xc1,0x73,0x6b,0x43,0x73,0x43,0xa2,
22    0xe7,0xf5,0xae,0xc4,0xd3,0x1b,0xd6,0x8a,0xbf,0xd0,0x45,0x83,0x7e,0xe2,0x2b,0x72,
23    0x79,0x2e,0x97,0x9f,0x39,0xdc,0xba,0xb3,0xfb,0x5e,0x15,0xbd,0x99,0xdb,0x10,0xb7,
24    0xe5,0x3c,0x3e,0x27,0x88,0xe7,0xdc,0xc3,0xe8,0x1f,0xc4,0x63,0xb5,0x39,0x88,0xef,
25    0xdc,0x83,0xb0,0x77,0xf1,0x33,0x16,0x8c,0x71,0xae,0x9e,0x23,0xb6,0x79,0x14,0x57,
26    0x89,0xe7,0x56,0xce,0x29,0x5a,0x04,0xfd,0x3b,0xf8,0xb9,0x7a,0xde,0xe7,0xed,0x47,
27    0x4c,0xfc,0x21,0xc4,0xaf,0x80,0x3d,0x16,0xea,0x3f,0x86,0xfe,0x1a,0x5b,0xec,0x72,
28    0xf8,0x4e,0x63,0xac,0xd8,0x25,0x9c,0x31,0x12,0xf4,0x8d,0x06,0xb3,0x96,0xf7,0x07,
29    0xb8,0x4f,0x0c,0x73,0x92,0xbf,0x38,0xdb,0x05,0xe0,0x17,0x7f,0x15,0xfc,0x2b,0x30,
30    0x9f,0x95,0xac,0x96,0x18,0x3d,0x8e,0xb1,0xab,0xd8,0x2e,0xc3,0x38,0xaf,0xe5,0x04,
31    0x39,0x65,0xcd,0x44,0x7f,0x06,0x76,0x05,0x34,0xf1,0xaf,0xc2,0x7b,0xcc,0xc4,0x93,
32    0x35,0xca,0x37,0x76,0x02,0x7d,0xd4,0xae,0x0d,0x71,0x25,0xb1,0x4e,0xc2,0xdd,0x84,
33    0x58,0x51,0xc4,0x4f,0xc1,0xd7,0x84,0xfc,0x29,0xec,0x27,0x99,0xf1,0x69,0xcc,0x5b,
34    0xfa,0xb7,0xc0,0x17,0x43,0xbc,0x0c,0xde,0x6d,0xfe,0x56,0x6e,0xcf,0x61,0xbe,0xb2,
35    0xcf,0x19,0x68,0x0f,0x61,0x4f,0x77,0x21,0x56,0x3b,0x38,0xdb,0x90,0x5b,0xec,0x0e,
36    0xb3,0xe6,0x9d,0xe6,0x3b,0xaa,0x82,0x9d,0x35,0x2c,0x5d,0xe8,0x9b,0x01,0xcb,0xa1,
37    0x60,0xff,0xbc,0x56,0xcd,0xdf,0x94,0xec,0xd1,0x9b,0xe0,0x4f,0x9b,0xf9,0x0d,0x21,
38    0xa6,0xf6,0x79,0x0f,0x6b,0x9a,0x08,0xbe,0x81,0xfb,0xdc,0x28,0xe6,0x84,0xe3,0x31,
39    0xff,0x17,0x09,0xe6,0xe0,0x73,0x9f,0x80,0x36,0x8a,0xb8,0x62,0x8f,0x99,0xef,0xe3,
40    0x33,0x7e,0x76,0xce,0xb3,0xc4,0x82,0xf5,0x3d,0x8d,0x7d,0x4f,0xce,0xef,0x49,0x34,
41    0xc8,0x3f,0xcc,0x89,0x36,0x32,0x4b,0x04,0xeb,0xe8,0xb0,0x3f,0x37,0x58,0x91,0xb3,
42    0xb6,0x19,0xfb,0x76,0x14,0xec,0x8d,0x7c,0x06,0x65,0xdc,0xbb,0xd0,0x8e,0x62,0x8c,
43    0xf0,0xbe,0x85,0x39,0x1d,0x83,0x5f,0xe6,0x76,0x04,0xda,0x07,0xd0,0x45,0xdb,0xc2,
44    0x9a,0xec,0xe5,0x19,0xec,0x77,0x1a,0x79,0x64,0xde,0xe3,0xd0,0xb7,0xb0,0x25,0x6b,
45    0x7c,0x16,0xfb,0x92,0x85,0x6f,0x33,0xf6,0x7d,0x02,0xbe,0x26,0x8e,0x25,0xe3,0xbe,
46    0x84,0xe6,0x8c,0xf6,0x15,0x34,0x99,0xdb,0x49,0xd6,0x64,0x7f,0xbe,0x46,0x5f,0xf1,
47    0xfd,0xcb,0x33,0x9d,0xc2,0x98,0x9b,0x1c,0x57,0x7c,0x93,0xdc,0xa6,0x30,0xff,0x49,
48    0x33,0xdf,0x6f,0x10,0x6b,0xc2,0xcc,0x57,0x62,0xca,0xbe,0x7f,0x0b,0xbf,0xcc,0xf1,
49    0x7d,0x8e,0x23,0x79,0xbe,0x83,0x3e,0xc7,0x71,0x34,0x9e,0x3c,0xaf,0x71,0x3c,0xf1,
50    0x7f,0x0f,0x96,0x5c,0xf4,0x9d,0x04,0xcf,0xb4,0xe1,0x91,0x3e,0xe7,0xb8,0x4d,0x63,
51    0xfc,0x39,0xc3,0xf3,0x83,0xe1,0x89,0x60,0xcf,0x4e,0x80,0xe7,0x47,0xf8,0x8f,0x19,
52    0x9e,0x9f,0xa0,0x0b,0x8f,0xc6,0x9b,0x36,0x3c,0x3f,0x83,0x69,0x0a,0x7d,0x25,0xd7,
53    0x27,0xbc,0x8a,0xb2,0x8e,0xbf,0xc0,0x9f,0xc4,0x5e,0x4d,0x60,0x7d,0x7f,0x85,0x6f,
54    0x1c,0x7b,0x2a,0xf5,0xe2,0x3c,0x6a,0x88,0x68,0x75,0x4c,0x75,0x1e,0xfd,0x74,0xfd,
55    0xff,0x84,0x6f,0x05,0xe6,0x5b,0x41,0x0b,0xf3,0x15,0xdf,0x05,0x19,0x4f,0x9e,0xef,
56    0x02,0xbe,0x1f,0xc9,0x75,0xd1,0x8c,0xd3,0x5c,0x7f,0x21,0xd7,0x45,0xf3,0xfd,0x5c,
57    0x82,0xae,0xf6,0xdf,0x60,0xfa,0x02,0x71,0x2e,0x43,0xbb,0x64,0xf8,0x2e,0x1b,0xbe,
58    0x7f,0x90,0xa7,0x12,0x7c,0xe5,0x86,0x4f,0x7c,0x57,0xe4,0x9c,0x82,0xef,0x8a,0xe1,
59    0xbb,0x6a,0xc6,0x29,0xdf,0x35,0xf0,0x5d,0x35,0x3c,0xd7,0xa1,0xab,0x7d,0x23,0xc4,
60    0x37,0x07,0xed,0xba,0xe1,0x9b,0x33,0x7c,0xb7,0x90,0x27,0x01,0xbe,0x32,0xc3,0x27,
61    0xbe,0xdb,0x52,0xcf,0xc1,0x77,0xdb,0xf0,0xdd,0x31,0xe3,0x94,0xef,0x3f,0xf0,0xdd,
62    0x31,0x3c,0x77,0xa1,0xab,0x4d,0xb4,0x98,0x2f,0x42,0x5e,0xbb,0x6b,0xf8,0x44,0x53,
63    0xbe,0x1c,0xf2,0x79,0x6a,0xc1,0x17,0x37,0x7c,0xe2,0xcb,0xe5,0x16,0x07,0x9f,0xbc,
64    0x2b,0x5f,0xcc,0x8c,0x53,0xbe,0x3c,0xf2,0x7c,0xe2,0x53,0x9e,0x7c,0xf2,0xba,0xda,
65    0xcb,0x42,0x7c,0x05,0xe4,0x35,0xe9,0xa7,0x7c,0x05,0x86,0xef,0x7e,0xe4,0x49,0x82,
66    0xaf,0xd4,0xf0,0x89,0xaf,0x90,0x5b,0x29,0xf8,0x0a,0x0d,0x5f,0x91,0x19,0xa7,0x7c,
67    0xcb,0xc1,0x57,0x64,0x78,0x8a,0xc9,0xeb,0x6a,0x97,0x84,0xf8,0x56,0x92,0xd7,0x8a,
68    0x0d,0x9f,0x68,0x72,0x2e,0x35,0x6f,0x29,0x6c,0x5d,0xa7,0x38,0x6c,0xdd,0xd7,0x32,
69    0xd8,0xfa,0x1d,0x96,0xc3,0xd6,0x73,0x23,0xcf,0x4f,0x31,0xdf,0xdf,0xb0,0xef,0x69,
70    0xcc,0x77,0xd6,0xd4,0x17,0xf1,0xcd,0x70,0x9b,0x45,0x3d,0x98,0x31,0x73,0xfb,0x1d,
71    0xdf,0x46,0xd6,0x7c,0x0b,0x7f,0x40,0x4f,0xb1,0x25,0x35,0xe8,0x08,0x79,0x6d,0x18,
72    0x6b,0x28,0x0c,0x1a,0x6b,0x16,0xb5,0x45,0xfa,0xbd,0x43,0xfe,0x2e,0x14,0x2e,0x19,
73    0x33,0x63,0x6a,0xf4,0x47,0xf0,0x3b,0xf3,0xad,0xae,0x21,0x7f,0x57,0x8d,0x9b,0x7b,
74    0xe0,0x51,0x5a,0xb8,0x07,0xd6,0xd0,0xc2,0x3d,0xf0,0x18,0x79,0x9f,0xc6,0x7b,0x9c,
75    0xbc,0x66,0xef,0x81,0x27,0xa0,0xd9,0x7b,0xa0,0x8a,0x7c,0x5f,0xf1,0xc9,0xba,0xac,
76    0x33,0xdf,0x81,0xf8,0xaa,0xb9,0xad,0xc3,0x7a,0xca,0xbb,0xd6,0xdd,0x04,0x62,0x69,
77    0x0e,0x7b,0x0f,0x3c,0x49,0xde,0x6f,0xef,0x81,0xb5,0xe4,0x75,0x59,0x1b,0x8d,0x27,
78    0x4f,0xad,0xbb,0x4f,0x91,0x67,0x99,0x45,0xdf,0x6a,0xf0,0xd4,0x18,0x1e,0xe9,0xb3,
79    0x9e,0x5b,0x0d,0xc6,0xaf,0x37,0x3c,0x1b,0x0c,0x4f,0xf8,0x1e,0xd8,0x48,0xde,0x6f,
80    0xef,0x81,0x4d,0xe4,0x75,0xe1,0xd1,0x78,0x35,0x86,0xa7,0x96,0x3c,0x93,0x30,0x6e,
81    0x42,0x5e,0xbd,0x07,0x9e,0x25,0xef,0x0f,0xdf,0x03,0x75,0xe4,0x7d,0xb6,0xe6,0xd7,
82    0x61,0x1e,0x83,0xa1,0xfa,0xde,0xc0,0xf6,0x20,0xf2,0x36,0x98,0xf3,0xb5,0x8d,0x96,
83    0xd6,0xf7,0xed,0x38,0x5f,0xdb,0xcc,0x79,0x6a,0x24,0xaf,0xab,0xdd,0x14,0x3a,0x5f,
84    0x29,0xf2,0x5a,0xa3,0x39,0x5f,0x29,0x73,0xfe,0xd3,0xb4,0xb8,0xbe,0x0f,0x18,0x3e,
85    0xf1,0xb5,0x70,0x1b,0x00,0x5f,0x8b,0xe1,0xdb,0x49,0x4b,0xeb,0xfb,0x8b,0xe0,0xdb,
86    0x69,0x78,0x32,0xe4,0x75,0xb5,0x5f,0x0a,0xf1,0xb5,0x92,0xd7,0x32,0x86,0xaf,0xd5,
87    0xf0,0xb5,0xd1,0xe2,0xfa,0xde,0x6f,0xf8,0xc4,0xd7,0xce,0xad,0x1f,0x7c,0xed,0x86,
88    0xaf,0x83,0x96,0xd6,0xf7,0x4e,0xf0,0x75,0x18,0x9e,0x2c,0x79,0x5d,0xed,0xdd,0x21,
89    0xbe,0x2e,0xf2,0x5a,0xd6,0xf0,0x75,0x19,0xbe,0x97,0x43,0xf5,0xbd,0xcf,0xf0,0x89,
90    0x6f,0x0f,0xb7,0x3e,0xf0,0xed,0x31,0x7c,0x7b,0xef,0x51,0xdf,0xf7,0x81,0x6f,0xaf,
91    0xe1,0xd9,0x4f,0x5e,0x57,0xfb,0x95,0x10,0x5f,0x37,0x79,0x6d,0xbf,0xe1,0xeb,0x36,
92    0x7c,0xaf,0x85,0xea,0x7b,0xaf,0xe1,0x13,0xdf,0x01,0x6e,0xbd,0xe0,0x3b,0x60,0xf8,
93    0x0e,0xde,0xa3,0xbe,0x1f,0x02,0xdf,0x41,0xc3,0xd3,0x43,0x5e,0x57,0xfb,0x8d,0x10,
94    0xdf,0x61,0xf2,0x5a,0x8f,0xe1,0x3b,0x8c,0xf3,0xa6,0x79,0x7b,0x61,0xeb,0x3a,0xf5,
95    0xc1,0xd6,0x7d,0xed,0x87,0xad,0xdf,0xe1,0x00,0x6c,0x3d,0x37,0x83,0x38,0x5b,0xf5,
96    0xb4,0xb8,0x96,0x27,0xd9,0xae,0x47,0x1f,0x79,0xd7,0x79,0x3c,0x4f,0x4b,0x6b,0xf9,
97    0x0b,0xe4,0x75,0xad,0xe5,0x6f,0x93,0xd7,0x6c,0x2d,0xd7,0x58,0xf5,0xb4,0x50,0xcb,
98    0x3f,0x44,0x2d,0x17,0x06,0x19,0x93,0x34,0xb5,0x77,0x18,0x7e,0x87,0xb5,0x1f,0x09,
99    0xdd,0x35,0xc7,0xb9,0x8d,0xe0,0x7e,0x38,0x0e,0x96,0xd1,0xa0,0x7e,0xfa,0xdf,0x2f,
100    0x83,0xf8,0xed,0xf2,0x39,0x7e,0x3f,0xec,0xe0,0x9c,0x52,0xe3,0x4f,0xe1,0x9e,0x18,
101    0x36,0xbf,0xa7,0x76,0x73,0xdf,0x93,0xe8,0x7b,0x0a,0xbc,0x1a,0x7b,0x24,0xf8,0x9f,
102    0x86,0x5c,0x0d,0xb7,0xff,0x01,0x0a,0x64,0x63,0x51,0x74,0x10,0x00,0x00
103};
104
105// Generated from:
106//
107// #version 450 core
108//
109// #extension GL_EXT_samplerless_texture_functions : require
110//
111// layout(local_size_x = 32, local_size_y = 1, local_size_z = 1)in;
112//
113// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimage2D culledWidgetsOut;
114//
115// layout(set = 0, binding = 1)uniform WidgetCoordinates
116// {
117//     uvec4 coordinates[32 + 32];
118// };
119//
120// shared uint intersectingWidgets[32];
121//
122// void accumulateWidgets(const uint localId)
123// {
124//
125//     if(localId < 16)
126//     {
127//         intersectingWidgets[localId]|= intersectingWidgets[localId + 16];
128//         if(localId < 8)
129//         {
130//             intersectingWidgets[localId]|= intersectingWidgets[localId + 8];
131//             if(localId < 4)
132//             {
133//                 intersectingWidgets[localId]|= intersectingWidgets[localId + 4];
134//                 if(localId < 2)
135//                 {
136//                     intersectingWidgets[localId]|= intersectingWidgets[localId + 2];
137//                     if(localId < 1)
138//                     {
139//                         intersectingWidgets[localId]|= intersectingWidgets[localId + 1];
140//                     }
141//                 }
142//             }
143//         }
144//     }
145// }
146//
147// uvec2 cullWidgets(const uint offset, const uvec2 blockCoordLow, const uvec2 blockCoordHigh)
148// {
149//     const uint localId = gl_LocalInvocationID . x;
150//     const uvec4 widgetCoords = coordinates[offset + localId];
151//
152//     const bool intersects = widgetCoords . x < widgetCoords . z &&
153//                             all(lessThan(widgetCoords . xy, blockCoordHigh))&&
154//                             all(greaterThanEqual(widgetCoords . zw, blockCoordLow));
155//
156//     uvec2 ballot = uvec2(0, 0);
157//
158//     intersectingWidgets[localId]= uint(intersects)<< localId;
159//     accumulateWidgets(localId);
160//     if(localId == 0)
161//     {
162//         ballot . x = intersectingWidgets[0];
163//     }
164//
165//     return ballot;
166//
167// }
168//
169// void main()
170// {
171//
172//     const uvec2 outCoord = gl_WorkGroupID . xy;
173//     const uvec2 blockCoordLow = outCoord * uvec2(8, 4);
174//     const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 4);
175//
176//     uvec2 culledWidgets;
177//
178//     culledWidgets . x = cullWidgets(0, blockCoordLow, blockCoordHigh). x;
179//     culledWidgets . y = cullWidgets(32, blockCoordLow, blockCoordHigh). x;
180//
181//     if(gl_LocalInvocationID . x == 0)
182//     {
183//         imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0));
184//     }
185// }
186