Hash :
ac44f8c5
Author :
Date :
2020-06-05T23:30:53
Vulkan: Apply SPIR-V optimization to internal shaders Shaves about 40KB from binary size. Bug: angleproject:2022 Bug: angleproject:3432 Change-Id: I008c18e0040b1bafe022087113681e2ace6eb7b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616963 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
// 8.14.3766
#pragma once
const uint32_t kOverlayCull_comp_00000002[] = {
0x07230203,0x00010300,0x00080008,0x000000ba,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x0000003f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x0000004a,0x00060010,0x00000004,0x00000011,0x00000020,0x00000001,
0x00000001,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x000a0004,
0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x615f7075,0x68746972,0x6974656d,
0x00000063,0x00090004,0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,
0x63697361,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x00000012,
0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000001c,
0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,0x00000000,
0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00060005,0x0000004a,
0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x00000069,0x6c6c7563,0x69576465,
0x74656764,0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,
0x0000001b,0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,
0x00030047,0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,
0x0000001e,0x00000021,0x00000001,0x00040047,0x0000004a,0x0000000b,0x0000001a,0x00040047,
0x00000069,0x00000022,0x00000000,0x00040047,0x00000069,0x00000021,0x00000000,0x00030047,
0x00000069,0x00000019,0x00040047,0x00000072,0x0000000b,0x00000019,0x00020013,0x00000002,
0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
0x00000007,0x00000006,0x00000002,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,
0x00000011,0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004002b,
0x00000006,0x00000013,0x00000000,0x00040020,0x00000014,0x00000001,0x00000006,0x00040017,
0x00000017,0x00000006,0x00000004,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,
0x0000001b,0x00000017,0x0000001a,0x0003001e,0x0000001c,0x0000001b,0x00040020,0x0000001d,
0x00000002,0x0000001c,0x0004003b,0x0000001d,0x0000001e,0x00000002,0x00040015,0x0000001f,
0x00000020,0x00000001,0x0004002b,0x0000001f,0x00000020,0x00000000,0x00040020,0x00000023,
0x00000002,0x00000017,0x00020014,0x00000026,0x00040017,0x00000033,0x00000026,0x00000002,
0x0004002b,0x00000006,0x0000003f,0x00000001,0x0004002b,0x00000006,0x00000043,0x00000003,
0x0004003b,0x00000011,0x0000004a,0x00000001,0x0004002b,0x00000006,0x0000004f,0x00000008,
0x0004002b,0x00000006,0x00000050,0x00000004,0x0005002c,0x00000007,0x00000051,0x0000004f,
0x00000050,0x0004002b,0x00000006,0x0000005c,0x00000020,0x00090019,0x00000067,0x00000006,
0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000068,
0x00000000,0x00000067,0x0004003b,0x00000068,0x00000069,0x00000000,0x00040017,0x0000006c,
0x0000001f,0x00000002,0x0006002c,0x00000010,0x00000072,0x0000005c,0x0000003f,0x0000003f,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
0x00000010,0x0000004b,0x0000004a,0x0007004f,0x00000007,0x0000004c,0x0000004b,0x0000004b,
0x00000000,0x00000001,0x00050084,0x00000007,0x00000052,0x0000004c,0x00000051,0x00050080,
0x00000007,0x00000055,0x00000052,0x00000051,0x00050041,0x00000014,0x00000078,0x00000012,
0x00000013,0x0004003d,0x00000006,0x00000079,0x00000078,0x00060041,0x00000023,0x0000007c,
0x0000001e,0x00000020,0x00000079,0x0004003d,0x00000017,0x0000007d,0x0000007c,0x00050051,
0x00000006,0x0000007f,0x0000007d,0x00000000,0x00050051,0x00000006,0x00000081,0x0000007d,
0x00000002,0x000500b0,0x00000026,0x00000082,0x0000007f,0x00000081,0x000300f7,0x00000088,
0x00000000,0x000400fa,0x00000082,0x00000083,0x00000088,0x000200f8,0x00000083,0x0007004f,
0x00000007,0x00000085,0x0000007d,0x0000007d,0x00000000,0x00000001,0x000500b0,0x00000033,
0x00000086,0x00000085,0x00000055,0x0004009b,0x00000026,0x00000087,0x00000086,0x000200f9,
0x00000088,0x000200f8,0x00000088,0x000700f5,0x00000026,0x00000089,0x00000082,0x00000005,
0x00000087,0x00000083,0x000300f7,0x0000008f,0x00000000,0x000400fa,0x00000089,0x0000008a,
0x0000008f,0x000200f8,0x0000008a,0x0007004f,0x00000007,0x0000008c,0x0000007d,0x0000007d,
0x00000002,0x00000003,0x000500ae,0x00000033,0x0000008d,0x0000008c,0x00000052,0x0004009b,
0x00000026,0x0000008e,0x0000008d,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x000700f5,
0x00000026,0x00000090,0x00000089,0x00000088,0x0000008e,0x0000008a,0x000600a9,0x00000006,
0x00000092,0x00000090,0x0000003f,0x00000013,0x000500c4,0x00000006,0x00000094,0x00000092,
0x00000079,0x00060168,0x00000006,0x00000095,0x00000043,0x00000000,0x00000094,0x00050080,
0x00000006,0x0000009f,0x0000005c,0x00000079,0x00060041,0x00000023,0x000000a0,0x0000001e,
0x00000020,0x0000009f,0x0004003d,0x00000017,0x000000a1,0x000000a0,0x00050051,0x00000006,
0x000000a3,0x000000a1,0x00000000,0x00050051,0x00000006,0x000000a5,0x000000a1,0x00000002,
0x000500b0,0x00000026,0x000000a6,0x000000a3,0x000000a5,0x000300f7,0x000000ac,0x00000000,
0x000400fa,0x000000a6,0x000000a7,0x000000ac,0x000200f8,0x000000a7,0x0007004f,0x00000007,
0x000000a9,0x000000a1,0x000000a1,0x00000000,0x00000001,0x000500b0,0x00000033,0x000000aa,
0x000000a9,0x00000055,0x0004009b,0x00000026,0x000000ab,0x000000aa,0x000200f9,0x000000ac,
0x000200f8,0x000000ac,0x000700f5,0x00000026,0x000000ad,0x000000a6,0x0000008f,0x000000ab,
0x000000a7,0x000300f7,0x000000b3,0x00000000,0x000400fa,0x000000ad,0x000000ae,0x000000b3,
0x000200f8,0x000000ae,0x0007004f,0x00000007,0x000000b0,0x000000a1,0x000000a1,0x00000002,
0x00000003,0x000500ae,0x00000033,0x000000b1,0x000000b0,0x00000052,0x0004009b,0x00000026,
0x000000b2,0x000000b1,0x000200f9,0x000000b3,0x000200f8,0x000000b3,0x000700f5,0x00000026,
0x000000b4,0x000000ad,0x000000ac,0x000000b2,0x000000ae,0x000600a9,0x00000006,0x000000b6,
0x000000b4,0x0000003f,0x00000013,0x000500c4,0x00000006,0x000000b8,0x000000b6,0x00000079,
0x00060168,0x00000006,0x000000b9,0x00000043,0x00000000,0x000000b8,0x000500aa,0x00000026,
0x00000064,0x00000079,0x00000013,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,
0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x00000067,0x0000006a,0x00000069,
0x0004007c,0x0000006c,0x0000006d,0x0000004c,0x00070050,0x00000017,0x00000071,0x00000095,
0x000000b9,0x00000013,0x00000013,0x00040063,0x0000006a,0x0000006d,0x00000071,0x000200f9,
0x00000066,0x000200f8,0x00000066,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// #extension GL_EXT_samplerless_texture_functions : require
//
// #extension GL_KHR_shader_subgroup_arithmetic : 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];
// };
//
// 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));
//
// return uvec2(subgroupOr(uint(intersects)<< localId), 0);
//
// }
//
// 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));
// }
// }