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/ConvertVertex.comp.00000002.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kConvertVertex_comp_00000002[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x9d,0x57,0x6d,0x68,0x96,0x65, 14 0x14,0x7e,0xce,0xfd,0xee,0x7b,0xf3,0x2b,0xe7,0xe7,0x6c,0xba,0x99,0xf9,0xd9,0x58, 15 0xea,0x3b,0xa4,0x28,0xf3,0x8f,0xfa,0xc3,0x4c,0x10,0xfa,0xb3,0x5f,0x81,0x26,0x05, 16 0xda,0xfa,0xc0,0x32,0x9c,0x66,0x98,0x69,0x54,0x50,0x96,0x24,0x18,0x98,0x73,0x86, 17 0x89,0x65,0xe4,0x50,0x10,0xcc,0xcc,0x4a,0x69,0x60,0x16,0x92,0x43,0x48,0x64,0x7f, 18 0x5a,0xa4,0x65,0x51,0xce,0x42,0xea,0x5c,0xef,0xb9,0x4e,0x3b,0x7b,0xeb,0x57,0x83, 19 0x9b,0xe7,0x3d,0xd7,0xf9,0xb8,0xaf,0xf3,0xf1,0xdc,0xcf,0xbd,0x5c,0x9a,0x5c,0x9e, 20 0x65,0x92,0x55,0x65,0x15,0x59,0x4b,0xca,0x0a,0x7f,0x23,0xb2,0xa4,0x48,0x96,0x55, 21 0x67,0x65,0x85,0xe7,0xa2,0x25,0xcb,0x97,0x34,0x3d,0xf9,0xd4,0x8a,0xa6,0xb9,0xf9, 22 0x66,0xe8,0x87,0x66,0xb9,0x82,0x1d,0x74,0xc3,0xd4,0xa6,0x54,0x9f,0x25,0xba,0x56, 23 0x3f,0xf4,0xc8,0x1a,0xe0,0xd5,0xaa,0x18,0xae,0x78,0x49,0x21,0x56,0x96,0xdd,0x47, 24 0x5b,0xac,0xc5,0x6a,0x3d,0xd5,0xb6,0xc9,0x26,0xf3,0xe9,0x98,0x10,0x2b,0x09,0x58, 25 0x22,0x56,0x11,0xb0,0x1c,0xb1,0x9a,0x80,0x95,0x10,0x1b,0x1e,0xb0,0x52,0x62,0xb5, 26 0x01,0x2b,0x23,0x36,0x36,0x60,0xe5,0xc4,0x26,0x04,0xac,0x82,0xd8,0xa4,0x80,0x55, 27 0x12,0xbb,0x2d,0x60,0x55,0xc4,0xa6,0x05,0xac,0x9a,0xd8,0xac,0x80,0xd5,0x10,0x6b, 28 0x0e,0xd8,0x10,0x62,0x73,0x03,0x36,0x94,0xd8,0x3c,0xd4,0x5d,0x33,0xf5,0x1a,0x2c, 29 0xd2,0x0c,0x57,0x90,0xbf,0xd7,0x67,0x65,0x51,0x1d,0x61,0xbf,0x92,0xf5,0x81,0xfd, 30 0x2a,0x7d,0x36,0xfe,0xa3,0x33,0xb9,0x81,0x75,0x86,0x5c,0x2a,0x83,0xe3,0x95,0xc9, 31 0xbf,0xe3,0x01,0xf3,0x78,0x15,0x32,0x38,0x1e,0xe4,0x86,0x20,0xa3,0xef,0xd5,0xac, 32 0x23,0xe4,0xfb,0x29,0x8f,0xd3,0x35,0x52,0xb3,0x48,0x85,0xfd,0x73,0x85,0x78,0xf8, 33 0x3d,0x4a,0x6d,0xca,0x58,0xe3,0x8c,0xf2,0x08,0xca,0xa0,0x32,0x5a,0x2d,0xc7,0x50, 34 0xae,0x57,0x8d,0xf7,0xef,0xff,0xae,0x49,0x1a,0x7f,0x1a,0xfb,0x88,0x58,0x77,0x53, 35 0x9e,0x4e,0x6c,0x26,0xf7,0x9f,0x11,0xec,0x67,0x52,0x57,0x16,0xf4,0xcd,0x9c,0x2d, 36 0x97,0xf3,0xcc,0x67,0x26,0xf3,0xb9,0x87,0x35,0x75,0x79,0x3e,0xe7,0xc9,0xed,0x17, 37 0x16,0xc9,0xcb,0x68,0x5f,0xab,0x51,0x96,0x07,0xbf,0x07,0xd9,0x4b,0xb7,0x6b,0x65, 38 0x9d,0x6e,0x55,0xd4,0x67,0xa1,0x9e,0x3d,0x5f,0x41,0xbe,0x0f,0x93,0xcb,0x4a,0xe6, 39 0x07,0x79,0x15,0x31,0xe8,0x1f,0xe5,0xef,0x98,0xcf,0x6a,0xce,0xa2,0xef,0xdb,0xc6, 40 0x7d,0x5c,0xff,0x34,0xe7,0xdc,0xe5,0xf6,0x22,0x5e,0x1b,0x74,0xfd,0x95,0x1b,0x90, 41 0x37,0x71,0x8e,0x3d,0xde,0xd6,0xe0,0x0f,0x79,0x7b,0x51,0xbd,0xf6,0xb2,0xc7,0xee, 42 0xbf,0x1f,0xf1,0xf4,0xcf,0xe5,0x03,0x9c,0x07,0x97,0x8f,0xf1,0x7d,0x72,0xff,0xee, 43 0x22,0x7d,0x5f,0x51,0x3f,0x7f,0xe5,0xb9,0x00,0x19,0xf3,0xd4,0xcf,0xfc,0xc6,0xa8, 44 0x7c,0xa3,0xf0,0x34,0x3e,0xa8,0xab,0xbf,0x13,0xf5,0x9c,0x7d,0xc8,0xa8,0x5b,0xb9, 45 0xb0,0x6e,0x62,0x75,0x85,0x5c,0x41,0x0c,0x71,0x2a,0xe9,0x97,0x63,0x9d,0xab,0xc4, 46 0x38,0x55,0xd2,0x1e,0x72,0x35,0x31,0xe8,0x6b,0xf8,0x3b,0xf6,0x61,0x0a,0xdf,0x17, 47 0xcf,0x6b,0x89,0xd8,0xd9,0x39,0x4b,0x25,0xc4,0xc1,0xfb,0x04,0xac,0x9b,0x39,0xb7, 48 0xe8,0x14,0x26,0xce,0x4e,0xc6,0xbd,0xfb,0x15,0xc1,0x6c,0x5e,0x57,0x69,0x29,0xdf, 49 0xe7,0x3f,0xf5,0x37,0x7a,0xfa,0x80,0x98,0x1e,0xcf,0x05,0x6a,0x05,0x0e,0xa3,0xc8, 50 0xab,0xad,0x30,0xb7,0xb6,0xef,0x68,0xe2,0xb0,0xc1,0xfc,0x8f,0x11,0x7b,0x47,0x5a, 51 0x83,0xcd,0x58,0x31,0xfc,0x7d,0xb5,0xc1,0xcc,0x8e,0x13,0xf3,0x03,0x8e,0xbd,0xeb, 52 0xb8,0xf7,0x1f,0x6a,0x0f,0xdd,0x78,0x5d,0x75,0xdc,0x1f,0xbf,0x6f,0xe8,0x73,0x29, 53 0xe5,0x3a,0xca,0x13,0x29,0xe3,0xf9,0x9b,0x9e,0xca,0xd8,0x27,0x9f,0x8c,0x1b,0x6c, 54 0x16,0xe2,0xfc,0x09,0xba,0x89,0x41,0xb7,0x98,0x3a,0xe7,0x7c,0x3b,0x39,0xa3,0xa6, 55 0xce,0x79,0xaa,0x18,0x7e,0x88,0x9c,0xa7,0x89,0xc5,0x00,0xfe,0xbb,0xda,0x34,0x30, 56 0x86,0xf3,0x86,0x7e,0x12,0xce,0x38,0xf2,0xc2,0xef,0xcd,0x38,0x27,0x55,0xdf,0xc4, 57 0x7c,0xe1,0xfb,0x1c,0xb1,0x66,0x31,0x1c,0x31,0x9d,0xc7,0x6c,0xf2,0x38,0x10,0x6a, 58 0x37,0x47,0x0c,0xf7,0xda,0xcd,0x15,0xf3,0x9d,0xc3,0xda,0xb5,0x04,0x0e,0xd0,0xe5, 59 0x75,0xb5,0x90,0x43,0x9e,0xb5,0x72,0x4e,0x2d,0xf4,0xe9,0x2d,0xea,0xf5,0x1a,0xea, 60 0xd7,0x84,0x9a,0xb4,0x91,0xcb,0xc2,0xc0,0xe5,0x71,0x31,0x7c,0x0b,0x73,0x78,0x82, 61 0x5c,0x80,0x6f,0x23,0xb6,0x36,0x60,0x1e,0xeb,0x19,0xc6,0x5a,0x16,0x62,0xad,0x13, 62 0xc3,0x3d,0xaf,0x67,0xc5,0x7c,0xd7,0x85,0x9a,0xaf,0x27,0x86,0xb3,0xed,0x5d,0x62, 63 0xed,0x62,0xb6,0xeb,0x99,0xcb,0xc6,0x90,0x3f,0x74,0x1b,0x74,0x6d,0x64,0x3e,0x1b, 64 0x98,0x7f,0x2f,0xe5,0x8d,0x81,0xd3,0xf7,0xe4,0x34,0x23,0x70,0xea,0x13,0xc3,0xbd, 65 0x6f,0x3f,0x88,0xe5,0xd8,0x17,0xfc,0x7e,0xa4,0x5f,0x73,0xf0,0xbb,0x22,0x86,0xbb, 66 0xdf,0x55,0xf2,0xbe,0x12,0xfa,0xfd,0x93,0x58,0xbc,0xab,0x21,0xd6,0xcf,0x8c,0x95, 67 0x0f,0xb1,0xae,0x89,0xe1,0xee,0xf7,0x8b,0x98,0xef,0xb5,0x50,0xf7,0xcd,0x62,0x38, 68 0xbe,0x1d,0x0b,0x14,0xc1,0x39,0xfd,0x82,0xd8,0xd9,0xdd,0x4a,0xbd,0xc7,0xdb,0x22, 69 0xa6,0xf3,0x3d,0x5f,0xe4,0x9e,0xab,0xc3,0x9e,0x5b,0xc5,0xf0,0x03,0xac,0xf1,0x36, 70 0x31,0xac,0x8d,0x67,0xc3,0xd1,0x50,0x63,0xe8,0x5e,0xd2,0xb5,0x8f,0x35,0xc5,0xef, 71 0xf7,0xe8,0xf7,0x72,0xe8,0xd7,0x7e,0x8d,0x8c,0x73,0xea,0x15,0x31,0x3c,0xcf,0x6f, 72 0xc3,0x7a,0xee,0xf9,0xaa,0x98,0xce,0xed,0x5e,0xa3,0x5d,0x3b,0xbf,0x11,0x6e,0xf7, 73 0xba,0x98,0xce,0xf9,0x6f,0x27,0xff,0x4d,0x81,0xff,0x1b,0x62,0xb8,0xf3,0x7f,0x53, 74 0x0c,0x73,0xfe,0x9d,0x81,0x3f,0x74,0x3b,0x74,0xed,0x24,0xff,0x1d,0xa1,0x6f,0x6f, 75 0x89,0x7d,0x7f,0xd6,0x72,0x6e,0x3a,0x69,0xb3,0x93,0xb3,0xd6,0x11,0xe2,0x80,0xeb, 76 0x2e,0x5d,0x6f,0xd3,0x66,0x17,0x7d,0x3a,0x28,0x03,0x7f,0x9e,0x71,0x77,0x8b,0x7d, 77 0xc7,0xd6,0x86,0xbd,0xde,0x11,0xab,0xc1,0xee,0xd0,0xeb,0x3d,0x62,0x38,0x6c,0x63, 78 0xac,0x8e,0x70,0x8e,0x35,0xf0,0x1c,0xc3,0x7e,0x7b,0xb8,0x7f,0xe4,0xda,0x19,0x6c, 79 0x27,0x27,0xcb,0x09,0x39,0xc2,0xaf,0x83,0xb6,0x47,0x69,0xbb,0x2f,0xbc,0xb7,0xd7, 80 0xc3,0x4c,0x39,0xc7,0x7e,0x31,0x7c,0x7e,0xc0,0x0e,0x72,0xae,0x81,0x79,0xdf,0x3f, 81 0x10,0xc3,0xf7,0xb2,0xde,0x5d,0xa1,0x4e,0xd0,0x1d,0xd2,0xf5,0x21,0xf7,0x3c,0x44, 82 0x0e,0x5d,0x94,0x81,0x9f,0xd2,0x38,0x98,0x81,0x8f,0xc4,0xce,0xbe,0x83,0xac,0x1d, 83 0xb0,0xc3,0x32,0x80,0x47,0xbf,0x2e,0xe6,0x59,0xb8,0x03,0x26,0xbb,0x07,0x20,0xf6, 84 0x61,0xee,0xe5,0xf3,0x73,0x44,0x4c,0x1f,0xf3,0x3e,0x1a,0x6a,0x34,0x3d,0x59,0x1f, 85 0x3a,0x99,0x43,0x57,0xd0,0x4d,0x49,0x36,0x7f,0xd0,0x1d,0x29,0xd2,0x35,0x26,0xab, 86 0x6f,0xa1,0xee,0xd4,0x79,0x3d,0x8e,0xff,0xc7,0xb9,0xf5,0x31,0xcf,0xad,0xe3,0x9c, 87 0xa5,0x33,0xa1,0x46,0xd0,0x9d,0xd0,0xf5,0x29,0xf9,0x9d,0x08,0xf3,0xfe,0x09,0xe7, 88 0xfd,0x58,0x98,0xf7,0x93,0x62,0x38,0x72,0x3a,0x43,0x1f,0xf8,0x9e,0x64,0x8f,0x3e, 89 0x17,0x7b,0xef,0xc1,0xf1,0x0b,0x62,0xa7,0xc5,0xf0,0x29,0x69,0xb0,0xdf,0x99,0x90, 90 0xd3,0x1d,0xc9,0x62,0x63,0xff,0xd3,0xe4,0xe3,0x67,0xf1,0x97,0x62,0xb5,0xf2,0x1e, 91 0x5f,0x0a,0xfc,0xa1,0xeb,0xd6,0x75,0x89,0x31,0xbb,0xc3,0xec,0x9f,0xa5,0x1f,0xee, 92 0x20,0xde,0xe7,0xaf,0xd8,0xcf,0xb3,0xa1,0x4f,0xe7,0xc4,0x70,0xe7,0xfb,0xb5,0x18, 93 0x9f,0x73,0xe1,0xbd,0xfe,0x46,0x0c,0xf7,0xf7,0xba,0x27,0x70,0x80,0xee,0xbc,0xae, 94 0x0b,0xe4,0x70,0x3e,0xcc,0xd5,0xb7,0x62,0xf3,0x31,0x9d,0xb9,0xf7,0xd0,0xe6,0x82, 95 0x0c,0x96,0x7b,0xc2,0x4c,0x35,0x25,0xf3,0x43,0x1c,0x9c,0xa9,0x17,0x02,0xd7,0x8b, 96 0x62,0xfa,0xcf,0xc8,0xf5,0x3b,0x72,0xbd,0xc8,0x78,0x5e,0x87,0x4b,0xa1,0xb6,0xcd, 97 0xc9,0x6c,0x50,0x6f,0xd8,0xf7,0x30,0x1e,0xf6,0xba,0x2c,0xa6,0x8f,0xdf,0xaa,0xde, 98 0xc0,0xe5,0xce,0x64,0x1c,0xf0,0x3d,0xbb,0xcc,0x3a,0x3f,0xc6,0xfb,0xe9,0x4d,0x31, 99 0xbd,0xcf,0x4b,0x4a,0x36,0x2f,0x7d,0x61,0x5e,0x72,0xc9,0x70,0x9f,0xcf,0x92,0x64, 100 0xd8,0x76,0xd6,0xb1,0x36,0x0d,0xd4,0x11,0xba,0x52,0x5d,0xc3,0x13,0xef,0x87,0x61, 101 0x86,0xca,0x93,0x7d,0xdb,0xbb,0xc3,0xbb,0x5f,0x91,0x0c,0x6f,0x0b,0x67,0x7e,0x65, 102 0x32,0xbc,0x95,0xf7,0x69,0xaf,0x5b,0x55,0x32,0xdd,0x32,0xf5,0xc5,0x5d,0xba,0x26, 103 0x19,0xff,0xfe,0xc2,0x1d,0xbd,0xac,0x60,0x33,0x24,0xd9,0x5d,0xf7,0x2e,0xea,0x4f, 104 0x71,0xef,0x61,0xc9,0x74,0x55,0xac,0x53,0x2d,0xf9,0x81,0xa7,0xd7,0xf1,0x16,0xc6, 105 0xf3,0xfd,0x46,0x26,0xc3,0xa2,0x3d,0x9e,0xde,0x93,0xd9,0xc9,0xe2,0x22,0xc7,0x91, 106 0xcc,0xd9,0x7b,0x8a,0xfb,0x23,0xee,0x93,0xb3,0xe9,0xdf,0xc8,0xbe,0x34,0x86,0xf3, 107 0x7a,0x31,0xef,0x6f,0x7e,0x36,0xf9,0x9d,0xb4,0x21,0xbc,0xbf,0xe3,0xd8,0x8f,0xf6, 108 0xd0,0x8f,0xf1,0xc9,0x70,0xff,0x9e,0xd7,0x25,0xc3,0x70,0xf6,0x7a,0xec,0x09,0xc9, 109 0xee,0x8c,0x75,0x69,0xe0,0x1b,0x5f,0x9f,0xec,0xff,0x88,0x56,0xea,0xef,0xd5,0xde, 110 0x01,0xcb,0xa7,0xc1,0x77,0x64,0x3c,0x6f,0x6a,0x15,0xe7,0xe9,0xfa,0x1b,0xa0,0x44, 111 0xe5,0x86,0xb4,0x11,0x00,0x00 112}; 113 114// Generated from: 115// 116// #version 450 core 117// 118// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in; 119// 120// layout(set = 0, binding = 0)buffer dst 121// { 122// uint destData[]; 123// }; 124// 125// layout(set = 0, binding = 1)buffer src 126// { 127// uint srcData[]; 128// }; 129// 130// layout(push_constant)uniform PushConstants 131// { 132// 133// uint outputCount; 134// 135// uint componentCount; 136// 137// uint srcOffset; 138// uint dstOffset; 139// 140// uint Ns; 141// uint Bs; 142// uint Ss; 143// uint Es; 144// 145// uint Nd; 146// uint Bd; 147// uint Sd; 148// uint Ed; 149// 150// uint srcEmulatedAlpha; 151// 152// bool isSrcHDR; 153// bool isSrcA2BGR10; 154// } params; 155// 156// uint getSourceComponentOffset(uint vertex, uint component) 157// { 158// return vertex * params . Ss + component * params . Bs + params . srcOffset; 159// } 160// 161// uint getDestinationComponentOffset(uint vertex, uint component) 162// { 163// return vertex * params . Sd + component * params . Bd + params . dstOffset; 164// } 165// 166// uint getShiftBits(uint offset, uint B) 167// { 168// 169// uint shift =(offset % 4)* 8; 170// 171// return shift; 172// } 173// 174// int loadSourceComponent(uint cd) 175// { 176// 177// uint vertex = cd / params . Nd; 178// uint component = cd % params . Nd; 179// 180// if(component >= params . Ns && component < 3) 181// { 182// return 0; 183// } 184// 185// uint offset = getSourceComponentOffset(vertex, component); 186// uint block = srcData[offset / 4]; 187// 188// uint shiftBits; 189// uint valueBits; 190// uint valueMask; 191// 192// if(params . isSrcHDR) 193// { 194// valueBits = component == 3 ? 2 : 10; 195// valueMask = component == 3 ? 0x03 : 0x3FF; 196// if(params . isSrcA2BGR10) 197// { 198// shiftBits = 10 * component; 199// } 200// else 201// { 202// 203// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2); 204// } 205// } 206// else 207// { 208// shiftBits = getShiftBits(offset, params . Bs); 209// valueBits = params . Bs * 8; 210// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1; 211// } 212// 213// uint valueAsUint; 214// 215// if(component >= params . Ns && component == 3) 216// { 217// valueAsUint = params . srcEmulatedAlpha; 218// } 219// else 220// { 221// valueAsUint =(block >> shiftBits)& valueMask; 222// } 223// 224// if(valueBits < 32) 225// { 226// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0; 227// 228// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0; 229// valueAsUint |= signExtension; 230// } 231// int value = int(valueAsUint); 232// 233// return value; 234// } 235// 236// float convertComponent(int srcValue) 237// { 238// 239// return srcValue; 240// } 241// 242// uint makeDestinationComponent(uint cd, float value) 243// { 244// 245// uint valueAsUint; 246// 247// if(params . Bd == 2) 248// { 249// 250// uint shift =((cd & 1)== 0)? 0 : 16; 251// valueAsUint = packHalf2x16(vec2(value, 0.0))<< shift; 252// } 253// else 254// { 255// valueAsUint = floatBitsToInt(value); 256// } 257// 258// return valueAsUint; 259// } 260// 261// void storeDestinationComponents(uint valueAsUint) 262// { 263// 264// destData[gl_GlobalInvocationID . x + params . dstOffset / 4]= valueAsUint; 265// } 266// 267// void main() 268// { 269// if(gl_GlobalInvocationID . x >= params . outputCount) 270// return; 271// 272// uint valueOut = 0; 273// for(uint i = 0;i < params . Ed;++ i) 274// { 275// uint cd = gl_GlobalInvocationID . x * params . Ed + i; 276// if(cd >= params . componentCount) 277// { 278// break; 279// } 280// 281// int srcValue = loadSourceComponent(cd); 282// float destValue = convertComponent(srcValue); 283// valueOut |= makeDestinationComponent(cd, destValue); 284// } 285// 286// storeDestinationComponents(valueOut); 287// } 288