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
// 8.14.3766
#pragma once
const uint32_t kOverlayCull_comp_00000003[] = {
0x07230203,0x00010300,0x00080008,0x000000c3,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x0000003f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x00000063,0x00060010,0x00000004,0x00000011,0x00000040,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,0x00000063,
0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x00000079,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,0x00000063,0x0000000b,0x0000001a,0x00040047,
0x00000079,0x00000022,0x00000000,0x00040047,0x00000079,0x00000021,0x00000000,0x00030047,
0x00000079,0x00000019,0x00040047,0x00000082,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,0x00000040,0x00000020,0x0004002b,0x00000006,0x00000046,0x00000001,
0x0004002b,0x00000006,0x0000005a,0x00000003,0x0004003b,0x00000011,0x00000063,0x00000001,
0x0004002b,0x00000006,0x00000068,0x00000008,0x0005002c,0x00000007,0x00000069,0x00000068,
0x00000068,0x00090019,0x00000077,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,
0x00000002,0x0000001e,0x00040020,0x00000078,0x00000000,0x00000077,0x0004003b,0x00000078,
0x00000079,0x00000000,0x00040017,0x0000007c,0x0000001f,0x00000002,0x0006002c,0x00000010,
0x00000082,0x0000001a,0x00000046,0x00000046,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000010,0x00000064,0x00000063,0x0007004f,
0x00000007,0x00000065,0x00000064,0x00000064,0x00000000,0x00000001,0x00050084,0x00000007,
0x0000006a,0x00000065,0x00000069,0x00050080,0x00000007,0x0000006d,0x0000006a,0x00000069,
0x00050041,0x00000014,0x0000008c,0x00000012,0x00000013,0x0004003d,0x00000006,0x0000008d,
0x0000008c,0x00060041,0x00000023,0x00000090,0x0000001e,0x00000020,0x0000008d,0x0004003d,
0x00000017,0x00000091,0x00000090,0x00050051,0x00000006,0x00000093,0x00000091,0x00000000,
0x00050051,0x00000006,0x00000095,0x00000091,0x00000002,0x000500b0,0x00000026,0x00000096,
0x00000093,0x00000095,0x000300f7,0x0000009c,0x00000000,0x000400fa,0x00000096,0x00000097,
0x0000009c,0x000200f8,0x00000097,0x0007004f,0x00000007,0x00000099,0x00000091,0x00000091,
0x00000000,0x00000001,0x000500b0,0x00000033,0x0000009a,0x00000099,0x0000006d,0x0004009b,
0x00000026,0x0000009b,0x0000009a,0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x000700f5,
0x00000026,0x0000009d,0x00000096,0x00000005,0x0000009b,0x00000097,0x000300f7,0x000000a3,
0x00000000,0x000400fa,0x0000009d,0x0000009e,0x000000a3,0x000200f8,0x0000009e,0x0007004f,
0x00000007,0x000000a0,0x00000091,0x00000091,0x00000002,0x00000003,0x000500ae,0x00000033,
0x000000a1,0x000000a0,0x0000006a,0x0004009b,0x00000026,0x000000a2,0x000000a1,0x000200f9,
0x000000a3,0x000200f8,0x000000a3,0x000700f5,0x00000026,0x000000a4,0x0000009d,0x0000009c,
0x000000a2,0x0000009e,0x000500b0,0x00000026,0x000000a6,0x0000008d,0x00000040,0x000300f7,
0x000000ad,0x00000000,0x000400fa,0x000000a6,0x000000a7,0x000000ac,0x000200f8,0x000000a7,
0x000600a9,0x00000006,0x000000a9,0x000000a4,0x00000046,0x00000013,0x000500c4,0x00000006,
0x000000ab,0x000000a9,0x0000008d,0x000200f9,0x000000ad,0x000200f8,0x000000ac,0x000200f9,
0x000000ad,0x000200f8,0x000000ad,0x000700f5,0x00000006,0x000000c1,0x000000ab,0x000000a7,
0x00000013,0x000000ac,0x000500ae,0x00000026,0x000000b0,0x0000008d,0x00000040,0x000300f7,
0x000000b8,0x00000000,0x000400fa,0x000000b0,0x000000b1,0x000000b7,0x000200f8,0x000000b1,
0x000600a9,0x00000006,0x000000b3,0x000000a4,0x00000046,0x00000013,0x00050082,0x00000006,
0x000000b5,0x0000008d,0x00000040,0x000500c4,0x00000006,0x000000b6,0x000000b3,0x000000b5,
0x000200f9,0x000000b8,0x000200f8,0x000000b7,0x000200f9,0x000000b8,0x000200f8,0x000000b8,
0x000700f5,0x00000006,0x000000c2,0x000000b6,0x000000b1,0x00000013,0x000000b7,0x00060168,
0x00000006,0x000000bb,0x0000005a,0x00000000,0x000000c1,0x00060168,0x00000006,0x000000bd,
0x0000005a,0x00000000,0x000000c2,0x000500aa,0x00000026,0x00000074,0x0000008d,0x00000013,
0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000076,0x000200f8,
0x00000075,0x0004003d,0x00000077,0x0000007a,0x00000079,0x0004007c,0x0000007c,0x0000007d,
0x00000065,0x00070050,0x00000017,0x00000081,0x000000bb,0x000000bd,0x00000013,0x00000013,
0x00040063,0x0000007a,0x0000007d,0x00000081,0x000200f9,0x00000076,0x000200f8,0x00000076,
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 = 64, 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));
//
// const uint textWidgetBit =
// localId < 32 ? uint(intersects)<< localId : 0;
// const uint graphWidgetBit =
// localId >= 32 ? uint(intersects)<<(localId - 32): 0;
// return uvec2(subgroupOr(textWidgetBit), subgroupOr(graphWidgetBit));
//
// }
//
// void main()
// {
//
// const uvec2 outCoord = gl_WorkGroupID . xy;
// const uvec2 blockCoordLow = outCoord * uvec2(8, 8);
// const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 8);
//
// uvec2 culledWidgets;
//
// culledWidgets = cullWidgets(0, blockCoordLow, blockCoordHigh);
//
// if(gl_LocalInvocationID . x == 0)
// {
// imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0));
// }
// }