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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
// 8.14.3766
#pragma once
const uint32_t kConvertIndexIndirectLineLoop_comp_00000002[] = {
0x07230203,0x00010000,0x00080008,0x00000109,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000042,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000012,0x00637273,0x00050006,0x00000012,
0x00000000,0x44637273,0x00617461,0x00030005,0x00000014,0x00000000,0x00030005,0x0000001e,
0x00747364,0x00050006,0x0000001e,0x00000000,0x44747364,0x00617461,0x00030005,0x00000020,
0x00000000,0x00060005,0x00000021,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00070006,
0x00000021,0x00000000,0x4f646d63,0x65736666,0x76694474,0x00000034,0x00080006,0x00000021,
0x00000001,0x43747364,0x664f646d,0x74657366,0x34766944,0x00000000,0x00070006,0x00000021,
0x00000002,0x4f747364,0x65736666,0x76694474,0x00000034,0x00080006,0x00000021,0x00000003,
0x65527369,0x72617473,0x616e4574,0x64656c62,0x00000000,0x00030005,0x00000023,0x00000000,
0x00030005,0x0000002e,0x00646d63,0x00050006,0x0000002e,0x00000000,0x44646d63,0x00617461,
0x00030005,0x00000030,0x00000000,0x00080005,0x00000042,0x475f6c67,0x61626f6c,0x766e496c,
0x7461636f,0x496e6f69,0x00000044,0x00040005,0x0000009e,0x43747364,0x0000646d,0x00060006,
0x0000009e,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,0x000000a0,0x00000000,
0x00040047,0x00000011,0x00000006,0x00000004,0x00040048,0x00000012,0x00000000,0x00000018,
0x00050048,0x00000012,0x00000000,0x00000023,0x00000000,0x00030047,0x00000012,0x00000003,
0x00040047,0x00000014,0x00000022,0x00000000,0x00040047,0x00000014,0x00000021,0x00000001,
0x00040047,0x0000001d,0x00000006,0x00000004,0x00050048,0x0000001e,0x00000000,0x00000023,
0x00000000,0x00030047,0x0000001e,0x00000003,0x00040047,0x00000020,0x00000022,0x00000000,
0x00040047,0x00000020,0x00000021,0x00000000,0x00050048,0x00000021,0x00000000,0x00000023,
0x00000000,0x00050048,0x00000021,0x00000001,0x00000023,0x00000004,0x00050048,0x00000021,
0x00000002,0x00000023,0x00000008,0x00050048,0x00000021,0x00000003,0x00000023,0x0000000c,
0x00030047,0x00000021,0x00000002,0x00040047,0x0000002d,0x00000006,0x00000004,0x00040048,
0x0000002e,0x00000000,0x00000018,0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,
0x00030047,0x0000002e,0x00000003,0x00040047,0x00000030,0x00000022,0x00000000,0x00040047,
0x00000030,0x00000021,0x00000002,0x00040047,0x00000042,0x0000000b,0x0000001c,0x00040047,
0x0000009d,0x00000006,0x00000004,0x00050048,0x0000009e,0x00000000,0x00000023,0x00000000,
0x00030047,0x0000009e,0x00000003,0x00040047,0x000000a0,0x00000022,0x00000000,0x00040047,
0x000000a0,0x00000021,0x00000003,0x00040047,0x000000c7,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x0003001d,0x00000011,0x00000006,0x0003001e,0x00000012,0x00000011,0x00040020,0x00000013,
0x00000002,0x00000012,0x0004003b,0x00000013,0x00000014,0x00000002,0x00040015,0x00000015,
0x00000020,0x00000001,0x0004002b,0x00000015,0x00000016,0x00000000,0x00040020,0x00000018,
0x00000002,0x00000006,0x0003001d,0x0000001d,0x00000006,0x0003001e,0x0000001e,0x0000001d,
0x00040020,0x0000001f,0x00000002,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000002,
0x0006001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000022,
0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x0004002b,0x00000015,
0x00000024,0x00000002,0x00040020,0x00000025,0x00000009,0x00000006,0x0003001d,0x0000002d,
0x00000006,0x0003001e,0x0000002e,0x0000002d,0x00040020,0x0000002f,0x00000002,0x0000002e,
0x0004003b,0x0000002f,0x00000030,0x00000002,0x0004002b,0x00000006,0x00000038,0x00000002,
0x00040017,0x00000040,0x00000006,0x00000003,0x00040020,0x00000041,0x00000001,0x00000040,
0x0004003b,0x00000041,0x00000042,0x00000001,0x0004002b,0x00000006,0x00000043,0x00000000,
0x00040020,0x00000044,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000047,0x00000001,
0x00020014,0x00000048,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x0004002b,0x00000015,
0x0000005f,0x00000001,0x0004002b,0x00000015,0x0000006a,0x00000003,0x0003001d,0x0000009d,
0x00000006,0x0003001e,0x0000009e,0x0000009d,0x00040020,0x0000009f,0x00000002,0x0000009e,
0x0004003b,0x0000009f,0x000000a0,0x00000002,0x0004002b,0x00000006,0x000000b4,0x00000003,
0x0004002b,0x00000006,0x000000be,0x00000004,0x0004002b,0x00000006,0x000000c6,0x00000040,
0x0006002c,0x00000040,0x000000c7,0x000000c6,0x00000047,0x00000047,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000c8,0x00000000,
0x000300fb,0x00000043,0x000000c9,0x000200f8,0x000000c9,0x00050041,0x00000025,0x00000031,
0x00000023,0x00000016,0x0004003d,0x00000006,0x00000032,0x00000031,0x00060041,0x00000018,
0x00000033,0x00000030,0x00000016,0x00000032,0x0004003d,0x00000006,0x00000034,0x00000033,
0x00050080,0x00000006,0x00000039,0x00000032,0x00000038,0x00060041,0x00000018,0x0000003a,
0x00000030,0x00000016,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050041,
0x00000044,0x00000045,0x00000042,0x00000043,0x0004003d,0x00000006,0x00000046,0x00000045,
0x000500ae,0x00000048,0x00000049,0x00000046,0x00000047,0x000300f7,0x0000004b,0x00000000,
0x000400fa,0x00000049,0x0000004a,0x0000004b,0x000200f8,0x0000004a,0x000200f9,0x000000c8,
0x000200f8,0x0000004b,0x000200f9,0x00000054,0x000200f8,0x00000054,0x000700f5,0x00000006,
0x000000f4,0x0000003b,0x0000004b,0x00000060,0x00000057,0x000700f5,0x00000006,0x000000f2,
0x00000043,0x0000004b,0x00000108,0x00000057,0x000700f5,0x00000006,0x000000f1,0x00000043,
0x0000004b,0x000000ff,0x00000057,0x000700f5,0x00000006,0x000000f0,0x00000043,0x0000004b,
0x000000fe,0x00000057,0x000700f5,0x00000006,0x000000ef,0x00000034,0x0000004b,0x00000069,
0x00000057,0x000500ac,0x00000048,0x0000005a,0x000000ef,0x00000043,0x000400f6,0x00000056,
0x00000057,0x00000000,0x000400fa,0x0000005a,0x00000055,0x00000056,0x000200f8,0x00000055,
0x00050080,0x00000006,0x00000060,0x000000f4,0x0000005f,0x00060041,0x00000018,0x000000d1,
0x00000014,0x00000016,0x000000f4,0x0004003d,0x00000006,0x000000d2,0x000000d1,0x000500aa,
0x00000048,0x00000064,0x000000f0,0x00000043,0x000200f9,0x00000066,0x000200f8,0x00000066,
0x000600a9,0x00000006,0x00000108,0x00000064,0x000000d2,0x000000f2,0x00050082,0x00000006,
0x00000069,0x000000ef,0x0000005f,0x00050041,0x00000025,0x0000006b,0x00000023,0x0000006a,
0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500aa,0x00000048,0x0000006d,0x0000006c,
0x00000047,0x000500aa,0x00000048,0x00000070,0x000000d2,0x0000005c,0x000500a7,0x00000048,
0x00000071,0x0000006d,0x00000070,0x000300f7,0x00000073,0x00000000,0x000400fa,0x00000071,
0x00000072,0x00000088,0x000200f8,0x00000072,0x000500ac,0x00000048,0x00000075,0x000000f0,
0x00000047,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,
0x000200f8,0x00000076,0x00050080,0x00000006,0x00000079,0x000000f1,0x0000005f,0x00050041,
0x00000025,0x000000d4,0x00000023,0x00000024,0x0004003d,0x00000006,0x000000d5,0x000000d4,
0x00050080,0x00000006,0x000000d7,0x000000d5,0x000000f1,0x00060041,0x00000018,0x000000d9,
0x00000020,0x00000016,0x000000d7,0x0003003e,0x000000d9,0x00000108,0x000200f9,0x00000077,
0x000200f8,0x00000077,0x000700f5,0x00000006,0x000000fa,0x000000f1,0x00000072,0x00000079,
0x00000076,0x000500ac,0x00000048,0x0000007f,0x000000f0,0x00000043,0x000300f7,0x00000081,
0x00000000,0x000400fa,0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,0x00050080,
0x00000006,0x00000083,0x000000fa,0x0000005f,0x00050041,0x00000025,0x000000db,0x00000023,
0x00000024,0x0004003d,0x00000006,0x000000dc,0x000000db,0x00050080,0x00000006,0x000000de,
0x000000dc,0x000000fa,0x00060041,0x00000018,0x000000e0,0x00000020,0x00000016,0x000000de,
0x0003003e,0x000000e0,0x0000005c,0x000200f9,0x00000081,0x000200f8,0x00000081,0x000700f5,
0x00000006,0x00000100,0x000000fa,0x00000077,0x00000083,0x00000080,0x000200f9,0x00000073,
0x000200f8,0x00000088,0x00050041,0x00000025,0x000000e2,0x00000023,0x00000024,0x0004003d,
0x00000006,0x000000e3,0x000000e2,0x00050080,0x00000006,0x000000e5,0x000000e3,0x000000f1,
0x00060041,0x00000018,0x000000e7,0x00000020,0x00000016,0x000000e5,0x0003003e,0x000000e7,
0x000000d2,0x00050080,0x00000006,0x0000008f,0x000000f1,0x0000005f,0x00050080,0x00000006,
0x00000091,0x000000f0,0x0000005f,0x000200f9,0x00000073,0x000200f8,0x00000073,0x000700f5,
0x00000006,0x000000ff,0x00000100,0x00000081,0x0000008f,0x00000088,0x000700f5,0x00000006,
0x000000fe,0x00000043,0x00000081,0x00000091,0x00000088,0x000200f9,0x00000057,0x000200f8,
0x00000057,0x000200f9,0x00000054,0x000200f8,0x00000056,0x000500ac,0x00000048,0x00000093,
0x000000f0,0x00000047,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,
0x00000095,0x000200f8,0x00000094,0x00050041,0x00000025,0x000000e9,0x00000023,0x00000024,
0x0004003d,0x00000006,0x000000ea,0x000000e9,0x00050080,0x00000006,0x000000ec,0x000000ea,
0x000000f1,0x00060041,0x00000018,0x000000ee,0x00000020,0x00000016,0x000000ec,0x0003003e,
0x000000ee,0x000000f2,0x00050080,0x00000006,0x0000009c,0x000000f1,0x0000005f,0x000200f9,
0x00000095,0x000200f8,0x00000095,0x000700f5,0x00000006,0x000000f3,0x000000f1,0x00000056,
0x0000009c,0x00000094,0x00050041,0x00000025,0x000000a1,0x00000023,0x0000005f,0x0004003d,
0x00000006,0x000000a2,0x000000a1,0x00060041,0x00000018,0x000000a4,0x000000a0,0x00000016,
0x000000a2,0x0003003e,0x000000a4,0x000000f3,0x00050080,0x00000006,0x000000a7,0x000000a2,
0x00000047,0x00050080,0x00000006,0x000000aa,0x00000032,0x00000047,0x00060041,0x00000018,
0x000000ab,0x00000030,0x00000016,0x000000aa,0x0004003d,0x00000006,0x000000ac,0x000000ab,
0x00060041,0x00000018,0x000000ad,0x000000a0,0x00000016,0x000000a7,0x0003003e,0x000000ad,
0x000000ac,0x00050080,0x00000006,0x000000b0,0x000000a2,0x00000038,0x00060041,0x00000018,
0x000000b1,0x000000a0,0x00000016,0x000000b0,0x0003003e,0x000000b1,0x00000043,0x00050080,
0x00000006,0x000000b5,0x000000a2,0x000000b4,0x00050080,0x00000006,0x000000b8,0x00000032,
0x000000b4,0x00060041,0x00000018,0x000000b9,0x00000030,0x00000016,0x000000b8,0x0004003d,
0x00000006,0x000000ba,0x000000b9,0x00060041,0x00000018,0x000000bb,0x000000a0,0x00000016,
0x000000b5,0x0003003e,0x000000bb,0x000000ba,0x00050080,0x00000006,0x000000bf,0x000000a2,
0x000000be,0x00050080,0x00000006,0x000000c2,0x00000032,0x000000be,0x00060041,0x00000018,
0x000000c3,0x00000030,0x00000016,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x000000c3,
0x00060041,0x00000018,0x000000c5,0x000000a0,0x00000016,0x000000bf,0x0003003e,0x000000c5,
0x000000c4,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0)buffer dst
// {
//
// uint dstData[];
// };
//
// layout(set = 0, binding = 1)readonly buffer src
// {
//
// uint srcData[];
// };
//
// layout(set = 0, binding = 2)readonly buffer cmd
// {
//
// uint cmdData[];
// };
//
// layout(set = 0, binding = 3)buffer dstCmd
// {
//
// uint dstCmdData[];
// };
//
// layout(push_constant)uniform PushConstants
// {
//
// uint cmdOffsetDiv4;
//
// uint dstCmdOffsetDiv4;
//
// uint dstOffsetDiv4;
//
// uint isRestartEnabled;
// };
//
// uint GetIndexValue(uint index)
// {
//
// return srcData[index];
//
// }
//
// void PutIndexValue(uint index, uint value)
// {
//
// dstData[dstOffsetDiv4 + index]= value;
//
// }
//
// void main()
// {
//
// uint indexCount = cmdData[cmdOffsetDiv4];
// uint firstIndex = cmdData[cmdOffsetDiv4 + 2];
// uint endIndex = firstIndex + indexCount;
//
// if(gl_GlobalInvocationID . x >= 1)
// return;
//
// uint workingCount = 0;
// uint srcIdx = firstIndex;
// uint indicesRemaining = indexCount;
// uint lineSize = 0;
// uint firstIndexValue = 0;
// while(indicesRemaining > 0)
// {
// uint indexValue;
// uint restartValue = 0xffffffff;
// indexValue = GetIndexValue(srcIdx ++);
// if(lineSize == 0)
// {
// firstIndexValue = indexValue;
// }
// indicesRemaining --;
// if((isRestartEnabled == 1)&&(indexValue == restartValue))
// {
//
// if(lineSize > 1)
// {
// PutIndexValue(workingCount ++, firstIndexValue);
// }
// if(lineSize > 0)
// {
// PutIndexValue(workingCount ++, restartValue);
// }
// lineSize = 0;
// } else {
// PutIndexValue(workingCount, indexValue);
// workingCount ++;
// lineSize ++;
// }
// }
// if(lineSize > 1)
// {
// PutIndexValue(workingCount, firstIndexValue);
// workingCount ++;
// }
//
// dstCmdData[dstCmdOffsetDiv4]= workingCount;
// dstCmdData[dstCmdOffsetDiv4 + 1]= cmdData[cmdOffsetDiv4 + 1];
// dstCmdData[dstCmdOffsetDiv4 + 2]= 0;
// dstCmdData[dstCmdOffsetDiv4 + 3]= cmdData[cmdOffsetDiv4 + 3];
// dstCmdData[dstCmdOffsetDiv4 + 4]= cmdData[cmdOffsetDiv4 + 4];
// }