1 // 7.12.3226 2 #pragma once 3const uint32_t kOverlayCull_comp_00000004[] = { 4 0x07230203,0x00010000,0x00080007,0x000000b9,0x00000000,0x00020011,0x00000001,0x0006000b, 5 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, 6 0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000053,0x00000093,0x00060010, 7 0x00000004,0x00000011,0x00000020,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, 8 0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572, 9 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005, 10 0x00000009,0x75636361,0x616c756d,0x69576574,0x74656764,0x31752873,0x0000003b,0x00040005, 11 0x00000008,0x61636f6c,0x0064496c,0x00080005,0x00000010,0x6c6c7563,0x67646957,0x28737465, 12 0x763b3175,0x763b3275,0x003b3275,0x00040005,0x0000000d,0x7366666f,0x00007465,0x00060005, 13 0x0000000e,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000000f,0x636f6c62, 14 0x6f6f436b,0x69486472,0x00006867,0x00070005,0x0000001a,0x65746e69,0x63657372,0x676e6974, 15 0x67646957,0x00737465,0x00040005,0x00000050,0x61636f6c,0x0064496c,0x00080005,0x00000053, 16 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00060005,0x0000005a, 17 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,0x0000005d,0x67646957,0x6f437465, 18 0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,0x726f6f63,0x616e6964, 19 0x00736574,0x00030005,0x0000005f,0x00000000,0x00050005,0x00000068,0x65746e69,0x63657372, 20 0x00007374,0x00040005,0x0000007e,0x6c6c6162,0x0000746f,0x00050005,0x00000092,0x4374756f, 21 0x64726f6f,0x00000000,0x00060005,0x00000093,0x575f6c67,0x476b726f,0x70756f72,0x00004449, 22 0x00060005,0x00000096,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000009a, 23 0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00060005,0x0000009d,0x6c6c7563,0x69576465, 24 0x74656764,0x00000073,0x00070005,0x000000af,0x6c6c7563,0x69576465,0x74656764,0x74754f73, 25 0x00000000,0x00040047,0x00000053,0x0000000b,0x0000001b,0x00040047,0x0000005c,0x00000006, 26 0x00000010,0x00050048,0x0000005d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000005d, 27 0x00000002,0x00040047,0x0000005f,0x00000022,0x00000000,0x00040047,0x0000005f,0x00000021, 28 0x00000001,0x00040047,0x00000093,0x0000000b,0x0000001a,0x00040047,0x000000af,0x00000022, 29 0x00000000,0x00040047,0x000000af,0x00000021,0x00000000,0x00030047,0x000000af,0x00000019, 30 0x00040047,0x000000b8,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003, 31 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040021,0x00000007,0x00000002, 32 0x00000006,0x00040017,0x0000000b,0x00000006,0x00000002,0x00060021,0x0000000c,0x0000000b, 33 0x00000006,0x0000000b,0x0000000b,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014, 34 0x00000013,0x0004002b,0x00000006,0x00000017,0x00000020,0x0004001c,0x00000018,0x00000006, 35 0x00000017,0x00040020,0x00000019,0x00000004,0x00000018,0x0004003b,0x00000019,0x0000001a, 36 0x00000004,0x00040020,0x0000001c,0x00000004,0x00000006,0x0004002b,0x00000006,0x00000023, 37 0x00000008,0x0004002b,0x00000006,0x0000002e,0x00000004,0x0004002b,0x00000006,0x00000039, 38 0x00000002,0x0004002b,0x00000006,0x00000044,0x00000001,0x00040020,0x0000004f,0x00000007, 39 0x00000006,0x00040017,0x00000051,0x00000006,0x00000003,0x00040020,0x00000052,0x00000001, 40 0x00000051,0x0004003b,0x00000052,0x00000053,0x00000001,0x0004002b,0x00000006,0x00000054, 41 0x00000000,0x00040020,0x00000055,0x00000001,0x00000006,0x00040017,0x00000058,0x00000006, 42 0x00000004,0x00040020,0x00000059,0x00000007,0x00000058,0x0004002b,0x00000006,0x0000005b, 43 0x00000040,0x0004001c,0x0000005c,0x00000058,0x0000005b,0x0003001e,0x0000005d,0x0000005c, 44 0x00040020,0x0000005e,0x00000002,0x0000005d,0x0004003b,0x0000005e,0x0000005f,0x00000002, 45 0x00040015,0x00000060,0x00000020,0x00000001,0x0004002b,0x00000060,0x00000061,0x00000000, 46 0x00040020,0x00000064,0x00000002,0x00000058,0x00040020,0x00000067,0x00000007,0x00000013, 47 0x00040017,0x00000072,0x00000013,0x00000002,0x00040020,0x0000007d,0x00000007,0x0000000b, 48 0x0005002c,0x0000000b,0x0000007f,0x00000054,0x00000054,0x0004003b,0x00000052,0x00000093, 49 0x00000001,0x0005002c,0x0000000b,0x00000098,0x00000023,0x0000002e,0x00090019,0x000000ad, 50 0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020, 51 0x000000ae,0x00000000,0x000000ad,0x0004003b,0x000000ae,0x000000af,0x00000000,0x00040017, 52 0x000000b2,0x00000060,0x00000002,0x0006002c,0x00000051,0x000000b8,0x00000017,0x00000044, 53 0x00000044,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005, 54 0x0004003b,0x0000007d,0x00000092,0x00000007,0x0004003b,0x0000007d,0x00000096,0x00000007, 55 0x0004003b,0x0000007d,0x0000009a,0x00000007,0x0004003b,0x0000007d,0x0000009d,0x00000007, 56 0x0004003d,0x00000051,0x00000094,0x00000093,0x0007004f,0x0000000b,0x00000095,0x00000094, 57 0x00000094,0x00000000,0x00000001,0x0003003e,0x00000092,0x00000095,0x0004003d,0x0000000b, 58 0x00000097,0x00000092,0x00050084,0x0000000b,0x00000099,0x00000097,0x00000098,0x0003003e, 59 0x00000096,0x00000099,0x0004003d,0x0000000b,0x0000009b,0x00000096,0x00050080,0x0000000b, 60 0x0000009c,0x0000009b,0x00000098,0x0003003e,0x0000009a,0x0000009c,0x0004003d,0x0000000b, 61 0x0000009e,0x00000096,0x0004003d,0x0000000b,0x0000009f,0x0000009a,0x00070039,0x0000000b, 62 0x000000a0,0x00000010,0x00000054,0x0000009e,0x0000009f,0x00050051,0x00000006,0x000000a1, 63 0x000000a0,0x00000000,0x00050041,0x0000004f,0x000000a2,0x0000009d,0x00000054,0x0003003e, 64 0x000000a2,0x000000a1,0x0004003d,0x0000000b,0x000000a3,0x00000096,0x0004003d,0x0000000b, 65 0x000000a4,0x0000009a,0x00070039,0x0000000b,0x000000a5,0x00000010,0x00000017,0x000000a3, 66 0x000000a4,0x00050051,0x00000006,0x000000a6,0x000000a5,0x00000000,0x00050041,0x0000004f, 67 0x000000a7,0x0000009d,0x00000044,0x0003003e,0x000000a7,0x000000a6,0x00050041,0x00000055, 68 0x000000a8,0x00000053,0x00000054,0x0004003d,0x00000006,0x000000a9,0x000000a8,0x000500aa, 69 0x00000013,0x000000aa,0x000000a9,0x00000054,0x000300f7,0x000000ac,0x00000000,0x000400fa, 70 0x000000aa,0x000000ab,0x000000ac,0x000200f8,0x000000ab,0x0004003d,0x000000ad,0x000000b0, 71 0x000000af,0x0004003d,0x0000000b,0x000000b1,0x00000092,0x0004007c,0x000000b2,0x000000b3, 72 0x000000b1,0x0004003d,0x0000000b,0x000000b4,0x0000009d,0x00050051,0x00000006,0x000000b5, 73 0x000000b4,0x00000000,0x00050051,0x00000006,0x000000b6,0x000000b4,0x00000001,0x00070050, 74 0x00000058,0x000000b7,0x000000b5,0x000000b6,0x00000054,0x00000054,0x00040063,0x000000b0, 75 0x000000b3,0x000000b7,0x000200f9,0x000000ac,0x000200f8,0x000000ac,0x000100fd,0x00010038, 76 0x00050036,0x00000002,0x00000009,0x00000000,0x00000007,0x00030037,0x00000006,0x00000008, 77 0x000200f8,0x0000000a,0x000500b0,0x00000013,0x00000014,0x00000008,0x00000012,0x000300f7, 78 0x00000016,0x00000000,0x000400fa,0x00000014,0x00000015,0x00000016,0x000200f8,0x00000015, 79 0x00050080,0x00000006,0x0000001b,0x00000008,0x00000012,0x00050041,0x0000001c,0x0000001d, 80 0x0000001a,0x0000001b,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000001c, 81 0x0000001f,0x0000001a,0x00000008,0x0004003d,0x00000006,0x00000020,0x0000001f,0x000500c5, 82 0x00000006,0x00000021,0x00000020,0x0000001e,0x00050041,0x0000001c,0x00000022,0x0000001a, 83 0x00000008,0x0003003e,0x00000022,0x00000021,0x000500b0,0x00000013,0x00000024,0x00000008, 84 0x00000023,0x000300f7,0x00000026,0x00000000,0x000400fa,0x00000024,0x00000025,0x00000026, 85 0x000200f8,0x00000025,0x00050080,0x00000006,0x00000027,0x00000008,0x00000023,0x00050041, 86 0x0000001c,0x00000028,0x0000001a,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000028, 87 0x00050041,0x0000001c,0x0000002a,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000002b, 88 0x0000002a,0x000500c5,0x00000006,0x0000002c,0x0000002b,0x00000029,0x00050041,0x0000001c, 89 0x0000002d,0x0000001a,0x00000008,0x0003003e,0x0000002d,0x0000002c,0x000500b0,0x00000013, 90 0x0000002f,0x00000008,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f, 91 0x00000030,0x00000031,0x000200f8,0x00000030,0x00050080,0x00000006,0x00000032,0x00000008, 92 0x0000002e,0x00050041,0x0000001c,0x00000033,0x0000001a,0x00000032,0x0004003d,0x00000006, 93 0x00000034,0x00000033,0x00050041,0x0000001c,0x00000035,0x0000001a,0x00000008,0x0004003d, 94 0x00000006,0x00000036,0x00000035,0x000500c5,0x00000006,0x00000037,0x00000036,0x00000034, 95 0x00050041,0x0000001c,0x00000038,0x0000001a,0x00000008,0x0003003e,0x00000038,0x00000037, 96 0x000500b0,0x00000013,0x0000003a,0x00000008,0x00000039,0x000300f7,0x0000003c,0x00000000, 97 0x000400fa,0x0000003a,0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x00050080,0x00000006, 98 0x0000003d,0x00000008,0x00000039,0x00050041,0x0000001c,0x0000003e,0x0000001a,0x0000003d, 99 0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050041,0x0000001c,0x00000040,0x0000001a, 100 0x00000008,0x0004003d,0x00000006,0x00000041,0x00000040,0x000500c5,0x00000006,0x00000042, 101 0x00000041,0x0000003f,0x00050041,0x0000001c,0x00000043,0x0000001a,0x00000008,0x0003003e, 102 0x00000043,0x00000042,0x000500b0,0x00000013,0x00000045,0x00000008,0x00000044,0x000300f7, 103 0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046, 104 0x00050080,0x00000006,0x00000048,0x00000008,0x00000044,0x00050041,0x0000001c,0x00000049, 105 0x0000001a,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050041,0x0000001c, 106 0x0000004b,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500c5, 107 0x00000006,0x0000004d,0x0000004c,0x0000004a,0x00050041,0x0000001c,0x0000004e,0x0000001a, 108 0x00000008,0x0003003e,0x0000004e,0x0000004d,0x000200f9,0x00000047,0x000200f8,0x00000047, 109 0x000200f9,0x0000003c,0x000200f8,0x0000003c,0x000200f9,0x00000031,0x000200f8,0x00000031, 110 0x000200f9,0x00000026,0x000200f8,0x00000026,0x000200f9,0x00000016,0x000200f8,0x00000016, 111 0x000100fd,0x00010038,0x00050036,0x0000000b,0x00000010,0x00000000,0x0000000c,0x00030037, 112 0x00000006,0x0000000d,0x00030037,0x0000000b,0x0000000e,0x00030037,0x0000000b,0x0000000f, 113 0x000200f8,0x00000011,0x0004003b,0x0000004f,0x00000050,0x00000007,0x0004003b,0x00000059, 114 0x0000005a,0x00000007,0x0004003b,0x00000067,0x00000068,0x00000007,0x0004003b,0x0000007d, 115 0x0000007e,0x00000007,0x00050041,0x00000055,0x00000056,0x00000053,0x00000054,0x0004003d, 116 0x00000006,0x00000057,0x00000056,0x0003003e,0x00000050,0x00000057,0x0004003d,0x00000006, 117 0x00000062,0x00000050,0x00050080,0x00000006,0x00000063,0x0000000d,0x00000062,0x00060041, 118 0x00000064,0x00000065,0x0000005f,0x00000061,0x00000063,0x0004003d,0x00000058,0x00000066, 119 0x00000065,0x0003003e,0x0000005a,0x00000066,0x00050041,0x0000004f,0x00000069,0x0000005a, 120 0x00000054,0x0004003d,0x00000006,0x0000006a,0x00000069,0x00050041,0x0000004f,0x0000006b, 121 0x0000005a,0x00000039,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500b0,0x00000013, 122 0x0000006d,0x0000006a,0x0000006c,0x000300f7,0x0000006f,0x00000000,0x000400fa,0x0000006d, 123 0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,0x00000058,0x00000070,0x0000005a, 124 0x0007004f,0x0000000b,0x00000071,0x00000070,0x00000070,0x00000000,0x00000001,0x000500b0, 125 0x00000072,0x00000073,0x00000071,0x0000000f,0x0004009b,0x00000013,0x00000074,0x00000073, 126 0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000700f5,0x00000013,0x00000075,0x0000006d, 127 0x00000011,0x00000074,0x0000006e,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075, 128 0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x00000058,0x00000078,0x0000005a, 129 0x0007004f,0x0000000b,0x00000079,0x00000078,0x00000078,0x00000002,0x00000003,0x000500ae, 130 0x00000072,0x0000007a,0x00000079,0x0000000e,0x0004009b,0x00000013,0x0000007b,0x0000007a, 131 0x000200f9,0x00000077,0x000200f8,0x00000077,0x000700f5,0x00000013,0x0000007c,0x00000075, 132 0x0000006f,0x0000007b,0x00000076,0x0003003e,0x00000068,0x0000007c,0x0003003e,0x0000007e, 133 0x0000007f,0x0004003d,0x00000006,0x00000080,0x00000050,0x0004003d,0x00000013,0x00000081, 134 0x00000068,0x000600a9,0x00000006,0x00000082,0x00000081,0x00000044,0x00000054,0x0004003d, 135 0x00000006,0x00000083,0x00000050,0x000500c4,0x00000006,0x00000084,0x00000082,0x00000083, 136 0x00050041,0x0000001c,0x00000085,0x0000001a,0x00000080,0x0003003e,0x00000085,0x00000084, 137 0x0004003d,0x00000006,0x00000086,0x00000050,0x00050039,0x00000002,0x00000087,0x00000009, 138 0x00000086,0x0004003d,0x00000006,0x00000088,0x00000050,0x000500aa,0x00000013,0x00000089, 139 0x00000088,0x00000054,0x000300f7,0x0000008b,0x00000000,0x000400fa,0x00000089,0x0000008a, 140 0x0000008b,0x000200f8,0x0000008a,0x00050041,0x0000001c,0x0000008c,0x0000001a,0x00000061, 141 0x0004003d,0x00000006,0x0000008d,0x0000008c,0x00050041,0x0000004f,0x0000008e,0x0000007e, 142 0x00000054,0x0003003e,0x0000008e,0x0000008d,0x000200f9,0x0000008b,0x000200f8,0x0000008b, 143 0x0004003d,0x0000000b,0x0000008f,0x0000007e,0x000200fe,0x0000008f,0x00010038 144}; 145 146// Generated from: 147// 148// #version 450 core 149// 150// #extension GL_EXT_samplerless_texture_functions : require 151// 152// layout(local_size_x = 32, local_size_y = 1, local_size_z = 1)in; 153// 154// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimage2D culledWidgetsOut; 155// 156// layout(set = 0, binding = 1)uniform WidgetCoordinates 157// { 158// uvec4 coordinates[32 + 32]; 159// }; 160// 161// shared uint intersectingWidgets[32]; 162// 163// void accumulateWidgets(const uint localId) 164// { 165// 166// if(localId < 16) 167// { 168// intersectingWidgets[localId]|= intersectingWidgets[localId + 16]; 169// if(localId < 8) 170// { 171// intersectingWidgets[localId]|= intersectingWidgets[localId + 8]; 172// if(localId < 4) 173// { 174// intersectingWidgets[localId]|= intersectingWidgets[localId + 4]; 175// if(localId < 2) 176// { 177// intersectingWidgets[localId]|= intersectingWidgets[localId + 2]; 178// if(localId < 1) 179// { 180// intersectingWidgets[localId]|= intersectingWidgets[localId + 1]; 181// } 182// } 183// } 184// } 185// } 186// } 187// 188// uvec2 cullWidgets(const uint offset, const uvec2 blockCoordLow, const uvec2 blockCoordHigh) 189// { 190// const uint localId = gl_LocalInvocationID . x; 191// const uvec4 widgetCoords = coordinates[offset + localId]; 192// 193// const bool intersects = widgetCoords . x < widgetCoords . z && 194// all(lessThan(widgetCoords . xy, blockCoordHigh))&& 195// all(greaterThanEqual(widgetCoords . zw, blockCoordLow)); 196// 197// uvec2 ballot = uvec2(0, 0); 198// 199// intersectingWidgets[localId]= uint(intersects)<< localId; 200// accumulateWidgets(localId); 201// if(localId == 0) 202// { 203// ballot . x = intersectingWidgets[0]; 204// } 205// 206// return ballot; 207// 208// } 209// 210// void main() 211// { 212// 213// const uvec2 outCoord = gl_WorkGroupID . xy; 214// const uvec2 blockCoordLow = outCoord * uvec2(8, 4); 215// const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 4); 216// 217// uvec2 culledWidgets; 218// 219// culledWidgets . x = cullWidgets(0, blockCoordLow, blockCoordHigh). x; 220// culledWidgets . y = cullWidgets(32, blockCoordLow, blockCoordHigh). x; 221// 222// if(gl_LocalInvocationID . x == 0) 223// { 224// imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0)); 225// } 226// } 227