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.00000002.inc:
9//   Pre-generated shader for the ANGLE Vulkan back-end.
10
11#pragma once
12constexpr uint8_t kOverlayCull_comp_00000002[] = {
13    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x94,0xdb,0x4b,0x94,0x51,
14    0x14,0xc5,0xf7,0x7c,0x33,0x8e,0x56,0x50,0xe6,0x14,0x62,0xde,0x2a,0xc1,0x17,0x45,
15    0x82,0x2e,0x04,0x21,0x93,0xf4,0x60,0xa8,0xe0,0x25,0x7a,0xeb,0x25,0xf2,0x36,0x92,
16    0x81,0xd6,0x43,0x82,0x92,0x65,0x17,0x93,0x6a,0x22,0xea,0xa9,0x07,0x93,0x30,0xb1,
17    0x46,0xb1,0x8c,0xd0,0x9e,0xfb,0x97,0xa2,0x12,0x82,0xf6,0x3e,0xf3,0xfb,0x6c,0x37,
18    0x34,0x70,0x38,0xee,0xcb,0x59,0x67,0xad,0xbd,0x8e,0x5f,0x32,0x6a,0x2a,0x97,0x64,
19    0x42,0xf6,0x4a,0x85,0x7c,0x95,0xe2,0xef,0xa0,0x44,0x92,0x60,0x6f,0x67,0xcf,0xea,
20    0xbe,0x4f,0xd2,0x21,0xdf,0xd9,0x73,0xa9,0xa7,0xed,0xe6,0xad,0xc1,0xb6,0x53,0xa7,
21    0x4f,0x58,0xff,0x7e,0x49,0x86,0x73,0x56,0x3b,0x20,0xe5,0x52,0xa6,0x7b,0x4a,0xd7,
22    0xf8,0xd5,0xdc,0x0d,0xcb,0x57,0xe9,0xea,0xd2,0x55,0xa9,0xe7,0x53,0x01,0x4f,0xe4,
23    0x28,0xfd,0x01,0x4f,0xb3,0x55,0x01,0x5f,0xa4,0x96,0xd8,0xf6,0x74,0x38,0x23,0x72,
24    0x51,0x11,0xeb,0xe0,0xd6,0xc4,0xde,0xa9,0x77,0x5a,0x2e,0xa2,0xbf,0x41,0xf7,0xe3,
25    0xbb,0xb5,0x62,0x7c,0xcc,0xe1,0x77,0x81,0x7f,0x84,0x38,0x57,0xd2,0x9f,0xa3,0x3f,
26    0xc6,0xb6,0xb8,0x86,0xda,0x24,0x67,0x2d,0xce,0xe8,0x8d,0x51,0xe8,0x4d,0x06,0xd5,
27    0xf6,0xf7,0x61,0xed,0x49,0xa3,0xc9,0x7e,0xd5,0x1a,0x97,0xc3,0x3f,0x22,0xae,0x24,
28    0x4e,0x86,0xbe,0x54,0x98,0x41,0x02,0x7d,0xe7,0x88,0xab,0xc8,0xb5,0x80,0x97,0x01,
29    0xcf,0xfa,0x0f,0x51,0x4b,0x83,0x57,0xcd,0xdf,0x29,0xd7,0x6f,0xda,0xce,0xeb,0xaa,
30    0x63,0x7e,0xd5,0xe4,0x1a,0x98,0x55,0x2d,0x58,0xf5,0xf0,0xaa,0xe3,0xee,0xfa,0xd0,
31    0xf3,0x57,0x4b,0xa3,0xf3,0xa7,0xc5,0xc5,0x31,0x97,0xa6,0x5d,0x5d,0xa2,0xbc,0x22,
32    0x69,0x86,0xd3,0x49,0xdd,0x9b,0xa9,0xc5,0x9c,0xb2,0x25,0x9a,0x2e,0x30,0x83,0x58,
33    0x73,0x57,0x49,0xbd,0x57,0x57,0x85,0x8b,0xfb,0xd0,0xd8,0xaa,0x6f,0xc0,0x66,0xda,
34    0x4f,0x4f,0x9f,0xeb,0xb9,0x02,0xbf,0x1a,0xd9,0x23,0x23,0xcc,0x25,0x21,0xff,0xfe,
35    0x22,0x34,0x1a,0xff,0x51,0x72,0x23,0xf0,0xb0,0x38,0xe7,0xbc,0xbb,0xae,0x7b,0x23,
36    0x67,0x5a,0x15,0xcd,0x3c,0x9a,0xe4,0x9e,0x2c,0xeb,0x8c,0xf2,0x89,0xe0,0x26,0x68,
37    0xfa,0xa9,0x19,0x7b,0xfb,0xed,0xf8,0xdd,0x8d,0xbe,0x5e,0x65,0x6e,0xdc,0x7b,0xc8,
38    0x75,0x73,0xc6,0x38,0xde,0x47,0xd7,0x00,0x75,0xd3,0x37,0x4b,0xee,0x32,0x79,0xcb,
39    0x75,0x68,0xce,0xde,0xc0,0x6d,0xde,0x49,0x86,0x7b,0x4c,0xeb,0x14,0xf9,0x0e,0x8d,
40    0xcc,0x9b,0xe9,0x5d,0xad,0xc5,0x5a,0x3b,0xef,0x65,0x86,0x5a,0xbf,0x62,0xd9,0xb9,
41    0x3b,0xe4,0xc4,0xe5,0xee,0x92,0x33,0x6d,0x1b,0x9a,0x33,0x3f,0xef,0xd1,0x6b,0xb5,
42    0x1f,0xaa,0x74,0x9e,0x33,0x3b,0x8a,0x6b,0xb5,0x39,0x5d,0xf3,0xe8,0x9f,0x73,0x7a,
43    0x1f,0x80,0x35,0xe3,0xf4,0x1a,0xa6,0xbd,0x93,0x87,0xd4,0x4d,0xe3,0x6b,0xc5,0xb1,
44    0x7b,0x1e,0x91,0xff,0xa5,0x38,0x31,0x9e,0xed,0xdf,0x15,0xcd,0xea,0x8f,0xe1,0x52,
45    0x46,0xef,0x1c,0x7c,0xf2,0x8e,0x8f,0xf5,0x2c,0xe8,0xca,0x73,0x7e,0xc1,0xf1,0x79,
46    0xe2,0xf8,0x44,0x78,0xb6,0x0e,0x9f,0xa7,0xd4,0x07,0x1c,0x9f,0x67,0xe4,0x8d,0x4f,
47    0x8c,0x97,0x77,0x7c,0x9e,0xc3,0x69,0x9e,0x5e,0xbb,0x6b,0x55,0xa7,0x68,0x73,0x7c,
48    0x41,0x3d,0x8b,0x57,0xdf,0x98,0xef,0x4b,0x6a,0xe6,0xcb,0x68,0xa2,0xd8,0xfb,0x8a,
49    0xff,0x0b,0xa1,0x3e,0x4b,0xef,0x22,0x6f,0x6e,0xca,0x79,0xfb,0xc6,0x79,0xbb,0xe8,
50    0xbc,0x5d,0xa2,0x16,0xfb,0xf8,0x96,0x9c,0xf7,0x76,0x99,0x9c,0xf7,0xf6,0x1d,0xbd,
51    0xcb,0xcc,0xb2,0xe0,0x66,0x69,0xb5,0x15,0x5d,0x05,0xb4,0xaf,0xb8,0x59,0xae,0x82,
52    0xb5,0xf4,0x1f,0x6f,0xdf,0x53,0xf7,0xde,0x7e,0x20,0x6f,0xb3,0x8c,0xf1,0x0a,0x6e,
53    0x96,0x6b,0x70,0xc9,0xd3,0xbb,0x02,0x9f,0x4d,0xc7,0x67,0x2d,0xf8,0x25,0x21,0x67,
54    0xe7,0xd7,0x1d,0x9f,0x0d,0xc7,0xa7,0xd4,0xdb,0x8f,0xd4,0xbd,0xb7,0x9f,0xc8,0x1b,
55    0x9f,0x18,0x6f,0xd3,0xf1,0xf9,0x0c,0xa7,0x02,0xbd,0xeb,0xce,0xdb,0x2f,0xd4,0x4b,
56    0xbd,0xdd,0xa2,0xe6,0xbd,0xdd,0x76,0xde,0x6e,0x85,0x19,0x14,0xe7,0x3e,0x48,0x5f,
57    0x06,0x9d,0xc3,0x4e,0xa7,0xd5,0x86,0x74,0x0d,0xc3,0x6b,0x08,0x9f,0xed,0x7b,0x35,
58    0xc6,0xb7,0x6a,0x9a,0xef,0xd4,0x38,0xdf,0x8d,0x3e,0xe5,0x6d,0xef,0x60,0x82,0xf7,
59    0xb4,0x0d,0xb6,0xad,0x6b,0xda,0x3b,0x46,0xef,0x04,0x9a,0x63,0x6c,0xdb,0x7f,0xab,
60    0x7b,0x67,0x75,0xfd,0x01,0xe4,0x9e,0xfb,0xe2,0x0c,0x08,0x00,0x00
61};
62
63// Generated from:
64//
65// #version 450 core
66//
67// #extension GL_EXT_samplerless_texture_functions : require
68//
69// #extension GL_KHR_shader_subgroup_arithmetic : require
70//
71// layout(local_size_x = 32, local_size_y = 1, local_size_z = 1)in;
72//
73// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimage2D culledWidgetsOut;
74//
75// layout(set = 0, binding = 1)uniform WidgetCoordinates
76// {
77//     uvec4 coordinates[32 + 32];
78// };
79//
80// uvec2 cullWidgets(const uint offset, const uvec2 blockCoordLow, const uvec2 blockCoordHigh)
81// {
82//     const uint localId = gl_LocalInvocationID . x;
83//     const uvec4 widgetCoords = coordinates[offset + localId];
84//
85//     const bool intersects = widgetCoords . x < widgetCoords . z &&
86//                             all(lessThan(widgetCoords . xy, blockCoordHigh))&&
87//                             all(greaterThanEqual(widgetCoords . zw, blockCoordLow));
88//
89//     return uvec2(subgroupOr(uint(intersects)<< localId), 0);
90//
91// }
92//
93// void main()
94// {
95//
96//     const uvec2 outCoord = gl_WorkGroupID . xy;
97//     const uvec2 blockCoordLow = outCoord * uvec2(8, 4);
98//     const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 4);
99//
100//     uvec2 culledWidgets;
101//
102//     culledWidgets . x = cullWidgets(0, blockCoordLow, blockCoordHigh). x;
103//     culledWidgets . y = cullWidgets(32, blockCoordLow, blockCoordHigh). x;
104//
105//     if(gl_LocalInvocationID . x == 0)
106//     {
107//         imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0));
108//     }
109// }
110