| // 7.12.3226 |
| #pragma once |
| const uint32_t kOverlayCull_comp_00000004[] = { |
| 0x07230203,0x00010000,0x00080007,0x000000b9,0x00000000,0x00020011,0x00000001,0x0006000b, |
| 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, |
| 0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000053,0x00000093,0x00060010, |
| 0x00000004,0x00000011,0x00000020,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, |
| 0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572, |
| 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005, |
| 0x00000009,0x75636361,0x616c756d,0x69576574,0x74656764,0x31752873,0x0000003b,0x00040005, |
| 0x00000008,0x61636f6c,0x0064496c,0x00080005,0x00000010,0x6c6c7563,0x67646957,0x28737465, |
| 0x763b3175,0x763b3275,0x003b3275,0x00040005,0x0000000d,0x7366666f,0x00007465,0x00060005, |
| 0x0000000e,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000000f,0x636f6c62, |
| 0x6f6f436b,0x69486472,0x00006867,0x00070005,0x0000001a,0x65746e69,0x63657372,0x676e6974, |
| 0x67646957,0x00737465,0x00040005,0x00000050,0x61636f6c,0x0064496c,0x00080005,0x00000053, |
| 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00060005,0x0000005a, |
| 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,0x0000005d,0x67646957,0x6f437465, |
| 0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,0x726f6f63,0x616e6964, |
| 0x00736574,0x00030005,0x0000005f,0x00000000,0x00050005,0x00000068,0x65746e69,0x63657372, |
| 0x00007374,0x00040005,0x0000007e,0x6c6c6162,0x0000746f,0x00050005,0x00000092,0x4374756f, |
| 0x64726f6f,0x00000000,0x00060005,0x00000093,0x575f6c67,0x476b726f,0x70756f72,0x00004449, |
| 0x00060005,0x00000096,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000009a, |
| 0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00060005,0x0000009d,0x6c6c7563,0x69576465, |
| 0x74656764,0x00000073,0x00070005,0x000000af,0x6c6c7563,0x69576465,0x74656764,0x74754f73, |
| 0x00000000,0x00040047,0x00000053,0x0000000b,0x0000001b,0x00040047,0x0000005c,0x00000006, |
| 0x00000010,0x00050048,0x0000005d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000005d, |
| 0x00000002,0x00040047,0x0000005f,0x00000022,0x00000000,0x00040047,0x0000005f,0x00000021, |
| 0x00000001,0x00040047,0x00000093,0x0000000b,0x0000001a,0x00040047,0x000000af,0x00000022, |
| 0x00000000,0x00040047,0x000000af,0x00000021,0x00000000,0x00030047,0x000000af,0x00000019, |
| 0x00040047,0x000000b8,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003, |
| 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040021,0x00000007,0x00000002, |
| 0x00000006,0x00040017,0x0000000b,0x00000006,0x00000002,0x00060021,0x0000000c,0x0000000b, |
| 0x00000006,0x0000000b,0x0000000b,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014, |
| 0x00000013,0x0004002b,0x00000006,0x00000017,0x00000020,0x0004001c,0x00000018,0x00000006, |
| 0x00000017,0x00040020,0x00000019,0x00000004,0x00000018,0x0004003b,0x00000019,0x0000001a, |
| 0x00000004,0x00040020,0x0000001c,0x00000004,0x00000006,0x0004002b,0x00000006,0x00000023, |
| 0x00000008,0x0004002b,0x00000006,0x0000002e,0x00000004,0x0004002b,0x00000006,0x00000039, |
| 0x00000002,0x0004002b,0x00000006,0x00000044,0x00000001,0x00040020,0x0000004f,0x00000007, |
| 0x00000006,0x00040017,0x00000051,0x00000006,0x00000003,0x00040020,0x00000052,0x00000001, |
| 0x00000051,0x0004003b,0x00000052,0x00000053,0x00000001,0x0004002b,0x00000006,0x00000054, |
| 0x00000000,0x00040020,0x00000055,0x00000001,0x00000006,0x00040017,0x00000058,0x00000006, |
| 0x00000004,0x00040020,0x00000059,0x00000007,0x00000058,0x0004002b,0x00000006,0x0000005b, |
| 0x00000040,0x0004001c,0x0000005c,0x00000058,0x0000005b,0x0003001e,0x0000005d,0x0000005c, |
| 0x00040020,0x0000005e,0x00000002,0x0000005d,0x0004003b,0x0000005e,0x0000005f,0x00000002, |
| 0x00040015,0x00000060,0x00000020,0x00000001,0x0004002b,0x00000060,0x00000061,0x00000000, |
| 0x00040020,0x00000064,0x00000002,0x00000058,0x00040020,0x00000067,0x00000007,0x00000013, |
| 0x00040017,0x00000072,0x00000013,0x00000002,0x00040020,0x0000007d,0x00000007,0x0000000b, |
| 0x0005002c,0x0000000b,0x0000007f,0x00000054,0x00000054,0x0004003b,0x00000052,0x00000093, |
| 0x00000001,0x0005002c,0x0000000b,0x00000098,0x00000023,0x0000002e,0x00090019,0x000000ad, |
| 0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020, |
| 0x000000ae,0x00000000,0x000000ad,0x0004003b,0x000000ae,0x000000af,0x00000000,0x00040017, |
| 0x000000b2,0x00000060,0x00000002,0x0006002c,0x00000051,0x000000b8,0x00000017,0x00000044, |
| 0x00000044,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005, |
| 0x0004003b,0x0000007d,0x00000092,0x00000007,0x0004003b,0x0000007d,0x00000096,0x00000007, |
| 0x0004003b,0x0000007d,0x0000009a,0x00000007,0x0004003b,0x0000007d,0x0000009d,0x00000007, |
| 0x0004003d,0x00000051,0x00000094,0x00000093,0x0007004f,0x0000000b,0x00000095,0x00000094, |
| 0x00000094,0x00000000,0x00000001,0x0003003e,0x00000092,0x00000095,0x0004003d,0x0000000b, |
| 0x00000097,0x00000092,0x00050084,0x0000000b,0x00000099,0x00000097,0x00000098,0x0003003e, |
| 0x00000096,0x00000099,0x0004003d,0x0000000b,0x0000009b,0x00000096,0x00050080,0x0000000b, |
| 0x0000009c,0x0000009b,0x00000098,0x0003003e,0x0000009a,0x0000009c,0x0004003d,0x0000000b, |
| 0x0000009e,0x00000096,0x0004003d,0x0000000b,0x0000009f,0x0000009a,0x00070039,0x0000000b, |
| 0x000000a0,0x00000010,0x00000054,0x0000009e,0x0000009f,0x00050051,0x00000006,0x000000a1, |
| 0x000000a0,0x00000000,0x00050041,0x0000004f,0x000000a2,0x0000009d,0x00000054,0x0003003e, |
| 0x000000a2,0x000000a1,0x0004003d,0x0000000b,0x000000a3,0x00000096,0x0004003d,0x0000000b, |
| 0x000000a4,0x0000009a,0x00070039,0x0000000b,0x000000a5,0x00000010,0x00000017,0x000000a3, |
| 0x000000a4,0x00050051,0x00000006,0x000000a6,0x000000a5,0x00000000,0x00050041,0x0000004f, |
| 0x000000a7,0x0000009d,0x00000044,0x0003003e,0x000000a7,0x000000a6,0x00050041,0x00000055, |
| 0x000000a8,0x00000053,0x00000054,0x0004003d,0x00000006,0x000000a9,0x000000a8,0x000500aa, |
| 0x00000013,0x000000aa,0x000000a9,0x00000054,0x000300f7,0x000000ac,0x00000000,0x000400fa, |
| 0x000000aa,0x000000ab,0x000000ac,0x000200f8,0x000000ab,0x0004003d,0x000000ad,0x000000b0, |
| 0x000000af,0x0004003d,0x0000000b,0x000000b1,0x00000092,0x0004007c,0x000000b2,0x000000b3, |
| 0x000000b1,0x0004003d,0x0000000b,0x000000b4,0x0000009d,0x00050051,0x00000006,0x000000b5, |
| 0x000000b4,0x00000000,0x00050051,0x00000006,0x000000b6,0x000000b4,0x00000001,0x00070050, |
| 0x00000058,0x000000b7,0x000000b5,0x000000b6,0x00000054,0x00000054,0x00040063,0x000000b0, |
| 0x000000b3,0x000000b7,0x000200f9,0x000000ac,0x000200f8,0x000000ac,0x000100fd,0x00010038, |
| 0x00050036,0x00000002,0x00000009,0x00000000,0x00000007,0x00030037,0x00000006,0x00000008, |
| 0x000200f8,0x0000000a,0x000500b0,0x00000013,0x00000014,0x00000008,0x00000012,0x000300f7, |
| 0x00000016,0x00000000,0x000400fa,0x00000014,0x00000015,0x00000016,0x000200f8,0x00000015, |
| 0x00050080,0x00000006,0x0000001b,0x00000008,0x00000012,0x00050041,0x0000001c,0x0000001d, |
| 0x0000001a,0x0000001b,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000001c, |
| 0x0000001f,0x0000001a,0x00000008,0x0004003d,0x00000006,0x00000020,0x0000001f,0x000500c5, |
| 0x00000006,0x00000021,0x00000020,0x0000001e,0x00050041,0x0000001c,0x00000022,0x0000001a, |
| 0x00000008,0x0003003e,0x00000022,0x00000021,0x000500b0,0x00000013,0x00000024,0x00000008, |
| 0x00000023,0x000300f7,0x00000026,0x00000000,0x000400fa,0x00000024,0x00000025,0x00000026, |
| 0x000200f8,0x00000025,0x00050080,0x00000006,0x00000027,0x00000008,0x00000023,0x00050041, |
| 0x0000001c,0x00000028,0x0000001a,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000028, |
| 0x00050041,0x0000001c,0x0000002a,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000002b, |
| 0x0000002a,0x000500c5,0x00000006,0x0000002c,0x0000002b,0x00000029,0x00050041,0x0000001c, |
| 0x0000002d,0x0000001a,0x00000008,0x0003003e,0x0000002d,0x0000002c,0x000500b0,0x00000013, |
| 0x0000002f,0x00000008,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f, |
| 0x00000030,0x00000031,0x000200f8,0x00000030,0x00050080,0x00000006,0x00000032,0x00000008, |
| 0x0000002e,0x00050041,0x0000001c,0x00000033,0x0000001a,0x00000032,0x0004003d,0x00000006, |
| 0x00000034,0x00000033,0x00050041,0x0000001c,0x00000035,0x0000001a,0x00000008,0x0004003d, |
| 0x00000006,0x00000036,0x00000035,0x000500c5,0x00000006,0x00000037,0x00000036,0x00000034, |
| 0x00050041,0x0000001c,0x00000038,0x0000001a,0x00000008,0x0003003e,0x00000038,0x00000037, |
| 0x000500b0,0x00000013,0x0000003a,0x00000008,0x00000039,0x000300f7,0x0000003c,0x00000000, |
| 0x000400fa,0x0000003a,0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x00050080,0x00000006, |
| 0x0000003d,0x00000008,0x00000039,0x00050041,0x0000001c,0x0000003e,0x0000001a,0x0000003d, |
| 0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050041,0x0000001c,0x00000040,0x0000001a, |
| 0x00000008,0x0004003d,0x00000006,0x00000041,0x00000040,0x000500c5,0x00000006,0x00000042, |
| 0x00000041,0x0000003f,0x00050041,0x0000001c,0x00000043,0x0000001a,0x00000008,0x0003003e, |
| 0x00000043,0x00000042,0x000500b0,0x00000013,0x00000045,0x00000008,0x00000044,0x000300f7, |
| 0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046, |
| 0x00050080,0x00000006,0x00000048,0x00000008,0x00000044,0x00050041,0x0000001c,0x00000049, |
| 0x0000001a,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050041,0x0000001c, |
| 0x0000004b,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500c5, |
| 0x00000006,0x0000004d,0x0000004c,0x0000004a,0x00050041,0x0000001c,0x0000004e,0x0000001a, |
| 0x00000008,0x0003003e,0x0000004e,0x0000004d,0x000200f9,0x00000047,0x000200f8,0x00000047, |
| 0x000200f9,0x0000003c,0x000200f8,0x0000003c,0x000200f9,0x00000031,0x000200f8,0x00000031, |
| 0x000200f9,0x00000026,0x000200f8,0x00000026,0x000200f9,0x00000016,0x000200f8,0x00000016, |
| 0x000100fd,0x00010038,0x00050036,0x0000000b,0x00000010,0x00000000,0x0000000c,0x00030037, |
| 0x00000006,0x0000000d,0x00030037,0x0000000b,0x0000000e,0x00030037,0x0000000b,0x0000000f, |
| 0x000200f8,0x00000011,0x0004003b,0x0000004f,0x00000050,0x00000007,0x0004003b,0x00000059, |
| 0x0000005a,0x00000007,0x0004003b,0x00000067,0x00000068,0x00000007,0x0004003b,0x0000007d, |
| 0x0000007e,0x00000007,0x00050041,0x00000055,0x00000056,0x00000053,0x00000054,0x0004003d, |
| 0x00000006,0x00000057,0x00000056,0x0003003e,0x00000050,0x00000057,0x0004003d,0x00000006, |
| 0x00000062,0x00000050,0x00050080,0x00000006,0x00000063,0x0000000d,0x00000062,0x00060041, |
| 0x00000064,0x00000065,0x0000005f,0x00000061,0x00000063,0x0004003d,0x00000058,0x00000066, |
| 0x00000065,0x0003003e,0x0000005a,0x00000066,0x00050041,0x0000004f,0x00000069,0x0000005a, |
| 0x00000054,0x0004003d,0x00000006,0x0000006a,0x00000069,0x00050041,0x0000004f,0x0000006b, |
| 0x0000005a,0x00000039,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500b0,0x00000013, |
| 0x0000006d,0x0000006a,0x0000006c,0x000300f7,0x0000006f,0x00000000,0x000400fa,0x0000006d, |
| 0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,0x00000058,0x00000070,0x0000005a, |
| 0x0007004f,0x0000000b,0x00000071,0x00000070,0x00000070,0x00000000,0x00000001,0x000500b0, |
| 0x00000072,0x00000073,0x00000071,0x0000000f,0x0004009b,0x00000013,0x00000074,0x00000073, |
| 0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000700f5,0x00000013,0x00000075,0x0000006d, |
| 0x00000011,0x00000074,0x0000006e,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075, |
| 0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x00000058,0x00000078,0x0000005a, |
| 0x0007004f,0x0000000b,0x00000079,0x00000078,0x00000078,0x00000002,0x00000003,0x000500ae, |
| 0x00000072,0x0000007a,0x00000079,0x0000000e,0x0004009b,0x00000013,0x0000007b,0x0000007a, |
| 0x000200f9,0x00000077,0x000200f8,0x00000077,0x000700f5,0x00000013,0x0000007c,0x00000075, |
| 0x0000006f,0x0000007b,0x00000076,0x0003003e,0x00000068,0x0000007c,0x0003003e,0x0000007e, |
| 0x0000007f,0x0004003d,0x00000006,0x00000080,0x00000050,0x0004003d,0x00000013,0x00000081, |
| 0x00000068,0x000600a9,0x00000006,0x00000082,0x00000081,0x00000044,0x00000054,0x0004003d, |
| 0x00000006,0x00000083,0x00000050,0x000500c4,0x00000006,0x00000084,0x00000082,0x00000083, |
| 0x00050041,0x0000001c,0x00000085,0x0000001a,0x00000080,0x0003003e,0x00000085,0x00000084, |
| 0x0004003d,0x00000006,0x00000086,0x00000050,0x00050039,0x00000002,0x00000087,0x00000009, |
| 0x00000086,0x0004003d,0x00000006,0x00000088,0x00000050,0x000500aa,0x00000013,0x00000089, |
| 0x00000088,0x00000054,0x000300f7,0x0000008b,0x00000000,0x000400fa,0x00000089,0x0000008a, |
| 0x0000008b,0x000200f8,0x0000008a,0x00050041,0x0000001c,0x0000008c,0x0000001a,0x00000061, |
| 0x0004003d,0x00000006,0x0000008d,0x0000008c,0x00050041,0x0000004f,0x0000008e,0x0000007e, |
| 0x00000054,0x0003003e,0x0000008e,0x0000008d,0x000200f9,0x0000008b,0x000200f8,0x0000008b, |
| 0x0004003d,0x0000000b,0x0000008f,0x0000007e,0x000200fe,0x0000008f,0x00010038 |
| }; |
| |
| // Generated from: |
| // |
| // #version 450 core |
| // |
| // #extension GL_EXT_samplerless_texture_functions : require |
| // |
| // layout(local_size_x = 32, local_size_y = 1, local_size_z = 1)in; |
| // |
| // layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimage2D culledWidgetsOut; |
| // |
| // layout(set = 0, binding = 1)uniform WidgetCoordinates |
| // { |
| // uvec4 coordinates[32 + 32]; |
| // }; |
| // |
| // shared uint intersectingWidgets[32]; |
| // |
| // void accumulateWidgets(const uint localId) |
| // { |
| // |
| // if(localId < 16) |
| // { |
| // intersectingWidgets[localId]|= intersectingWidgets[localId + 16]; |
| // if(localId < 8) |
| // { |
| // intersectingWidgets[localId]|= intersectingWidgets[localId + 8]; |
| // if(localId < 4) |
| // { |
| // intersectingWidgets[localId]|= intersectingWidgets[localId + 4]; |
| // if(localId < 2) |
| // { |
| // intersectingWidgets[localId]|= intersectingWidgets[localId + 2]; |
| // if(localId < 1) |
| // { |
| // intersectingWidgets[localId]|= intersectingWidgets[localId + 1]; |
| // } |
| // } |
| // } |
| // } |
| // } |
| // } |
| // |
| // uvec2 cullWidgets(const uint offset, const uvec2 blockCoordLow, const uvec2 blockCoordHigh) |
| // { |
| // const uint localId = gl_LocalInvocationID . x; |
| // const uvec4 widgetCoords = coordinates[offset + localId]; |
| // |
| // const bool intersects = widgetCoords . x < widgetCoords . z && |
| // all(lessThan(widgetCoords . xy, blockCoordHigh))&& |
| // all(greaterThanEqual(widgetCoords . zw, blockCoordLow)); |
| // |
| // uvec2 ballot = uvec2(0, 0); |
| // |
| // intersectingWidgets[localId]= uint(intersects)<< localId; |
| // accumulateWidgets(localId); |
| // if(localId == 0) |
| // { |
| // ballot . x = intersectingWidgets[0]; |
| // } |
| // |
| // return ballot; |
| // |
| // } |
| // |
| // void main() |
| // { |
| // |
| // const uvec2 outCoord = gl_WorkGroupID . xy; |
| // const uvec2 blockCoordLow = outCoord * uvec2(8, 4); |
| // const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 4); |
| // |
| // uvec2 culledWidgets; |
| // |
| // culledWidgets . x = cullWidgets(0, blockCoordLow, blockCoordHigh). x; |
| // culledWidgets . y = cullWidgets(32, blockCoordLow, blockCoordHigh). x; |
| // |
| // if(gl_LocalInvocationID . x == 0) |
| // { |
| // imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0)); |
| // } |
| // } |