1// GENERATED FILE - DO NOT EDIT. 2// Generated by gen_vk_internal_shaders.py. 3// 4// Copyright 2018 The ANGLE Project Authors. All rights reserved. 5// Use of this source code is governed by a BSD-style license that can be 6// found in the LICENSE file. 7// 8// shaders/gen/ConvertIndex.comp.00000002.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kConvertIndex_comp_00000002[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x95,0x4b,0x48,0x95,0x51, 14 0x10,0xc7,0xcf,0x77,0xef,0xf5,0xda,0x8b,0x1e,0xf4,0x32,0x28,0xb5,0x9b,0xb4,0x31, 15 0x42,0xe8,0x41,0x14,0x85,0x37,0x2b,0x03,0xad,0x45,0x65,0x96,0x54,0x50,0xdd,0x8d, 16 0x4a,0x6d,0x6a,0x61,0x94,0xd0,0x5a,0xb3,0x20,0x84,0x52,0xb3,0x16,0x05,0x81,0x65, 17 0x48,0x41,0xd0,0x03,0x7a,0xa8,0xb4,0xae,0xa8,0x08,0xac,0x95,0xb4,0xac,0xb0,0xa7, 18 0x45,0xd4,0xcc,0xf7,0xfd,0x8e,0x4c,0x1f,0x57,0x38,0x9c,0x6f,0xfe,0x33,0xff,0xff, 19 0xcc,0x99,0x39,0xf7,0x98,0x4c,0x2c,0x29,0x74,0x2e,0x70,0x53,0xdc,0x24,0x57,0x18, 20 0xb8,0xf0,0x6f,0x96,0x4b,0x38,0xfd,0x9c,0xea,0xd2,0xe1,0x5e,0x5d,0xbb,0xb3,0x76, 21 0xf9,0xb1,0xe3,0xb9,0xe5,0x2b,0x57,0x55,0xa8,0x7f,0xba,0x4b,0x86,0x71,0xea,0x9b, 22 0x21,0x31,0x05,0xb2,0xa7,0x64,0x1d,0x39,0xd8,0x78,0x54,0xf1,0xdd,0xb2,0x66,0x0a, 23 0x9e,0x0a,0xb5,0x9c,0xab,0x24,0x56,0xd7,0x56,0x89,0x9e,0x13,0xa5,0x71,0x4b,0xd8, 24 0x3d,0x16,0x80,0xa5,0x0c,0x96,0x00,0x9b,0x64,0xb0,0x24,0xd8,0x34,0x83,0xa5,0xc0, 25 0x66,0x6a,0xbd,0x12,0xe1,0xb9,0xd5,0xe2,0x29,0x96,0x3d,0x3d,0xa1,0x9b,0x72,0x25, 26 0xe4,0x2d,0x82,0x5f,0x12,0xab,0x47,0xf9,0x25,0xe4,0x51,0xfe,0x62,0xd9,0x33,0x13, 27 0xbe,0xc8,0x5e,0x4c,0xbd,0x6a,0x57,0xc6,0xf4,0xb3,0x31,0xfd,0x6c,0x1e,0xfd,0xac, 28 0xd1,0xaf,0x8a,0xe9,0x57,0xa1,0xef,0xeb,0xdf,0x1d,0xce,0xc2,0xb9,0x85,0xd8,0x6d, 29 0xff,0xe5,0x2b,0x70,0xed,0x79,0xf4,0xdb,0x8d,0x7e,0x47,0x4c,0xbf,0x03,0x7d,0x6f, 30 0x77,0xc7,0xf4,0x7a,0xf2,0xe8,0xf5,0x18,0xbd,0xde,0x98,0x5e,0x2f,0x7a,0xde,0x3f, 31 0x48,0xbd,0x0b,0x64,0xcd,0x96,0x53,0x24,0x42,0x7f,0x32,0xf4,0xeb,0xf7,0x5c,0x89, 32 0xd1,0x7c,0xa5,0x68,0x14,0xbb,0xc2,0x70,0x5e,0xe9,0x3c,0xab,0x54,0x62,0xe7,0xca, 33 0x3e,0x59,0x96,0xc6,0xac,0xc3,0x9e,0x07,0xa6,0x5a,0xf3,0xd1,0xd2,0x79,0x94,0x63, 34 0x17,0x61,0x2b,0x7f,0x01,0xb1,0xaa,0xb7,0x48,0xaa,0xf0,0xf7,0xa1,0x98,0x39,0x17, 35 0x13,0x57,0x4a,0x7d,0x25,0xe4,0x29,0x35,0x73,0xf0,0xba,0xfe,0xdc,0xde,0x2e,0xc3, 36 0xaf,0xfc,0xa5,0x7c,0xa7,0xf1,0x47,0x7b,0xd4,0x17,0x1f,0x5f,0x61,0x6c,0xf5,0xaf, 37 0x90,0xf5,0xd7,0xf8,0xd7,0x32,0x07,0xad,0xb3,0xd2,0xd4,0x99,0xe5,0x77,0xa4,0x79, 38 0x36,0x92,0x27,0x4b,0x9d,0x6a,0x57,0x99,0x3a,0x95,0x53,0x83,0x3d,0x5f,0xec,0x5d, 39 0xe8,0x24,0xe1,0xd7,0xd1,0x9b,0x5d,0xf0,0xeb,0xf8,0xcd,0x06,0x86,0x5f,0xcf,0x39, 40 0x35,0x7e,0x0f,0xbe,0x74,0x38,0x83,0x84,0x3b,0x68,0xe2,0x5a,0xf0,0x69,0xbd,0x6d, 41 0xa6,0x5e,0xbd,0x7f,0x6d,0xf0,0xcf,0x50,0x4b,0x3b,0xf9,0xd4,0xee,0x00,0x53,0x5e, 42 0xb7,0xe1,0xe9,0x3d,0xeb,0x86,0x77,0x89,0x98,0x1e,0x78,0x6a,0xf7,0xc6,0xce,0xf9, 43 0x88,0x7e,0x79,0xfb,0x29,0x7d,0x5a,0x26,0x96,0x9e,0x6f,0x10,0xac,0x85,0xe5,0xe3, 44 0x52,0x41,0xf4,0x56,0xac,0x96,0xfb,0x9e,0x40,0xc3,0xd1,0xa3,0x9f,0x82,0xe8,0x9b, 45 0xf6,0x43,0xac,0x21,0xf0,0xdf,0xf2,0xad,0x3d,0x19,0xc6,0x3f,0x1c,0xf6,0xbf,0x20, 46 0xbc,0x5b,0x9b,0xb8,0x8f,0x7a,0x37,0xd6,0xa3,0xbf,0x19,0x3c,0x2b,0x96,0xde,0x8b, 47 0x2d,0xcc,0x28,0x83,0xcf,0xc7,0x55,0xe3,0x3b,0x2d,0x5a,0x6a,0xd7,0xe2,0xaf,0x31, 48 0xdc,0x6d,0x86,0x5b,0x6b,0xb8,0xdb,0xf1,0x79,0xee,0x0e,0xb0,0x6a,0x6a,0xd3,0xb9, 49 0xed,0x65,0xb6,0xf5,0x86,0xd7,0x00,0xfe,0x14,0xde,0x3e,0x78,0x45,0x46,0x6b,0x3f, 50 0x71,0xea,0x1b,0x02,0x3b,0x00,0xae,0x71,0xb7,0x04,0xd3,0x7b,0x70,0x08,0x7c,0x07, 51 0xfd,0xca,0xd1,0xaf,0x5f,0x92,0x4b,0x7d,0x87,0x65,0xe5,0xe8,0x99,0x7e,0x8f,0xcb, 52 0x3e,0x84,0x9d,0x33,0x3a,0x8d,0xe8,0x6c,0x47,0xa7,0xd9,0xe8,0xa8,0xaf,0x49,0x56, 53 0x33,0xbc,0x26,0xd3,0xfb,0xe7,0xf4,0xbe,0xc8,0x9c,0xef,0x05,0xb8,0x3f,0xcb,0x4b, 54 0xb4,0x5f,0x98,0x33,0xbf,0x02,0x2f,0x33,0x7d,0x7e,0xcd,0xef,0x3d,0x83,0xdf,0xeb, 55 0xbd,0xc1,0xf7,0x0c,0xee,0x5b,0xb8,0xe5,0xa6,0x37,0x23,0xe0,0x15,0x26,0xc7,0x3b, 56 0xb8,0x23,0x86,0xfb,0x1e,0x7c,0x85,0xe1,0x8e,0x82,0x47,0xf7,0x2b,0xc2,0x3e,0x60, 57 0x8f,0xd2,0x33,0x7f,0x76,0xdd,0xbf,0xc9,0x7b,0xa9,0x31,0x05,0x41,0x14,0x93,0x23, 58 0xbe,0xc9,0x9c,0xf9,0x04,0x67,0xd6,0x3b,0x3f,0x40,0x8f,0x4f,0x82,0xfb,0x59,0xb5, 59 0x9a,0x1e,0xab,0xef,0x94,0xac,0x56,0xf2,0x9c,0x32,0x3d,0xfe,0x98,0xa7,0xc7,0x9f, 60 0xc0,0x7d,0xbe,0xcf,0x68,0x7f,0x32,0xe7,0x1f,0x03,0xb7,0x3d,0xfe,0x62,0x7a,0x3c, 61 0x66,0xf4,0xbe,0xe2,0xf3,0x7d,0xfa,0x0e,0xd7,0xf6,0x78,0x1c,0xdc,0xf6,0xf8,0x17, 62 0xdc,0x71,0xc3,0xfd,0x0d,0x6e,0x7b,0x1c,0x04,0x11,0xae,0xbf,0x7b,0xdf,0xe3,0x64, 63 0x10,0xf5,0x50,0x7d,0xda,0x63,0x7f,0xf6,0x56,0xd3,0xe3,0x34,0x31,0xcd,0xc4,0xdb, 64 0xbe,0x9c,0xa5,0x2f,0x65,0xe6,0x1c,0xe7,0xc0,0x7d,0x5f,0xce,0x83,0x35,0x98,0x1e, 65 0x74,0xf2,0xfe,0x65,0xf0,0x6f,0x90,0x59,0x74,0x92,0xab,0x8f,0x59,0x5d,0x80,0x53, 66 0xcf,0xac,0xba,0xcc,0xac,0xd4,0x77,0x51,0x56,0x17,0xf5,0x5e,0x34,0x35,0x5d,0xa6, 67 0xa6,0xb5,0xa6,0xa6,0x2b,0xe0,0xde,0xbe,0xca,0x9b,0xe3,0xeb,0xb9,0xc6,0xbb,0x9a, 68 0x21,0x56,0xeb,0xb9,0x46,0x9c,0x3f,0xc7,0x75,0x7c,0x2d,0x06,0xeb,0xe3,0xad,0x6a, 69 0x31,0x5a,0x37,0xcc,0x5b,0xd5,0x67,0x72,0xde,0xc4,0xe7,0xe3,0xfa,0x4d,0xce,0xeb, 70 0xe4,0xec,0x27,0xce,0xeb,0x0f,0x90,0xb3,0xc6,0xcc,0xf6,0x36,0x6f,0x84,0xcd,0x79, 71 0xc7,0x68,0x0d,0xa0,0x75,0x87,0x58,0xaf,0x75,0x17,0xad,0x72,0x83,0xdd,0xa3,0xfe, 72 0x72,0xa3,0x75,0xdf,0xd4,0x7f,0xcf,0xd4,0xff,0x00,0x9f,0x8f,0x7b,0x68,0x72,0xde, 73 0x25,0xe7,0x43,0xe2,0xbc,0xfe,0x63,0x72,0x3e,0x32,0xbc,0x27,0x86,0xf7,0x18,0xde, 74 0x13,0xe6,0xac,0x77,0xd0,0xcf,0xb4,0x2b,0xf6,0x56,0xea,0xfe,0x47,0xfe,0xd3,0xae, 75 0x91,0xf5,0x0f,0x58,0xb2,0x68,0xa4,0xb4,0x0b,0x00,0x00 76}; 77 78// Generated from: 79// 80// #version 450 core 81// 82// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in; 83// 84// layout(set = 0, binding = 0)buffer dst 85// { 86// 87// uint dstIndexBuf[]; 88// }; 89// 90// layout(set = 0, binding = 1)readonly buffer src 91// { 92// 93// uint srcIndexBuf[]; 94// }; 95// 96// layout(set = 0, binding = 2)readonly buffer srcIndirect 97// { 98// 99// uint srcIndirectBuf[]; 100// }; 101// 102// layout(set = 0, binding = 3)buffer dstIndirect 103// { 104// 105// uint dstIndirectBuf[]; 106// }; 107// 108// layout(push_constant)uniform PushConstants 109// { 110// 111// uint srcIndirectOffsetDiv4; 112// 113// uint srcIndexOffset; 114// 115// uint dstIndexBufOffsetDiv4; 116// 117// uint maxIndex; 118// 119// uint dstIndirectBufOffsetDiv4; 120// }; 121// 122// uint PullIndex(uint index) 123// { 124// uint srcIndex = index + srcIndexOffset; 125// uint srcBlock = srcIndexBuf[srcIndex >> 2]; 126// uint srcComponent =(srcIndex & 3); 127// 128// uint value =(srcBlock >>(srcComponent << 3))& 0xFF; 129// 130// return value; 131// } 132// 133// void PackIndexValue(uint srcValue, uint indexIndex, inout uint dstValue) 134// { 135// 136// dstValue |= srcValue <<(indexIndex << 4); 137// } 138// 139// void main() 140// { 141// 142// uint indexCount = srcIndirectBuf[srcIndirectOffsetDiv4]; 143// uint firstIndex = srcIndirectBuf[srcIndirectOffsetDiv4 + 2]; 144// uint endIndex = firstIndex + indexCount; 145// 146// uint index =((gl_GlobalInvocationID . x +(firstIndex >> 1))<< 1); 147// 148// if(index >= endIndex) 149// return; 150// 151// uint dstValue = 0; 152// 153// if(index >= firstIndex) 154// { 155// uint srcValue = PullIndex(index); 156// PackIndexValue(srcValue, 0, dstValue); 157// } 158// 159// if(index + 1 < endIndex) 160// { 161// uint srcValue = PullIndex(index + 1); 162// PackIndexValue(srcValue, 1, dstValue); 163// } 164// 165// dstIndexBuf[dstIndexBufOffsetDiv4 + gl_GlobalInvocationID . x]= dstValue; 166// 167// if(gl_GlobalInvocationID . x == 0) 168// { 169// dstIndirectBuf[dstIndirectBufOffsetDiv4]= srcIndirectBuf[srcIndirectOffsetDiv4]; 170// 171// dstIndirectBuf[dstIndirectBufOffsetDiv4 + 1]= srcIndirectBuf[srcIndirectOffsetDiv4 + 1]; 172// 173// dstIndirectBuf[dstIndirectBufOffsetDiv4 + 2]= firstIndex & 1; 174// 175// dstIndirectBuf[dstIndirectBufOffsetDiv4 + 3]= srcIndirectBuf[srcIndirectOffsetDiv4 + 3]; 176// dstIndirectBuf[dstIndirectBufOffsetDiv4 + 4]= 0; 177// } 178// 179// } 180