Vulkan: Support the vertex_type_2_10_10_10_rev format

- Modify the python script and json file to generate the code which
adds the function for vertex_type_2_10_10_10_rev. These functions
handle the loading and conversion for vertex_type_2_10_10_10_rev.

- Modify ConvertVertex.comp and ConvertVertex.comp.json to perform
a GPU based conversion for vertex format of type 2_10_10_10_rev

- Modify BindingIsAligned function to check that both stride and
binding offset is aligned to the format size when the component
size is not aligned to 8 bits.

- Modify deqp3 expectations file to enable type_2_10_10_10_rev format
vertex array tests.

Bug: angleproject:3193
Test: dEQP-GLES3.functional.vertex_arrays.single_attribute.*2_10_10_10*
Change-Id: I2358d0d8888f7dfd7eac999dc150f643167de817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Mohan Maiya 2019-08-07 14:52:54 -07:00 коммит произвёл Commit Bot
Родитель 64751a0be4
Коммит 8400d05c09
41 изменённых файлов: 3544 добавлений и 115 удалений

Просмотреть файл

@ -151,6 +151,7 @@ AdaptVis GmbH
Samsung Electronics, Inc.
Brandon Schade
Hyunchang Kim
Hyunseok Ko
Minkyu Jeong
Mohan Maiya

Просмотреть файл

@ -4,9 +4,9 @@
"src/libANGLE/renderer/angle_format_map.json":
"947fe0a2c3ca1a819a68b4a94bfcf614",
"src/libANGLE/renderer/vulkan/gen_vk_format_table.py":
"63e0efcbe3802518058186cdbfba730e",
"ed6800108a872709e5e53fde2833aa86",
"src/libANGLE/renderer/vulkan/vk_format_map.json":
"bfc6328eb428c3e6dc280429113d7f81",
"787cb6414e110180885350c3335cb4b4",
"src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp":
"14b88d4ab20bcb737741ebd2fef64593"
"184391d8ca5be757f975c6fc3f149435"
}

Просмотреть файл

@ -86,37 +86,57 @@
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc":
"4726c9620a56bee224983d28d979fd39",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc":
"f2733c47c6fdc76c1919d1d56b6bb53d",
"872a3e1868f7458e1038783433619d4d",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc":
"effda9890acbcf7df4ad507ba795a5e5",
"06a6e12fa4368f75ecd367cf3c4bd879",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc":
"429b44e5774de85b72657c26cc12bec0",
"8d1508f4d60dc8b267e778d817977c9b",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc":
"fdc329bbdfcf861ef64514e996b9381b",
"a4c32fcae588896e01bc9fe20e5557b4",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc":
"4ac968daab1481e5df501f8098cb9d0c",
"cae0c584f7d5a4fef9f60a1a40b86d8c",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc":
"1b19cf0bd3fef9f0301c0a5e5c887a74",
"fc7d617c1fbcc3987a592b7cbc070d20",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc":
"b2037ea0fc1651b4dff779df41701b1e",
"f0dc88fb6a1c17f2aecf889213a01c52",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc":
"ea0041ce244d44f87f97ba7c671be723",
"ed7d00538744b74d85edbb09b73f4f67",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc":
"40d55a877eed28d96ef92f42fe4590d7",
"1c92be65bbcdcd389d66e52dd8b6803b",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc":
"600b5e4c4659b1e52cedb4b52e9fc6c0",
"edc377f783022d3c2584fb5f4bb61df1",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc":
"60addec54cd45b611afb6fb3477aa985",
"afa5a0547e883d3706bd40d2c574c9d4",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc":
"3a3b8fb4219ef5bfaafcfe7a873c1a3d",
"cbf6a27eaf0dfa81f08a34b48a1a6966",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc":
"3c7f565202beea65b035da7c6a894e4f",
"217e04a40cfc32994ef7a402330fedb3",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc":
"0579b05b188376e03d860e8972184eae",
"137ee6dd31ad189feb757d44f066c8e8",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc":
"e120c3f480cdfd3bb22d3d434d694377",
"7a24c51217d23b321789cf1fede9d2a2",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc":
"8e20d21fbfd6d579c769384ae7412a54",
"f3fc9559769832be69d4bfdbc378306a",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc":
"301341c746e6c196c23c7d8c411f6421",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000011.inc":
"59359683c389647d4b45d6470105c8c8",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000012.inc":
"a8ae68c37721abb98ada973077a8cc66",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000013.inc":
"5f2d04e8ae05ab6f195222cdb165a869",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000014.inc":
"6fc4399eea394523b065b08d62e960bf",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000015.inc":
"7f6f173219b79da67606a643d1a179d7",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000016.inc":
"cb94d261657f3893a1860b11d515f379",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000017.inc":
"53c5c58a072f4675f0de9dff34c75795",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc":
"ffe1c6166a3dfe22e89710dda7232ca7",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc":
"d7345bcf49f53c1d26e06acaba052d19",
"src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc":
"ddb226d9a40f950f6757ebea385b37bb",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc":
@ -212,7 +232,7 @@
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp":
"ca35df77d258baa0636529d1f0f446a9",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp":
"8345816b9cce00c699d8d70adfbcef95",
"371c0380486a34aa0e0f76bd1bc94b9e",
"src/libANGLE/renderer/vulkan/shaders/src/FullScreenQuad.vert":
"805ec8b2f87d4bd4242dc5b1c58ba3b4",
"src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag":
@ -220,9 +240,9 @@
"src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag":
"f0f3cc82d78198f114b698e1aea31267",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
"7891716bf0c429ddacfbb2823f166dc6",
"0660e11229f28464a6de11eb07fff7d3",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
"545807c51af450c31eb3fdf6d784d753",
"0532a7219ffa0a5a9ca0cd7a6eb3206e",
"tools/glslang/glslang_validator.exe.sha1":
"289f30598865a987a21b79ae525fc66f",
"tools/glslang/glslang_validator.sha1":

Просмотреть файл

@ -94,8 +94,8 @@ struct Format final : private angle::NonCopyable
GLuint pixelBytes;
// For 1-byte components, is MAX_UINT. For 2-byte, is 0x1. For 4-byte, is 0x3. For all others,
// 0x0.
// For 1-byte components, is 0x0. For 2-byte, is 0x1. For 4-byte, is 0x3. For all others,
// MAX_UINT.
GLuint componentAlignmentMask;
GLuint channelCount;

Просмотреть файл

@ -70,6 +70,9 @@ uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
bool srcIsUnorm = params.srcFormat->isUnorm();
bool srcIsFixed = params.srcFormat->isFixed;
bool srcIsFloat = params.srcFormat->isFloat();
bool srcIsA2BGR10 =
((params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt2101010) ||
(params.srcFormat->vertexAttribType == gl::VertexAttribType::Int2101010));
bool destIsSint = params.destFormat->isSint();
bool destIsUint = params.destFormat->isUint();
@ -95,7 +98,34 @@ uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
uint32_t flags = 0;
if (srcIsSint && destIsSint)
if (srcIsA2BGR10)
{
if (srcIsSint && destIsSint)
{
flags |= ConvertVertex_comp::kA2BGR10SintToSint;
}
else if (srcIsUint && destIsUint)
{
flags |= ConvertVertex_comp::kA2BGR10UintToUint;
}
else if (srcIsSint)
{
flags |= ConvertVertex_comp::kA2BGR10SintToFloat;
}
else if (srcIsUint)
{
flags |= ConvertVertex_comp::kA2BGR10UintToFloat;
}
else if (srcIsSnorm)
{
flags |= ConvertVertex_comp::kA2BGR10SnormToFloat;
}
else
{
UNREACHABLE();
}
}
else if (srcIsSint && destIsSint)
{
flags |= ConvertVertex_comp::kSintToSint;
}

Просмотреть файл

@ -33,16 +33,18 @@ ANGLE_INLINE bool BindingIsAligned(const gl::VertexBinding &binding,
GLuint relativeOffset)
{
GLintptr totalOffset = binding.getOffset() + relativeOffset;
GLuint mask = angleFormat.componentAlignmentMask;
GLuint mask = angleFormat.componentAlignmentMask;
if (mask != std::numeric_limits<GLuint>::max())
{
return ((totalOffset & mask) == 0 && (binding.getStride() & mask) == 0);
}
else
{
// To perform the GPU conversion for formats with components that aren't byte-aligned
// (for example, A2BGR10 or RGB10A2), one element has to be placed in 4 bytes to perform
// the compute shader. So, binding offset and stride has to be aligned to formatSize.
unsigned int formatSize = angleFormat.pixelBytes;
return ((totalOffset * attribSize) % formatSize == 0) &&
((binding.getStride() * attribSize) % formatSize == 0);
return (totalOffset % formatSize == 0) && (binding.getStride() % formatSize == 0);
}
}

Просмотреть файл

@ -128,6 +128,13 @@ def get_vertex_copy_function(src_format, dst_format, vk_format):
else:
return 'nullptr'
return 'CopyNativeVertexData<GLu%s, 1, 1, 0>' % base_type
if 'R10G10B10A2' in src_format:
# When the R10G10B10A2 type can't be used by the vertex buffer,
# it needs to be converted to the type which can be used by it.
is_signed = 'false' if 'UINT' in src_format or 'UNORM' in src_format or 'USCALED' in src_format else 'true'
normalized = 'true' if 'NORM' in src_format else 'false'
to_float = 'false' if 'INT' in src_format else 'true'
return 'CopyXYZ10W2ToXYZW32FVertexData<%s, %s, %s>' % (is_signed, normalized, to_float)
return angle_format.get_vertex_copy_function(src_format, dst_format)

Просмотреть файл

@ -318,10 +318,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -310,10 +310,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -298,10 +298,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;

Просмотреть файл

@ -289,10 +289,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;

Просмотреть файл

@ -271,10 +271,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -262,10 +262,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -252,10 +252,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;

Просмотреть файл

@ -244,10 +244,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;

Просмотреть файл

@ -277,10 +277,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -269,10 +269,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)

Просмотреть файл

@ -256,10 +256,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float positiveMax = valueMask;

Просмотреть файл

@ -248,10 +248,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, params . Bs);
uint shiftBits = getShiftBits(offset, params . Bs);
uint valueBits = params . Bs * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float positiveMax = valueMask;

Просмотреть файл

@ -251,10 +251,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, 4);
uint shiftBits = getShiftBits(offset, 4);
uint valueBits = 4 * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float divisor = 1.0f / 65536.0f;

Просмотреть файл

@ -243,10 +243,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, 4);
uint shiftBits = getShiftBits(offset, 4);
uint valueBits = 4 * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float divisor = 1.0f / 65536.0f;

Просмотреть файл

@ -248,10 +248,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, 4);
uint shiftBits = getShiftBits(offset, 4);
uint valueBits = 4 * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float value = uintBitsToFloat(valueAsUint);

Просмотреть файл

@ -240,10 +240,11 @@ uint getShiftBits(uint offset, uint B)
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint shiftBits = getShiftBits(offset, 4);
uint shiftBits = getShiftBits(offset, 4);
uint valueBits = 4 * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(block >> shiftBits)& valueMask;
float value = uintBitsToFloat(valueAsUint);

Просмотреть файл

@ -0,0 +1,383 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000010[] = {
0x07230203,0x00010000,0x00080007,0x00000131,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ee,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
0x00000042,0x00080005,0x00000018,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
0x003b3175,0x00030005,0x00000017,0x00006463,0x00080005,0x0000001d,0x766e6f63,0x43747265,
0x6f706d6f,0x746e656e,0x3b316928,0x00000000,0x00050005,0x0000001c,0x56637273,0x65756c61,
0x00000000,0x000a0005,0x00000022,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
0x746e656e,0x3b317528,0x003b3169,0x00030005,0x00000020,0x00006463,0x00040005,0x00000021,
0x756c6176,0x00000065,0x000a0005,0x00000026,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000025,0x756c6176,0x55734165,
0x00746e69,0x00060005,0x00000029,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
0x00000029,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000029,0x00000001,
0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000029,0x00000002,0x4f637273,
0x65736666,0x00000074,0x00060006,0x00000029,0x00000003,0x74736564,0x7366664f,0x00007465,
0x00040006,0x00000029,0x00000004,0x0000734e,0x00040006,0x00000029,0x00000005,0x00007342,
0x00040006,0x00000029,0x00000006,0x00007353,0x00040006,0x00000029,0x00000007,0x00007345,
0x00040006,0x00000029,0x00000008,0x0000644e,0x00040006,0x00000029,0x00000009,0x00006442,
0x00040006,0x00000029,0x0000000a,0x00006453,0x00040006,0x00000029,0x0000000b,0x00006445,
0x00040005,0x0000002b,0x61726170,0x0000736d,0x00040005,0x0000004e,0x66696873,0x00000074,
0x00040005,0x00000057,0x74726576,0x00007865,0x00050005,0x0000005d,0x706d6f63,0x6e656e6f,
0x00000074,0x00040005,0x0000006c,0x7366666f,0x00007465,0x00040005,0x0000006d,0x61726170,
0x0000006d,0x00040005,0x0000006f,0x61726170,0x0000006d,0x00040005,0x00000072,0x636f6c62,
0x0000006b,0x00030005,0x00000074,0x00637273,0x00050006,0x00000074,0x00000000,0x44637273,
0x00617461,0x00030005,0x00000076,0x00000000,0x00050005,0x0000007c,0x756c6176,0x74694265,
0x00000073,0x00050005,0x0000007e,0x66696873,0x74694274,0x00000073,0x00050005,0x00000082,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000089,0x756c6176,0x55734165,0x00746e69,
0x00050005,0x00000095,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000a0,0x6e676973,
0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000ae,0x756c6176,0x00000065,0x00040005,
0x000000b7,0x74726576,0x00007865,0x00050005,0x000000bc,0x706d6f63,0x6e656e6f,0x00000074,
0x00040005,0x000000c1,0x7366666f,0x00007465,0x00040005,0x000000c2,0x61726170,0x0000006d,
0x00040005,0x000000c4,0x61726170,0x0000006d,0x00050005,0x000000c7,0x66696873,0x74694274,
0x00000073,0x00040005,0x000000c8,0x61726170,0x0000006d,0x00040005,0x000000ca,0x61726170,
0x0000006d,0x00050005,0x000000ce,0x756c6176,0x74694265,0x00000073,0x00050005,0x000000d2,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000de,0x756c6176,0x55734165,0x00746e69,
0x00040005,0x000000e9,0x74736564,0x00000000,0x00060006,0x000000e9,0x00000000,0x74736564,
0x61746144,0x00000000,0x00030005,0x000000eb,0x00000000,0x00080005,0x000000ee,0x475f6c67,
0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x00000100,0x756c6176,
0x74754f65,0x00000000,0x00030005,0x00000101,0x00000069,0x00030005,0x0000010c,0x00006463,
0x00050005,0x0000011b,0x56637273,0x65756c61,0x00000000,0x00040005,0x0000011c,0x61726170,
0x0000006d,0x00050005,0x0000011f,0x74736564,0x756c6156,0x00000065,0x00040005,0x00000120,
0x61726170,0x0000006d,0x00040005,0x00000123,0x61726170,0x0000006d,0x00040005,0x00000125,
0x61726170,0x0000006d,0x00040005,0x0000012c,0x61726170,0x0000006d,0x00050048,0x00000029,
0x00000000,0x00000023,0x00000000,0x00050048,0x00000029,0x00000001,0x00000023,0x00000004,
0x00050048,0x00000029,0x00000002,0x00000023,0x00000008,0x00050048,0x00000029,0x00000003,
0x00000023,0x0000000c,0x00050048,0x00000029,0x00000004,0x00000023,0x00000010,0x00050048,
0x00000029,0x00000005,0x00000023,0x00000014,0x00050048,0x00000029,0x00000006,0x00000023,
0x00000018,0x00050048,0x00000029,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000029,
0x00000008,0x00000023,0x00000020,0x00050048,0x00000029,0x00000009,0x00000023,0x00000024,
0x00050048,0x00000029,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000029,0x0000000b,
0x00000023,0x0000002c,0x00030047,0x00000029,0x00000002,0x00040047,0x00000073,0x00000006,
0x00000004,0x00050048,0x00000074,0x00000000,0x00000023,0x00000000,0x00030047,0x00000074,
0x00000003,0x00040047,0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,
0x00000001,0x00040047,0x000000e8,0x00000006,0x00000004,0x00050048,0x000000e9,0x00000000,
0x00000023,0x00000000,0x00030047,0x000000e9,0x00000003,0x00040047,0x000000eb,0x00000022,
0x00000000,0x00040047,0x000000eb,0x00000021,0x00000000,0x00040047,0x000000ee,0x0000000b,
0x0000001c,0x00040047,0x00000130,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,
0x00000015,0x00000020,0x00000001,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,
0x0000001a,0x00000007,0x00000015,0x00040021,0x0000001b,0x00000015,0x0000001a,0x00050021,
0x0000001f,0x00000006,0x00000007,0x0000001a,0x00040021,0x00000024,0x00000002,0x00000007,
0x000e001e,0x00000029,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000002a,
0x00000009,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000009,0x0004002b,0x00000015,
0x0000002c,0x00000006,0x00040020,0x0000002d,0x00000009,0x00000006,0x0004002b,0x00000015,
0x00000032,0x00000005,0x0004002b,0x00000015,0x00000037,0x00000002,0x0004002b,0x00000015,
0x0000003e,0x0000000a,0x0004002b,0x00000015,0x00000043,0x00000009,0x0004002b,0x00000015,
0x00000048,0x00000003,0x0004002b,0x00000006,0x00000050,0x00000004,0x0004002b,0x00000006,
0x00000052,0x00000008,0x0004002b,0x00000015,0x00000059,0x00000008,0x0004002b,0x00000015,
0x00000063,0x00000004,0x00020014,0x00000066,0x0004002b,0x00000015,0x0000006a,0x00000000,
0x0003001d,0x00000073,0x00000006,0x0003001e,0x00000074,0x00000073,0x00040020,0x00000075,
0x00000002,0x00000074,0x0004003b,0x00000075,0x00000076,0x00000002,0x00040020,0x00000079,
0x00000002,0x00000006,0x0004002b,0x00000006,0x0000007d,0x0000000a,0x0004002b,0x00000006,
0x00000084,0x00000003,0x0004002b,0x00000015,0x00000086,0x000003ff,0x0004002b,0x00000006,
0x00000090,0x00000020,0x00040020,0x00000094,0x00000007,0x00000066,0x0004002b,0x00000015,
0x00000097,0x00000001,0x0004002b,0x00000006,0x00000099,0x00000001,0x0004002b,0x00000006,
0x0000009e,0x00000000,0x0004002b,0x00000015,0x000000a5,0xffffffff,0x0003001d,0x000000e8,
0x00000006,0x0003001e,0x000000e9,0x000000e8,0x00040020,0x000000ea,0x00000002,0x000000e9,
0x0004003b,0x000000ea,0x000000eb,0x00000002,0x00040017,0x000000ec,0x00000006,0x00000003,
0x00040020,0x000000ed,0x00000001,0x000000ec,0x0004003b,0x000000ed,0x000000ee,0x00000001,
0x00040020,0x000000ef,0x00000001,0x00000006,0x0004002b,0x00000015,0x00000108,0x0000000b,
0x0004002b,0x00000006,0x0000012f,0x00000040,0x0006002c,0x000000ec,0x00000130,0x0000012f,
0x00000099,0x00000099,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003b,0x00000007,0x00000100,0x00000007,0x0004003b,0x00000007,0x00000101,
0x00000007,0x0004003b,0x00000007,0x0000010c,0x00000007,0x0004003b,0x0000001a,0x0000011b,
0x00000007,0x0004003b,0x00000007,0x0000011c,0x00000007,0x0004003b,0x0000001a,0x0000011f,
0x00000007,0x0004003b,0x0000001a,0x00000120,0x00000007,0x0004003b,0x00000007,0x00000123,
0x00000007,0x0004003b,0x0000001a,0x00000125,0x00000007,0x0004003b,0x00000007,0x0000012c,
0x00000007,0x00050041,0x000000ef,0x000000f8,0x000000ee,0x0000009e,0x0004003d,0x00000006,
0x000000f9,0x000000f8,0x00050041,0x0000002d,0x000000fa,0x0000002b,0x0000006a,0x0004003d,
0x00000006,0x000000fb,0x000000fa,0x000500ae,0x00000066,0x000000fc,0x000000f9,0x000000fb,
0x000300f7,0x000000fe,0x00000000,0x000400fa,0x000000fc,0x000000fd,0x000000fe,0x000200f8,
0x000000fd,0x000100fd,0x000200f8,0x000000fe,0x0003003e,0x00000100,0x0000009e,0x0003003e,
0x00000101,0x0000009e,0x000200f9,0x00000102,0x000200f8,0x00000102,0x000400f6,0x00000104,
0x00000105,0x00000000,0x000200f9,0x00000106,0x000200f8,0x00000106,0x0004003d,0x00000006,
0x00000107,0x00000101,0x00050041,0x0000002d,0x00000109,0x0000002b,0x00000108,0x0004003d,
0x00000006,0x0000010a,0x00000109,0x000500b0,0x00000066,0x0000010b,0x00000107,0x0000010a,
0x000400fa,0x0000010b,0x00000103,0x00000104,0x000200f8,0x00000103,0x00050041,0x000000ef,
0x0000010d,0x000000ee,0x0000009e,0x0004003d,0x00000006,0x0000010e,0x0000010d,0x00050041,
0x0000002d,0x0000010f,0x0000002b,0x00000108,0x0004003d,0x00000006,0x00000110,0x0000010f,
0x00050084,0x00000006,0x00000111,0x0000010e,0x00000110,0x0004003d,0x00000006,0x00000112,
0x00000101,0x00050080,0x00000006,0x00000113,0x00000111,0x00000112,0x0003003e,0x0000010c,
0x00000113,0x0004003d,0x00000006,0x00000114,0x0000010c,0x00050041,0x0000002d,0x00000115,
0x0000002b,0x00000097,0x0004003d,0x00000006,0x00000116,0x00000115,0x000500ae,0x00000066,
0x00000117,0x00000114,0x00000116,0x000300f7,0x00000119,0x00000000,0x000400fa,0x00000117,
0x00000118,0x00000119,0x000200f8,0x00000118,0x000200f9,0x00000104,0x000200f8,0x00000119,
0x0004003d,0x00000006,0x0000011d,0x0000010c,0x0003003e,0x0000011c,0x0000011d,0x00050039,
0x00000015,0x0000011e,0x00000018,0x0000011c,0x0003003e,0x0000011b,0x0000011e,0x0004003d,
0x00000015,0x00000121,0x0000011b,0x0003003e,0x00000120,0x00000121,0x00050039,0x00000015,
0x00000122,0x0000001d,0x00000120,0x0003003e,0x0000011f,0x00000122,0x0004003d,0x00000006,
0x00000124,0x0000010c,0x0003003e,0x00000123,0x00000124,0x0004003d,0x00000015,0x00000126,
0x0000011f,0x0003003e,0x00000125,0x00000126,0x00060039,0x00000006,0x00000127,0x00000022,
0x00000123,0x00000125,0x0004003d,0x00000006,0x00000128,0x00000100,0x000500c5,0x00000006,
0x00000129,0x00000128,0x00000127,0x0003003e,0x00000100,0x00000129,0x000200f9,0x00000105,
0x000200f8,0x00000105,0x0004003d,0x00000006,0x0000012a,0x00000101,0x00050080,0x00000006,
0x0000012b,0x0000012a,0x00000097,0x0003003e,0x00000101,0x0000012b,0x000200f9,0x00000102,
0x000200f8,0x00000104,0x0004003d,0x00000006,0x0000012d,0x00000100,0x0003003e,0x0000012c,
0x0000012d,0x00050039,0x00000002,0x0000012e,0x00000026,0x0000012c,0x000100fd,0x00010038,
0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000028,
0x00000009,0x00050041,0x0000002d,0x0000002e,0x0000002b,0x0000002c,0x0004003d,0x00000006,
0x0000002f,0x0000002e,0x00050084,0x00000006,0x00000030,0x00000028,0x0000002f,0x0004003d,
0x00000006,0x00000031,0x0000000a,0x00050041,0x0000002d,0x00000033,0x0000002b,0x00000032,
0x0004003d,0x00000006,0x00000034,0x00000033,0x00050084,0x00000006,0x00000035,0x00000031,
0x00000034,0x00050080,0x00000006,0x00000036,0x00000030,0x00000035,0x00050041,0x0000002d,
0x00000038,0x0000002b,0x00000037,0x0004003d,0x00000006,0x00000039,0x00000038,0x00050080,
0x00000006,0x0000003a,0x00000036,0x00000039,0x000200fe,0x0000003a,0x00010038,0x00050036,
0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003d,0x0000000d,
0x00050041,0x0000002d,0x0000003f,0x0000002b,0x0000003e,0x0004003d,0x00000006,0x00000040,
0x0000003f,0x00050084,0x00000006,0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,
0x00000042,0x0000000e,0x00050041,0x0000002d,0x00000044,0x0000002b,0x00000043,0x0004003d,
0x00000006,0x00000045,0x00000044,0x00050084,0x00000006,0x00000046,0x00000042,0x00000045,
0x00050080,0x00000006,0x00000047,0x00000041,0x00000046,0x00050041,0x0000002d,0x00000049,
0x0000002b,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050080,0x00000006,
0x0000004b,0x00000047,0x0000004a,0x000200fe,0x0000004b,0x00010038,0x00050036,0x00000006,
0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003d,
0x00000006,0x0000004f,0x00000011,0x00050089,0x00000006,0x00000051,0x0000004f,0x00000050,
0x00050084,0x00000006,0x00000053,0x00000051,0x00000052,0x0003003e,0x0000004e,0x00000053,
0x0004003d,0x00000006,0x00000054,0x0000004e,0x000200fe,0x00000054,0x00010038,0x00050036,
0x00000015,0x00000018,0x00000000,0x00000016,0x00030037,0x00000007,0x00000017,0x000200f8,
0x00000019,0x0004003b,0x00000007,0x00000057,0x00000007,0x0004003b,0x00000007,0x0000005d,
0x00000007,0x0004003b,0x00000007,0x0000006c,0x00000007,0x0004003b,0x00000007,0x0000006d,
0x00000007,0x0004003b,0x00000007,0x0000006f,0x00000007,0x0004003b,0x00000007,0x00000072,
0x00000007,0x0004003b,0x00000007,0x0000007c,0x00000007,0x0004003b,0x00000007,0x0000007e,
0x00000007,0x0004003b,0x00000007,0x00000082,0x00000007,0x0004003b,0x00000007,0x00000089,
0x00000007,0x0004003b,0x00000094,0x00000095,0x00000007,0x0004003b,0x00000007,0x000000a0,
0x00000007,0x0004003b,0x0000001a,0x000000a2,0x00000007,0x0004003b,0x0000001a,0x000000ae,
0x00000007,0x0004003d,0x00000006,0x00000058,0x00000017,0x00050041,0x0000002d,0x0000005a,
0x0000002b,0x00000059,0x0004003d,0x00000006,0x0000005b,0x0000005a,0x00050086,0x00000006,
0x0000005c,0x00000058,0x0000005b,0x0003003e,0x00000057,0x0000005c,0x0004003d,0x00000006,
0x0000005e,0x00000017,0x00050041,0x0000002d,0x0000005f,0x0000002b,0x00000059,0x0004003d,
0x00000006,0x00000060,0x0000005f,0x00050089,0x00000006,0x00000061,0x0000005e,0x00000060,
0x0003003e,0x0000005d,0x00000061,0x0004003d,0x00000006,0x00000062,0x0000005d,0x00050041,
0x0000002d,0x00000064,0x0000002b,0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,
0x000500ae,0x00000066,0x00000067,0x00000062,0x00000065,0x000300f7,0x00000069,0x00000000,
0x000400fa,0x00000067,0x00000068,0x00000069,0x000200f8,0x00000068,0x000200fe,0x0000006a,
0x000200f8,0x00000069,0x0004003d,0x00000006,0x0000006e,0x00000057,0x0003003e,0x0000006d,
0x0000006e,0x0004003d,0x00000006,0x00000070,0x0000005d,0x0003003e,0x0000006f,0x00000070,
0x00060039,0x00000006,0x00000071,0x0000000b,0x0000006d,0x0000006f,0x0003003e,0x0000006c,
0x00000071,0x0004003d,0x00000006,0x00000077,0x0000006c,0x00050086,0x00000006,0x00000078,
0x00000077,0x00000050,0x00060041,0x00000079,0x0000007a,0x00000076,0x0000006a,0x00000078,
0x0004003d,0x00000006,0x0000007b,0x0000007a,0x0003003e,0x00000072,0x0000007b,0x0003003e,
0x0000007c,0x0000007d,0x0004003d,0x00000006,0x0000007f,0x0000007c,0x0004003d,0x00000006,
0x00000080,0x0000005d,0x00050084,0x00000006,0x00000081,0x0000007f,0x00000080,0x0003003e,
0x0000007e,0x00000081,0x0004003d,0x00000006,0x00000083,0x0000005d,0x000500aa,0x00000066,
0x00000085,0x00000083,0x00000084,0x000600a9,0x00000015,0x00000087,0x00000085,0x00000048,
0x00000086,0x0004007c,0x00000006,0x00000088,0x00000087,0x0003003e,0x00000082,0x00000088,
0x0004003d,0x00000006,0x0000008a,0x00000072,0x0004003d,0x00000006,0x0000008b,0x0000007e,
0x000500c2,0x00000006,0x0000008c,0x0000008a,0x0000008b,0x0004003d,0x00000006,0x0000008d,
0x00000082,0x000500c7,0x00000006,0x0000008e,0x0000008c,0x0000008d,0x0003003e,0x00000089,
0x0000008e,0x0004003d,0x00000006,0x0000008f,0x0000007c,0x000500b0,0x00000066,0x00000091,
0x0000008f,0x00000090,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,
0x00000093,0x000200f8,0x00000092,0x0004003d,0x00000006,0x00000096,0x00000089,0x0004003d,
0x00000006,0x00000098,0x0000007c,0x00050082,0x00000006,0x0000009a,0x00000098,0x00000099,
0x000500c4,0x00000015,0x0000009b,0x00000097,0x0000009a,0x0004007c,0x00000006,0x0000009c,
0x0000009b,0x000500c7,0x00000006,0x0000009d,0x00000096,0x0000009c,0x000500ab,0x00000066,
0x0000009f,0x0000009d,0x0000009e,0x0003003e,0x00000095,0x0000009f,0x0004003d,0x00000066,
0x000000a1,0x00000095,0x000300f7,0x000000a4,0x00000000,0x000400fa,0x000000a1,0x000000a3,
0x000000a8,0x000200f8,0x000000a3,0x0004003d,0x00000006,0x000000a6,0x0000007c,0x000500c4,
0x00000015,0x000000a7,0x000000a5,0x000000a6,0x0003003e,0x000000a2,0x000000a7,0x000200f9,
0x000000a4,0x000200f8,0x000000a8,0x0003003e,0x000000a2,0x0000006a,0x000200f9,0x000000a4,
0x000200f8,0x000000a4,0x0004003d,0x00000015,0x000000a9,0x000000a2,0x0004007c,0x00000006,
0x000000aa,0x000000a9,0x0003003e,0x000000a0,0x000000aa,0x0004003d,0x00000006,0x000000ab,
0x000000a0,0x0004003d,0x00000006,0x000000ac,0x00000089,0x000500c5,0x00000006,0x000000ad,
0x000000ac,0x000000ab,0x0003003e,0x00000089,0x000000ad,0x000200f9,0x00000093,0x000200f8,
0x00000093,0x0004003d,0x00000006,0x000000af,0x00000089,0x0004007c,0x00000015,0x000000b0,
0x000000af,0x0003003e,0x000000ae,0x000000b0,0x0004003d,0x00000015,0x000000b1,0x000000ae,
0x000200fe,0x000000b1,0x00010038,0x00050036,0x00000015,0x0000001d,0x00000000,0x0000001b,
0x00030037,0x0000001a,0x0000001c,0x000200f8,0x0000001e,0x0004003d,0x00000015,0x000000b4,
0x0000001c,0x000200fe,0x000000b4,0x00010038,0x00050036,0x00000006,0x00000022,0x00000000,
0x0000001f,0x00030037,0x00000007,0x00000020,0x00030037,0x0000001a,0x00000021,0x000200f8,
0x00000023,0x0004003b,0x00000007,0x000000b7,0x00000007,0x0004003b,0x00000007,0x000000bc,
0x00000007,0x0004003b,0x00000007,0x000000c1,0x00000007,0x0004003b,0x00000007,0x000000c2,
0x00000007,0x0004003b,0x00000007,0x000000c4,0x00000007,0x0004003b,0x00000007,0x000000c7,
0x00000007,0x0004003b,0x00000007,0x000000c8,0x00000007,0x0004003b,0x00000007,0x000000ca,
0x00000007,0x0004003b,0x00000007,0x000000ce,0x00000007,0x0004003b,0x00000007,0x000000d2,
0x00000007,0x0004003b,0x0000001a,0x000000d5,0x00000007,0x0004003b,0x00000007,0x000000de,
0x00000007,0x0004003d,0x00000006,0x000000b8,0x00000020,0x00050041,0x0000002d,0x000000b9,
0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00050086,0x00000006,
0x000000bb,0x000000b8,0x000000ba,0x0003003e,0x000000b7,0x000000bb,0x0004003d,0x00000006,
0x000000bd,0x00000020,0x00050041,0x0000002d,0x000000be,0x0000002b,0x00000059,0x0004003d,
0x00000006,0x000000bf,0x000000be,0x00050089,0x00000006,0x000000c0,0x000000bd,0x000000bf,
0x0003003e,0x000000bc,0x000000c0,0x0004003d,0x00000006,0x000000c3,0x000000b7,0x0003003e,
0x000000c2,0x000000c3,0x0004003d,0x00000006,0x000000c5,0x000000bc,0x0003003e,0x000000c4,
0x000000c5,0x00060039,0x00000006,0x000000c6,0x0000000f,0x000000c2,0x000000c4,0x0003003e,
0x000000c1,0x000000c6,0x0004003d,0x00000006,0x000000c9,0x000000c1,0x0003003e,0x000000c8,
0x000000c9,0x00050041,0x0000002d,0x000000cb,0x0000002b,0x00000043,0x0004003d,0x00000006,
0x000000cc,0x000000cb,0x0003003e,0x000000ca,0x000000cc,0x00060039,0x00000006,0x000000cd,
0x00000013,0x000000c8,0x000000ca,0x0003003e,0x000000c7,0x000000cd,0x00050041,0x0000002d,
0x000000cf,0x0000002b,0x00000043,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00050084,
0x00000006,0x000000d1,0x000000d0,0x00000052,0x0003003e,0x000000ce,0x000000d1,0x0004003d,
0x00000006,0x000000d3,0x000000ce,0x000500aa,0x00000066,0x000000d4,0x000000d3,0x00000090,
0x000300f7,0x000000d7,0x00000000,0x000400fa,0x000000d4,0x000000d6,0x000000d8,0x000200f8,
0x000000d6,0x0003003e,0x000000d5,0x000000a5,0x000200f9,0x000000d7,0x000200f8,0x000000d8,
0x0004003d,0x00000006,0x000000d9,0x000000ce,0x000500c4,0x00000015,0x000000da,0x00000097,
0x000000d9,0x00050082,0x00000015,0x000000db,0x000000da,0x00000097,0x0003003e,0x000000d5,
0x000000db,0x000200f9,0x000000d7,0x000200f8,0x000000d7,0x0004003d,0x00000015,0x000000dc,
0x000000d5,0x0004007c,0x00000006,0x000000dd,0x000000dc,0x0003003e,0x000000d2,0x000000dd,
0x0004003d,0x00000015,0x000000df,0x00000021,0x0004007c,0x00000006,0x000000e0,0x000000df,
0x0004003d,0x00000006,0x000000e1,0x000000d2,0x000500c7,0x00000006,0x000000e2,0x000000e0,
0x000000e1,0x0004003d,0x00000006,0x000000e3,0x000000c7,0x000500c4,0x00000006,0x000000e4,
0x000000e2,0x000000e3,0x0003003e,0x000000de,0x000000e4,0x0004003d,0x00000006,0x000000e5,
0x000000de,0x000200fe,0x000000e5,0x00010038,0x00050036,0x00000002,0x00000026,0x00000000,
0x00000024,0x00030037,0x00000007,0x00000025,0x000200f8,0x00000027,0x00050041,0x000000ef,
0x000000f0,0x000000ee,0x0000009e,0x0004003d,0x00000006,0x000000f1,0x000000f0,0x00050041,
0x0000002d,0x000000f2,0x0000002b,0x00000048,0x0004003d,0x00000006,0x000000f3,0x000000f2,
0x00050086,0x00000006,0x000000f4,0x000000f3,0x00000050,0x00050080,0x00000006,0x000000f5,
0x000000f1,0x000000f4,0x0004003d,0x00000006,0x000000f6,0x00000025,0x00060041,0x00000079,
0x000000f7,0x000000eb,0x0000006a,0x000000f5,0x0003003e,0x000000f7,0x000000f6,0x000100fd,
0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * params . Bd + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
int loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int value = int(valueAsUint);
return value;
}
int convertComponent(int srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, int value)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
uint offset = getDestinationComponentOffset(vertex, component);
uint shiftBits = getShiftBits(offset, params . Bd);
uint valueBits = params . Bd * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
if(gl_GlobalInvocationID . x >= params . outputCount)
return;
uint valueOut = 0;
for(uint i = 0;i < params . Ed;++ i)
{
uint cd = gl_GlobalInvocationID . x * params . Ed + i;
if(cd >= params . componentCount)
{
break;
}
int srcValue = loadSourceComponent(cd);
int destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,366 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000011[] = {
0x07230203,0x00010000,0x00080007,0x00000122,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ee,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
0x00000042,0x00080005,0x00000018,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
0x003b3175,0x00030005,0x00000017,0x00006463,0x00080005,0x0000001d,0x766e6f63,0x43747265,
0x6f706d6f,0x746e656e,0x3b316928,0x00000000,0x00050005,0x0000001c,0x56637273,0x65756c61,
0x00000000,0x000a0005,0x00000022,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
0x746e656e,0x3b317528,0x003b3169,0x00030005,0x00000020,0x00006463,0x00040005,0x00000021,
0x756c6176,0x00000065,0x000a0005,0x00000026,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000025,0x756c6176,0x55734165,
0x00746e69,0x00060005,0x00000029,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
0x00000029,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000029,0x00000001,
0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000029,0x00000002,0x4f637273,
0x65736666,0x00000074,0x00060006,0x00000029,0x00000003,0x74736564,0x7366664f,0x00007465,
0x00040006,0x00000029,0x00000004,0x0000734e,0x00040006,0x00000029,0x00000005,0x00007342,
0x00040006,0x00000029,0x00000006,0x00007353,0x00040006,0x00000029,0x00000007,0x00007345,
0x00040006,0x00000029,0x00000008,0x0000644e,0x00040006,0x00000029,0x00000009,0x00006442,
0x00040006,0x00000029,0x0000000a,0x00006453,0x00040006,0x00000029,0x0000000b,0x00006445,
0x00040005,0x0000002b,0x61726170,0x0000736d,0x00040005,0x0000004e,0x66696873,0x00000074,
0x00040005,0x00000057,0x74726576,0x00007865,0x00050005,0x0000005d,0x706d6f63,0x6e656e6f,
0x00000074,0x00040005,0x0000006c,0x7366666f,0x00007465,0x00040005,0x0000006d,0x61726170,
0x0000006d,0x00040005,0x0000006f,0x61726170,0x0000006d,0x00040005,0x00000072,0x636f6c62,
0x0000006b,0x00030005,0x00000074,0x00637273,0x00050006,0x00000074,0x00000000,0x44637273,
0x00617461,0x00030005,0x00000076,0x00000000,0x00050005,0x0000007c,0x756c6176,0x74694265,
0x00000073,0x00050005,0x0000007e,0x66696873,0x74694274,0x00000073,0x00050005,0x00000082,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000089,0x756c6176,0x55734165,0x00746e69,
0x00050005,0x00000095,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000a0,0x6e676973,
0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000ae,0x756c6176,0x00000065,0x00040005,
0x000000b7,0x74726576,0x00007865,0x00050005,0x000000bc,0x706d6f63,0x6e656e6f,0x00000074,
0x00040005,0x000000c1,0x7366666f,0x00007465,0x00040005,0x000000c2,0x61726170,0x0000006d,
0x00040005,0x000000c4,0x61726170,0x0000006d,0x00050005,0x000000c7,0x66696873,0x74694274,
0x00000073,0x00040005,0x000000c8,0x61726170,0x0000006d,0x00040005,0x000000ca,0x61726170,
0x0000006d,0x00050005,0x000000ce,0x756c6176,0x74694265,0x00000073,0x00050005,0x000000d2,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000de,0x756c6176,0x55734165,0x00746e69,
0x00040005,0x000000e9,0x74736564,0x00000000,0x00060006,0x000000e9,0x00000000,0x74736564,
0x61746144,0x00000000,0x00030005,0x000000eb,0x00000000,0x00080005,0x000000ee,0x475f6c67,
0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000f8,0x756c6176,
0x74754f65,0x00000000,0x00030005,0x000000f9,0x00000069,0x00030005,0x00000104,0x00006463,
0x00050005,0x0000010c,0x56637273,0x65756c61,0x00000000,0x00040005,0x0000010d,0x61726170,
0x0000006d,0x00050005,0x00000110,0x74736564,0x756c6156,0x00000065,0x00040005,0x00000111,
0x61726170,0x0000006d,0x00040005,0x00000114,0x61726170,0x0000006d,0x00040005,0x00000116,
0x61726170,0x0000006d,0x00040005,0x0000011d,0x61726170,0x0000006d,0x00050048,0x00000029,
0x00000000,0x00000023,0x00000000,0x00050048,0x00000029,0x00000001,0x00000023,0x00000004,
0x00050048,0x00000029,0x00000002,0x00000023,0x00000008,0x00050048,0x00000029,0x00000003,
0x00000023,0x0000000c,0x00050048,0x00000029,0x00000004,0x00000023,0x00000010,0x00050048,
0x00000029,0x00000005,0x00000023,0x00000014,0x00050048,0x00000029,0x00000006,0x00000023,
0x00000018,0x00050048,0x00000029,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000029,
0x00000008,0x00000023,0x00000020,0x00050048,0x00000029,0x00000009,0x00000023,0x00000024,
0x00050048,0x00000029,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000029,0x0000000b,
0x00000023,0x0000002c,0x00030047,0x00000029,0x00000002,0x00040047,0x00000073,0x00000006,
0x00000004,0x00050048,0x00000074,0x00000000,0x00000023,0x00000000,0x00030047,0x00000074,
0x00000003,0x00040047,0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,
0x00000001,0x00040047,0x000000e8,0x00000006,0x00000004,0x00050048,0x000000e9,0x00000000,
0x00000023,0x00000000,0x00030047,0x000000e9,0x00000003,0x00040047,0x000000eb,0x00000022,
0x00000000,0x00040047,0x000000eb,0x00000021,0x00000000,0x00040047,0x000000ee,0x0000000b,
0x0000001c,0x00040047,0x00000121,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,
0x00000015,0x00000020,0x00000001,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,
0x0000001a,0x00000007,0x00000015,0x00040021,0x0000001b,0x00000015,0x0000001a,0x00050021,
0x0000001f,0x00000006,0x00000007,0x0000001a,0x00040021,0x00000024,0x00000002,0x00000007,
0x000e001e,0x00000029,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000002a,
0x00000009,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000009,0x0004002b,0x00000015,
0x0000002c,0x00000006,0x00040020,0x0000002d,0x00000009,0x00000006,0x0004002b,0x00000015,
0x00000032,0x00000005,0x0004002b,0x00000015,0x00000037,0x00000002,0x0004002b,0x00000015,
0x0000003e,0x0000000a,0x0004002b,0x00000015,0x00000043,0x00000009,0x0004002b,0x00000015,
0x00000048,0x00000003,0x0004002b,0x00000006,0x00000050,0x00000004,0x0004002b,0x00000006,
0x00000052,0x00000008,0x0004002b,0x00000015,0x00000059,0x00000008,0x0004002b,0x00000015,
0x00000063,0x00000004,0x00020014,0x00000066,0x0004002b,0x00000015,0x0000006a,0x00000000,
0x0003001d,0x00000073,0x00000006,0x0003001e,0x00000074,0x00000073,0x00040020,0x00000075,
0x00000002,0x00000074,0x0004003b,0x00000075,0x00000076,0x00000002,0x00040020,0x00000079,
0x00000002,0x00000006,0x0004002b,0x00000006,0x0000007d,0x0000000a,0x0004002b,0x00000006,
0x00000084,0x00000003,0x0004002b,0x00000015,0x00000086,0x000003ff,0x0004002b,0x00000006,
0x00000090,0x00000020,0x00040020,0x00000094,0x00000007,0x00000066,0x0004002b,0x00000015,
0x00000097,0x00000001,0x0004002b,0x00000006,0x00000099,0x00000001,0x0004002b,0x00000006,
0x0000009e,0x00000000,0x0004002b,0x00000015,0x000000a5,0xffffffff,0x0003001d,0x000000e8,
0x00000006,0x0003001e,0x000000e9,0x000000e8,0x00040020,0x000000ea,0x00000002,0x000000e9,
0x0004003b,0x000000ea,0x000000eb,0x00000002,0x00040017,0x000000ec,0x00000006,0x00000003,
0x00040020,0x000000ed,0x00000001,0x000000ec,0x0004003b,0x000000ed,0x000000ee,0x00000001,
0x00040020,0x000000ef,0x00000001,0x00000006,0x0004002b,0x00000015,0x00000100,0x0000000b,
0x0004002b,0x00000006,0x00000120,0x00000040,0x0006002c,0x000000ec,0x00000121,0x00000120,
0x00000099,0x00000099,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003b,0x00000007,0x000000f8,0x00000007,0x0004003b,0x00000007,0x000000f9,
0x00000007,0x0004003b,0x00000007,0x00000104,0x00000007,0x0004003b,0x0000001a,0x0000010c,
0x00000007,0x0004003b,0x00000007,0x0000010d,0x00000007,0x0004003b,0x0000001a,0x00000110,
0x00000007,0x0004003b,0x0000001a,0x00000111,0x00000007,0x0004003b,0x00000007,0x00000114,
0x00000007,0x0004003b,0x0000001a,0x00000116,0x00000007,0x0004003b,0x00000007,0x0000011d,
0x00000007,0x0003003e,0x000000f8,0x0000009e,0x0003003e,0x000000f9,0x0000009e,0x000200f9,
0x000000fa,0x000200f8,0x000000fa,0x000400f6,0x000000fc,0x000000fd,0x00000000,0x000200f9,
0x000000fe,0x000200f8,0x000000fe,0x0004003d,0x00000006,0x000000ff,0x000000f9,0x00050041,
0x0000002d,0x00000101,0x0000002b,0x00000100,0x0004003d,0x00000006,0x00000102,0x00000101,
0x000500b0,0x00000066,0x00000103,0x000000ff,0x00000102,0x000400fa,0x00000103,0x000000fb,
0x000000fc,0x000200f8,0x000000fb,0x00050041,0x000000ef,0x00000105,0x000000ee,0x0000009e,
0x0004003d,0x00000006,0x00000106,0x00000105,0x00050041,0x0000002d,0x00000107,0x0000002b,
0x00000100,0x0004003d,0x00000006,0x00000108,0x00000107,0x00050084,0x00000006,0x00000109,
0x00000106,0x00000108,0x0004003d,0x00000006,0x0000010a,0x000000f9,0x00050080,0x00000006,
0x0000010b,0x00000109,0x0000010a,0x0003003e,0x00000104,0x0000010b,0x0004003d,0x00000006,
0x0000010e,0x00000104,0x0003003e,0x0000010d,0x0000010e,0x00050039,0x00000015,0x0000010f,
0x00000018,0x0000010d,0x0003003e,0x0000010c,0x0000010f,0x0004003d,0x00000015,0x00000112,
0x0000010c,0x0003003e,0x00000111,0x00000112,0x00050039,0x00000015,0x00000113,0x0000001d,
0x00000111,0x0003003e,0x00000110,0x00000113,0x0004003d,0x00000006,0x00000115,0x00000104,
0x0003003e,0x00000114,0x00000115,0x0004003d,0x00000015,0x00000117,0x00000110,0x0003003e,
0x00000116,0x00000117,0x00060039,0x00000006,0x00000118,0x00000022,0x00000114,0x00000116,
0x0004003d,0x00000006,0x00000119,0x000000f8,0x000500c5,0x00000006,0x0000011a,0x00000119,
0x00000118,0x0003003e,0x000000f8,0x0000011a,0x000200f9,0x000000fd,0x000200f8,0x000000fd,
0x0004003d,0x00000006,0x0000011b,0x000000f9,0x00050080,0x00000006,0x0000011c,0x0000011b,
0x00000097,0x0003003e,0x000000f9,0x0000011c,0x000200f9,0x000000fa,0x000200f8,0x000000fc,
0x0004003d,0x00000006,0x0000011e,0x000000f8,0x0003003e,0x0000011d,0x0000011e,0x00050039,
0x00000002,0x0000011f,0x00000026,0x0000011d,0x000100fd,0x00010038,0x00050036,0x00000006,
0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000028,0x00000009,0x00050041,
0x0000002d,0x0000002e,0x0000002b,0x0000002c,0x0004003d,0x00000006,0x0000002f,0x0000002e,
0x00050084,0x00000006,0x00000030,0x00000028,0x0000002f,0x0004003d,0x00000006,0x00000031,
0x0000000a,0x00050041,0x0000002d,0x00000033,0x0000002b,0x00000032,0x0004003d,0x00000006,
0x00000034,0x00000033,0x00050084,0x00000006,0x00000035,0x00000031,0x00000034,0x00050080,
0x00000006,0x00000036,0x00000030,0x00000035,0x00050041,0x0000002d,0x00000038,0x0000002b,
0x00000037,0x0004003d,0x00000006,0x00000039,0x00000038,0x00050080,0x00000006,0x0000003a,
0x00000036,0x00000039,0x000200fe,0x0000003a,0x00010038,0x00050036,0x00000006,0x0000000f,
0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,
0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003d,0x0000000d,0x00050041,0x0000002d,
0x0000003f,0x0000002b,0x0000003e,0x0004003d,0x00000006,0x00000040,0x0000003f,0x00050084,
0x00000006,0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,0x00000042,0x0000000e,
0x00050041,0x0000002d,0x00000044,0x0000002b,0x00000043,0x0004003d,0x00000006,0x00000045,
0x00000044,0x00050084,0x00000006,0x00000046,0x00000042,0x00000045,0x00050080,0x00000006,
0x00000047,0x00000041,0x00000046,0x00050041,0x0000002d,0x00000049,0x0000002b,0x00000048,
0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050080,0x00000006,0x0000004b,0x00000047,
0x0000004a,0x000200fe,0x0000004b,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,
0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,0x00000012,0x000200f8,
0x00000014,0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003d,0x00000006,0x0000004f,
0x00000011,0x00050089,0x00000006,0x00000051,0x0000004f,0x00000050,0x00050084,0x00000006,
0x00000053,0x00000051,0x00000052,0x0003003e,0x0000004e,0x00000053,0x0004003d,0x00000006,
0x00000054,0x0000004e,0x000200fe,0x00000054,0x00010038,0x00050036,0x00000015,0x00000018,
0x00000000,0x00000016,0x00030037,0x00000007,0x00000017,0x000200f8,0x00000019,0x0004003b,
0x00000007,0x00000057,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,
0x00000007,0x0000006c,0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,
0x00000007,0x0000006f,0x00000007,0x0004003b,0x00000007,0x00000072,0x00000007,0x0004003b,
0x00000007,0x0000007c,0x00000007,0x0004003b,0x00000007,0x0000007e,0x00000007,0x0004003b,
0x00000007,0x00000082,0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,
0x00000094,0x00000095,0x00000007,0x0004003b,0x00000007,0x000000a0,0x00000007,0x0004003b,
0x0000001a,0x000000a2,0x00000007,0x0004003b,0x0000001a,0x000000ae,0x00000007,0x0004003d,
0x00000006,0x00000058,0x00000017,0x00050041,0x0000002d,0x0000005a,0x0000002b,0x00000059,
0x0004003d,0x00000006,0x0000005b,0x0000005a,0x00050086,0x00000006,0x0000005c,0x00000058,
0x0000005b,0x0003003e,0x00000057,0x0000005c,0x0004003d,0x00000006,0x0000005e,0x00000017,
0x00050041,0x0000002d,0x0000005f,0x0000002b,0x00000059,0x0004003d,0x00000006,0x00000060,
0x0000005f,0x00050089,0x00000006,0x00000061,0x0000005e,0x00000060,0x0003003e,0x0000005d,
0x00000061,0x0004003d,0x00000006,0x00000062,0x0000005d,0x00050041,0x0000002d,0x00000064,
0x0000002b,0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,0x000500ae,0x00000066,
0x00000067,0x00000062,0x00000065,0x000300f7,0x00000069,0x00000000,0x000400fa,0x00000067,
0x00000068,0x00000069,0x000200f8,0x00000068,0x000200fe,0x0000006a,0x000200f8,0x00000069,
0x0004003d,0x00000006,0x0000006e,0x00000057,0x0003003e,0x0000006d,0x0000006e,0x0004003d,
0x00000006,0x00000070,0x0000005d,0x0003003e,0x0000006f,0x00000070,0x00060039,0x00000006,
0x00000071,0x0000000b,0x0000006d,0x0000006f,0x0003003e,0x0000006c,0x00000071,0x0004003d,
0x00000006,0x00000077,0x0000006c,0x00050086,0x00000006,0x00000078,0x00000077,0x00000050,
0x00060041,0x00000079,0x0000007a,0x00000076,0x0000006a,0x00000078,0x0004003d,0x00000006,
0x0000007b,0x0000007a,0x0003003e,0x00000072,0x0000007b,0x0003003e,0x0000007c,0x0000007d,
0x0004003d,0x00000006,0x0000007f,0x0000007c,0x0004003d,0x00000006,0x00000080,0x0000005d,
0x00050084,0x00000006,0x00000081,0x0000007f,0x00000080,0x0003003e,0x0000007e,0x00000081,
0x0004003d,0x00000006,0x00000083,0x0000005d,0x000500aa,0x00000066,0x00000085,0x00000083,
0x00000084,0x000600a9,0x00000015,0x00000087,0x00000085,0x00000048,0x00000086,0x0004007c,
0x00000006,0x00000088,0x00000087,0x0003003e,0x00000082,0x00000088,0x0004003d,0x00000006,
0x0000008a,0x00000072,0x0004003d,0x00000006,0x0000008b,0x0000007e,0x000500c2,0x00000006,
0x0000008c,0x0000008a,0x0000008b,0x0004003d,0x00000006,0x0000008d,0x00000082,0x000500c7,
0x00000006,0x0000008e,0x0000008c,0x0000008d,0x0003003e,0x00000089,0x0000008e,0x0004003d,
0x00000006,0x0000008f,0x0000007c,0x000500b0,0x00000066,0x00000091,0x0000008f,0x00000090,
0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,0x000200f8,
0x00000092,0x0004003d,0x00000006,0x00000096,0x00000089,0x0004003d,0x00000006,0x00000098,
0x0000007c,0x00050082,0x00000006,0x0000009a,0x00000098,0x00000099,0x000500c4,0x00000015,
0x0000009b,0x00000097,0x0000009a,0x0004007c,0x00000006,0x0000009c,0x0000009b,0x000500c7,
0x00000006,0x0000009d,0x00000096,0x0000009c,0x000500ab,0x00000066,0x0000009f,0x0000009d,
0x0000009e,0x0003003e,0x00000095,0x0000009f,0x0004003d,0x00000066,0x000000a1,0x00000095,
0x000300f7,0x000000a4,0x00000000,0x000400fa,0x000000a1,0x000000a3,0x000000a8,0x000200f8,
0x000000a3,0x0004003d,0x00000006,0x000000a6,0x0000007c,0x000500c4,0x00000015,0x000000a7,
0x000000a5,0x000000a6,0x0003003e,0x000000a2,0x000000a7,0x000200f9,0x000000a4,0x000200f8,
0x000000a8,0x0003003e,0x000000a2,0x0000006a,0x000200f9,0x000000a4,0x000200f8,0x000000a4,
0x0004003d,0x00000015,0x000000a9,0x000000a2,0x0004007c,0x00000006,0x000000aa,0x000000a9,
0x0003003e,0x000000a0,0x000000aa,0x0004003d,0x00000006,0x000000ab,0x000000a0,0x0004003d,
0x00000006,0x000000ac,0x00000089,0x000500c5,0x00000006,0x000000ad,0x000000ac,0x000000ab,
0x0003003e,0x00000089,0x000000ad,0x000200f9,0x00000093,0x000200f8,0x00000093,0x0004003d,
0x00000006,0x000000af,0x00000089,0x0004007c,0x00000015,0x000000b0,0x000000af,0x0003003e,
0x000000ae,0x000000b0,0x0004003d,0x00000015,0x000000b1,0x000000ae,0x000200fe,0x000000b1,
0x00010038,0x00050036,0x00000015,0x0000001d,0x00000000,0x0000001b,0x00030037,0x0000001a,
0x0000001c,0x000200f8,0x0000001e,0x0004003d,0x00000015,0x000000b4,0x0000001c,0x000200fe,
0x000000b4,0x00010038,0x00050036,0x00000006,0x00000022,0x00000000,0x0000001f,0x00030037,
0x00000007,0x00000020,0x00030037,0x0000001a,0x00000021,0x000200f8,0x00000023,0x0004003b,
0x00000007,0x000000b7,0x00000007,0x0004003b,0x00000007,0x000000bc,0x00000007,0x0004003b,
0x00000007,0x000000c1,0x00000007,0x0004003b,0x00000007,0x000000c2,0x00000007,0x0004003b,
0x00000007,0x000000c4,0x00000007,0x0004003b,0x00000007,0x000000c7,0x00000007,0x0004003b,
0x00000007,0x000000c8,0x00000007,0x0004003b,0x00000007,0x000000ca,0x00000007,0x0004003b,
0x00000007,0x000000ce,0x00000007,0x0004003b,0x00000007,0x000000d2,0x00000007,0x0004003b,
0x0000001a,0x000000d5,0x00000007,0x0004003b,0x00000007,0x000000de,0x00000007,0x0004003d,
0x00000006,0x000000b8,0x00000020,0x00050041,0x0000002d,0x000000b9,0x0000002b,0x00000059,
0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00050086,0x00000006,0x000000bb,0x000000b8,
0x000000ba,0x0003003e,0x000000b7,0x000000bb,0x0004003d,0x00000006,0x000000bd,0x00000020,
0x00050041,0x0000002d,0x000000be,0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000bf,
0x000000be,0x00050089,0x00000006,0x000000c0,0x000000bd,0x000000bf,0x0003003e,0x000000bc,
0x000000c0,0x0004003d,0x00000006,0x000000c3,0x000000b7,0x0003003e,0x000000c2,0x000000c3,
0x0004003d,0x00000006,0x000000c5,0x000000bc,0x0003003e,0x000000c4,0x000000c5,0x00060039,
0x00000006,0x000000c6,0x0000000f,0x000000c2,0x000000c4,0x0003003e,0x000000c1,0x000000c6,
0x0004003d,0x00000006,0x000000c9,0x000000c1,0x0003003e,0x000000c8,0x000000c9,0x00050041,
0x0000002d,0x000000cb,0x0000002b,0x00000043,0x0004003d,0x00000006,0x000000cc,0x000000cb,
0x0003003e,0x000000ca,0x000000cc,0x00060039,0x00000006,0x000000cd,0x00000013,0x000000c8,
0x000000ca,0x0003003e,0x000000c7,0x000000cd,0x00050041,0x0000002d,0x000000cf,0x0000002b,
0x00000043,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00050084,0x00000006,0x000000d1,
0x000000d0,0x00000052,0x0003003e,0x000000ce,0x000000d1,0x0004003d,0x00000006,0x000000d3,
0x000000ce,0x000500aa,0x00000066,0x000000d4,0x000000d3,0x00000090,0x000300f7,0x000000d7,
0x00000000,0x000400fa,0x000000d4,0x000000d6,0x000000d8,0x000200f8,0x000000d6,0x0003003e,
0x000000d5,0x000000a5,0x000200f9,0x000000d7,0x000200f8,0x000000d8,0x0004003d,0x00000006,
0x000000d9,0x000000ce,0x000500c4,0x00000015,0x000000da,0x00000097,0x000000d9,0x00050082,
0x00000015,0x000000db,0x000000da,0x00000097,0x0003003e,0x000000d5,0x000000db,0x000200f9,
0x000000d7,0x000200f8,0x000000d7,0x0004003d,0x00000015,0x000000dc,0x000000d5,0x0004007c,
0x00000006,0x000000dd,0x000000dc,0x0003003e,0x000000d2,0x000000dd,0x0004003d,0x00000015,
0x000000df,0x00000021,0x0004007c,0x00000006,0x000000e0,0x000000df,0x0004003d,0x00000006,
0x000000e1,0x000000d2,0x000500c7,0x00000006,0x000000e2,0x000000e0,0x000000e1,0x0004003d,
0x00000006,0x000000e3,0x000000c7,0x000500c4,0x00000006,0x000000e4,0x000000e2,0x000000e3,
0x0003003e,0x000000de,0x000000e4,0x0004003d,0x00000006,0x000000e5,0x000000de,0x000200fe,
0x000000e5,0x00010038,0x00050036,0x00000002,0x00000026,0x00000000,0x00000024,0x00030037,
0x00000007,0x00000025,0x000200f8,0x00000027,0x00050041,0x000000ef,0x000000f0,0x000000ee,
0x0000009e,0x0004003d,0x00000006,0x000000f1,0x000000f0,0x00050041,0x0000002d,0x000000f2,
0x0000002b,0x00000048,0x0004003d,0x00000006,0x000000f3,0x000000f2,0x00050086,0x00000006,
0x000000f4,0x000000f3,0x00000050,0x00050080,0x00000006,0x000000f5,0x000000f1,0x000000f4,
0x0004003d,0x00000006,0x000000f6,0x00000025,0x00060041,0x00000079,0x000000f7,0x000000eb,
0x0000006a,0x000000f5,0x0003003e,0x000000f7,0x000000f6,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * params . Bd + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
int loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int value = int(valueAsUint);
return value;
}
int convertComponent(int srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, int value)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
uint offset = getDestinationComponentOffset(vertex, component);
uint shiftBits = getShiftBits(offset, params . Bd);
uint valueBits = params . Bd * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
uint valueOut = 0;
for(uint i = 0;i < params . Ed;++ i)
{
uint cd = gl_GlobalInvocationID . x * params . Ed + i;
int srcValue = loadSourceComponent(cd);
int destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,355 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000012[] = {
0x07230203,0x00010000,0x00080007,0x00000113,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000cf,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
0x00000042,0x00080005,0x00000017,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
0x003b3175,0x00030005,0x00000016,0x00006463,0x00080005,0x0000001a,0x766e6f63,0x43747265,
0x6f706d6f,0x746e656e,0x3b317528,0x00000000,0x00050005,0x00000019,0x56637273,0x65756c61,
0x00000000,0x000a0005,0x0000001e,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
0x746e656e,0x3b317528,0x003b3175,0x00030005,0x0000001c,0x00006463,0x00040005,0x0000001d,
0x756c6176,0x00000065,0x000a0005,0x00000022,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000021,0x756c6176,0x55734165,
0x00746e69,0x00060005,0x00000025,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
0x00000025,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000025,0x00000001,
0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000025,0x00000002,0x4f637273,
0x65736666,0x00000074,0x00060006,0x00000025,0x00000003,0x74736564,0x7366664f,0x00007465,
0x00040006,0x00000025,0x00000004,0x0000734e,0x00040006,0x00000025,0x00000005,0x00007342,
0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,0x00000025,0x00000007,0x00007345,
0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,0x00000025,0x00000009,0x00006442,
0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,0x00000025,0x0000000b,0x00006445,
0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000004b,0x66696873,0x00000074,
0x00040005,0x00000054,0x74726576,0x00007865,0x00050005,0x0000005a,0x706d6f63,0x6e656e6f,
0x00000074,0x00040005,0x00000069,0x7366666f,0x00007465,0x00040005,0x0000006a,0x61726170,
0x0000006d,0x00040005,0x0000006c,0x61726170,0x0000006d,0x00040005,0x0000006f,0x636f6c62,
0x0000006b,0x00030005,0x00000071,0x00637273,0x00050006,0x00000071,0x00000000,0x44637273,
0x00617461,0x00030005,0x00000073,0x00000000,0x00050005,0x0000007a,0x756c6176,0x74694265,
0x00000073,0x00050005,0x0000007c,0x66696873,0x74694274,0x00000073,0x00050005,0x00000080,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000087,0x756c6176,0x55734165,0x00746e69,
0x00040005,0x0000008d,0x756c6176,0x00000065,0x00040005,0x00000095,0x74726576,0x00007865,
0x00050005,0x0000009a,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000009f,0x7366666f,
0x00007465,0x00040005,0x000000a0,0x61726170,0x0000006d,0x00040005,0x000000a2,0x61726170,
0x0000006d,0x00050005,0x000000a5,0x66696873,0x74694274,0x00000073,0x00040005,0x000000a6,
0x61726170,0x0000006d,0x00040005,0x000000a8,0x61726170,0x0000006d,0x00050005,0x000000ac,
0x756c6176,0x74694265,0x00000073,0x00050005,0x000000b0,0x756c6176,0x73614d65,0x0000006b,
0x00050005,0x000000c0,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000ca,0x74736564,
0x00000000,0x00060006,0x000000ca,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
0x000000cc,0x00000000,0x00080005,0x000000cf,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
0x496e6f69,0x00000044,0x00050005,0x000000e1,0x756c6176,0x74754f65,0x00000000,0x00030005,
0x000000e2,0x00000069,0x00030005,0x000000ed,0x00006463,0x00050005,0x000000fc,0x56637273,
0x65756c61,0x00000000,0x00040005,0x000000fd,0x61726170,0x0000006d,0x00050005,0x00000100,
0x74736564,0x756c6156,0x00000065,0x00040005,0x00000101,0x61726170,0x0000006d,0x00040005,
0x00000104,0x61726170,0x0000006d,0x00040005,0x00000106,0x61726170,0x0000006d,0x00040005,
0x0000010d,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,
0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,
0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,
0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,
0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,
0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,
0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,
0x00000025,0x00000002,0x00040047,0x00000070,0x00000006,0x00000004,0x00050048,0x00000071,
0x00000000,0x00000023,0x00000000,0x00030047,0x00000071,0x00000003,0x00040047,0x00000073,
0x00000022,0x00000000,0x00040047,0x00000073,0x00000021,0x00000001,0x00040047,0x000000c9,
0x00000006,0x00000004,0x00050048,0x000000ca,0x00000000,0x00000023,0x00000000,0x00030047,
0x000000ca,0x00000003,0x00040047,0x000000cc,0x00000022,0x00000000,0x00040047,0x000000cc,
0x00000021,0x00000000,0x00040047,0x000000cf,0x0000000b,0x0000001c,0x00040047,0x00000112,
0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
0x00000008,0x00000006,0x00000007,0x00000007,0x00040021,0x00000015,0x00000006,0x00000007,
0x00040021,0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000028,
0x0000003b,0x0000000a,0x0004002b,0x00000028,0x00000040,0x00000009,0x0004002b,0x00000028,
0x00000045,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000004,0x0004002b,0x00000006,
0x0000004f,0x00000008,0x0004002b,0x00000028,0x00000056,0x00000008,0x0004002b,0x00000028,
0x00000060,0x00000004,0x00020014,0x00000063,0x0004002b,0x00000006,0x00000067,0x00000000,
0x0003001d,0x00000070,0x00000006,0x0003001e,0x00000071,0x00000070,0x00040020,0x00000072,
0x00000002,0x00000071,0x0004003b,0x00000072,0x00000073,0x00000002,0x0004002b,0x00000028,
0x00000074,0x00000000,0x00040020,0x00000077,0x00000002,0x00000006,0x0004002b,0x00000006,
0x0000007b,0x0000000a,0x0004002b,0x00000006,0x00000082,0x00000003,0x0004002b,0x00000028,
0x00000084,0x000003ff,0x0004002b,0x00000006,0x000000b2,0x00000020,0x00040020,0x000000b4,
0x00000007,0x00000028,0x0004002b,0x00000028,0x000000b8,0xffffffff,0x0004002b,0x00000028,
0x000000ba,0x00000001,0x0003001d,0x000000c9,0x00000006,0x0003001e,0x000000ca,0x000000c9,
0x00040020,0x000000cb,0x00000002,0x000000ca,0x0004003b,0x000000cb,0x000000cc,0x00000002,
0x00040017,0x000000cd,0x00000006,0x00000003,0x00040020,0x000000ce,0x00000001,0x000000cd,
0x0004003b,0x000000ce,0x000000cf,0x00000001,0x00040020,0x000000d0,0x00000001,0x00000006,
0x0004002b,0x00000028,0x000000e9,0x0000000b,0x0004002b,0x00000006,0x00000110,0x00000040,
0x0004002b,0x00000006,0x00000111,0x00000001,0x0006002c,0x000000cd,0x00000112,0x00000110,
0x00000111,0x00000111,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003b,0x00000007,0x000000e1,0x00000007,0x0004003b,0x00000007,0x000000e2,
0x00000007,0x0004003b,0x00000007,0x000000ed,0x00000007,0x0004003b,0x00000007,0x000000fc,
0x00000007,0x0004003b,0x00000007,0x000000fd,0x00000007,0x0004003b,0x00000007,0x00000100,
0x00000007,0x0004003b,0x00000007,0x00000101,0x00000007,0x0004003b,0x00000007,0x00000104,
0x00000007,0x0004003b,0x00000007,0x00000106,0x00000007,0x0004003b,0x00000007,0x0000010d,
0x00000007,0x00050041,0x000000d0,0x000000d9,0x000000cf,0x00000067,0x0004003d,0x00000006,
0x000000da,0x000000d9,0x00050041,0x0000002a,0x000000db,0x00000027,0x00000074,0x0004003d,
0x00000006,0x000000dc,0x000000db,0x000500ae,0x00000063,0x000000dd,0x000000da,0x000000dc,
0x000300f7,0x000000df,0x00000000,0x000400fa,0x000000dd,0x000000de,0x000000df,0x000200f8,
0x000000de,0x000100fd,0x000200f8,0x000000df,0x0003003e,0x000000e1,0x00000067,0x0003003e,
0x000000e2,0x00000067,0x000200f9,0x000000e3,0x000200f8,0x000000e3,0x000400f6,0x000000e5,
0x000000e6,0x00000000,0x000200f9,0x000000e7,0x000200f8,0x000000e7,0x0004003d,0x00000006,
0x000000e8,0x000000e2,0x00050041,0x0000002a,0x000000ea,0x00000027,0x000000e9,0x0004003d,
0x00000006,0x000000eb,0x000000ea,0x000500b0,0x00000063,0x000000ec,0x000000e8,0x000000eb,
0x000400fa,0x000000ec,0x000000e4,0x000000e5,0x000200f8,0x000000e4,0x00050041,0x000000d0,
0x000000ee,0x000000cf,0x00000067,0x0004003d,0x00000006,0x000000ef,0x000000ee,0x00050041,
0x0000002a,0x000000f0,0x00000027,0x000000e9,0x0004003d,0x00000006,0x000000f1,0x000000f0,
0x00050084,0x00000006,0x000000f2,0x000000ef,0x000000f1,0x0004003d,0x00000006,0x000000f3,
0x000000e2,0x00050080,0x00000006,0x000000f4,0x000000f2,0x000000f3,0x0003003e,0x000000ed,
0x000000f4,0x0004003d,0x00000006,0x000000f5,0x000000ed,0x00050041,0x0000002a,0x000000f6,
0x00000027,0x000000ba,0x0004003d,0x00000006,0x000000f7,0x000000f6,0x000500ae,0x00000063,
0x000000f8,0x000000f5,0x000000f7,0x000300f7,0x000000fa,0x00000000,0x000400fa,0x000000f8,
0x000000f9,0x000000fa,0x000200f8,0x000000f9,0x000200f9,0x000000e5,0x000200f8,0x000000fa,
0x0004003d,0x00000006,0x000000fe,0x000000ed,0x0003003e,0x000000fd,0x000000fe,0x00050039,
0x00000006,0x000000ff,0x00000017,0x000000fd,0x0003003e,0x000000fc,0x000000ff,0x0004003d,
0x00000006,0x00000102,0x000000fc,0x0003003e,0x00000101,0x00000102,0x00050039,0x00000006,
0x00000103,0x0000001a,0x00000101,0x0003003e,0x00000100,0x00000103,0x0004003d,0x00000006,
0x00000105,0x000000ed,0x0003003e,0x00000104,0x00000105,0x0004003d,0x00000006,0x00000107,
0x00000100,0x0003003e,0x00000106,0x00000107,0x00060039,0x00000006,0x00000108,0x0000001e,
0x00000104,0x00000106,0x0004003d,0x00000006,0x00000109,0x000000e1,0x000500c5,0x00000006,
0x0000010a,0x00000109,0x00000108,0x0003003e,0x000000e1,0x0000010a,0x000200f9,0x000000e6,
0x000200f8,0x000000e6,0x0004003d,0x00000006,0x0000010b,0x000000e2,0x00050080,0x00000006,
0x0000010c,0x0000010b,0x000000ba,0x0003003e,0x000000e2,0x0000010c,0x000200f9,0x000000e3,
0x000200f8,0x000000e5,0x0004003d,0x00000006,0x0000010e,0x000000e1,0x0003003e,0x0000010d,
0x0000010e,0x00050039,0x00000002,0x0000010f,0x00000022,0x0000010d,0x000100fd,0x00010038,
0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,
0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,
0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,
0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,
0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,
0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,
0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,
0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,
0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003a,0x0000000d,
0x00050041,0x0000002a,0x0000003c,0x00000027,0x0000003b,0x0004003d,0x00000006,0x0000003d,
0x0000003c,0x00050084,0x00000006,0x0000003e,0x0000003a,0x0000003d,0x0004003d,0x00000006,
0x0000003f,0x0000000e,0x00050041,0x0000002a,0x00000041,0x00000027,0x00000040,0x0004003d,
0x00000006,0x00000042,0x00000041,0x00050084,0x00000006,0x00000043,0x0000003f,0x00000042,
0x00050080,0x00000006,0x00000044,0x0000003e,0x00000043,0x00050041,0x0000002a,0x00000046,
0x00000027,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050080,0x00000006,
0x00000048,0x00000044,0x00000047,0x000200fe,0x00000048,0x00010038,0x00050036,0x00000006,
0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003d,
0x00000006,0x0000004c,0x00000011,0x00050089,0x00000006,0x0000004e,0x0000004c,0x0000004d,
0x00050084,0x00000006,0x00000050,0x0000004e,0x0000004f,0x0003003e,0x0000004b,0x00000050,
0x0004003d,0x00000006,0x00000051,0x0000004b,0x000200fe,0x00000051,0x00010038,0x00050036,
0x00000006,0x00000017,0x00000000,0x00000015,0x00030037,0x00000007,0x00000016,0x000200f8,
0x00000018,0x0004003b,0x00000007,0x00000054,0x00000007,0x0004003b,0x00000007,0x0000005a,
0x00000007,0x0004003b,0x00000007,0x00000069,0x00000007,0x0004003b,0x00000007,0x0000006a,
0x00000007,0x0004003b,0x00000007,0x0000006c,0x00000007,0x0004003b,0x00000007,0x0000006f,
0x00000007,0x0004003b,0x00000007,0x0000007a,0x00000007,0x0004003b,0x00000007,0x0000007c,
0x00000007,0x0004003b,0x00000007,0x00000080,0x00000007,0x0004003b,0x00000007,0x00000087,
0x00000007,0x0004003b,0x00000007,0x0000008d,0x00000007,0x0004003d,0x00000006,0x00000055,
0x00000016,0x00050041,0x0000002a,0x00000057,0x00000027,0x00000056,0x0004003d,0x00000006,
0x00000058,0x00000057,0x00050086,0x00000006,0x00000059,0x00000055,0x00000058,0x0003003e,
0x00000054,0x00000059,0x0004003d,0x00000006,0x0000005b,0x00000016,0x00050041,0x0000002a,
0x0000005c,0x00000027,0x00000056,0x0004003d,0x00000006,0x0000005d,0x0000005c,0x00050089,
0x00000006,0x0000005e,0x0000005b,0x0000005d,0x0003003e,0x0000005a,0x0000005e,0x0004003d,
0x00000006,0x0000005f,0x0000005a,0x00050041,0x0000002a,0x00000061,0x00000027,0x00000060,
0x0004003d,0x00000006,0x00000062,0x00000061,0x000500ae,0x00000063,0x00000064,0x0000005f,
0x00000062,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,0x00000065,0x00000066,
0x000200f8,0x00000065,0x000200fe,0x00000067,0x000200f8,0x00000066,0x0004003d,0x00000006,
0x0000006b,0x00000054,0x0003003e,0x0000006a,0x0000006b,0x0004003d,0x00000006,0x0000006d,
0x0000005a,0x0003003e,0x0000006c,0x0000006d,0x00060039,0x00000006,0x0000006e,0x0000000b,
0x0000006a,0x0000006c,0x0003003e,0x00000069,0x0000006e,0x0004003d,0x00000006,0x00000075,
0x00000069,0x00050086,0x00000006,0x00000076,0x00000075,0x0000004d,0x00060041,0x00000077,
0x00000078,0x00000073,0x00000074,0x00000076,0x0004003d,0x00000006,0x00000079,0x00000078,
0x0003003e,0x0000006f,0x00000079,0x0003003e,0x0000007a,0x0000007b,0x0004003d,0x00000006,
0x0000007d,0x0000007a,0x0004003d,0x00000006,0x0000007e,0x0000005a,0x00050084,0x00000006,
0x0000007f,0x0000007d,0x0000007e,0x0003003e,0x0000007c,0x0000007f,0x0004003d,0x00000006,
0x00000081,0x0000005a,0x000500aa,0x00000063,0x00000083,0x00000081,0x00000082,0x000600a9,
0x00000028,0x00000085,0x00000083,0x00000045,0x00000084,0x0004007c,0x00000006,0x00000086,
0x00000085,0x0003003e,0x00000080,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000006f,
0x0004003d,0x00000006,0x00000089,0x0000007c,0x000500c2,0x00000006,0x0000008a,0x00000088,
0x00000089,0x0004003d,0x00000006,0x0000008b,0x00000080,0x000500c7,0x00000006,0x0000008c,
0x0000008a,0x0000008b,0x0003003e,0x00000087,0x0000008c,0x0004003d,0x00000006,0x0000008e,
0x00000087,0x0003003e,0x0000008d,0x0000008e,0x0004003d,0x00000006,0x0000008f,0x0000008d,
0x000200fe,0x0000008f,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,0x00000015,
0x00030037,0x00000007,0x00000019,0x000200f8,0x0000001b,0x0004003d,0x00000006,0x00000092,
0x00000019,0x000200fe,0x00000092,0x00010038,0x00050036,0x00000006,0x0000001e,0x00000000,
0x00000008,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,
0x0000001f,0x0004003b,0x00000007,0x00000095,0x00000007,0x0004003b,0x00000007,0x0000009a,
0x00000007,0x0004003b,0x00000007,0x0000009f,0x00000007,0x0004003b,0x00000007,0x000000a0,
0x00000007,0x0004003b,0x00000007,0x000000a2,0x00000007,0x0004003b,0x00000007,0x000000a5,
0x00000007,0x0004003b,0x00000007,0x000000a6,0x00000007,0x0004003b,0x00000007,0x000000a8,
0x00000007,0x0004003b,0x00000007,0x000000ac,0x00000007,0x0004003b,0x00000007,0x000000b0,
0x00000007,0x0004003b,0x000000b4,0x000000b5,0x00000007,0x0004003b,0x00000007,0x000000c0,
0x00000007,0x0004003d,0x00000006,0x00000096,0x0000001c,0x00050041,0x0000002a,0x00000097,
0x00000027,0x00000056,0x0004003d,0x00000006,0x00000098,0x00000097,0x00050086,0x00000006,
0x00000099,0x00000096,0x00000098,0x0003003e,0x00000095,0x00000099,0x0004003d,0x00000006,
0x0000009b,0x0000001c,0x00050041,0x0000002a,0x0000009c,0x00000027,0x00000056,0x0004003d,
0x00000006,0x0000009d,0x0000009c,0x00050089,0x00000006,0x0000009e,0x0000009b,0x0000009d,
0x0003003e,0x0000009a,0x0000009e,0x0004003d,0x00000006,0x000000a1,0x00000095,0x0003003e,
0x000000a0,0x000000a1,0x0004003d,0x00000006,0x000000a3,0x0000009a,0x0003003e,0x000000a2,
0x000000a3,0x00060039,0x00000006,0x000000a4,0x0000000f,0x000000a0,0x000000a2,0x0003003e,
0x0000009f,0x000000a4,0x0004003d,0x00000006,0x000000a7,0x0000009f,0x0003003e,0x000000a6,
0x000000a7,0x00050041,0x0000002a,0x000000a9,0x00000027,0x00000040,0x0004003d,0x00000006,
0x000000aa,0x000000a9,0x0003003e,0x000000a8,0x000000aa,0x00060039,0x00000006,0x000000ab,
0x00000013,0x000000a6,0x000000a8,0x0003003e,0x000000a5,0x000000ab,0x00050041,0x0000002a,
0x000000ad,0x00000027,0x00000040,0x0004003d,0x00000006,0x000000ae,0x000000ad,0x00050084,
0x00000006,0x000000af,0x000000ae,0x0000004f,0x0003003e,0x000000ac,0x000000af,0x0004003d,
0x00000006,0x000000b1,0x000000ac,0x000500aa,0x00000063,0x000000b3,0x000000b1,0x000000b2,
0x000300f7,0x000000b7,0x00000000,0x000400fa,0x000000b3,0x000000b6,0x000000b9,0x000200f8,
0x000000b6,0x0003003e,0x000000b5,0x000000b8,0x000200f9,0x000000b7,0x000200f8,0x000000b9,
0x0004003d,0x00000006,0x000000bb,0x000000ac,0x000500c4,0x00000028,0x000000bc,0x000000ba,
0x000000bb,0x00050082,0x00000028,0x000000bd,0x000000bc,0x000000ba,0x0003003e,0x000000b5,
0x000000bd,0x000200f9,0x000000b7,0x000200f8,0x000000b7,0x0004003d,0x00000028,0x000000be,
0x000000b5,0x0004007c,0x00000006,0x000000bf,0x000000be,0x0003003e,0x000000b0,0x000000bf,
0x0004003d,0x00000006,0x000000c1,0x0000001d,0x0004003d,0x00000006,0x000000c2,0x000000b0,
0x000500c7,0x00000006,0x000000c3,0x000000c1,0x000000c2,0x0004003d,0x00000006,0x000000c4,
0x000000a5,0x000500c4,0x00000006,0x000000c5,0x000000c3,0x000000c4,0x0003003e,0x000000c0,
0x000000c5,0x0004003d,0x00000006,0x000000c6,0x000000c0,0x000200fe,0x000000c6,0x00010038,
0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,
0x000200f8,0x00000023,0x00050041,0x000000d0,0x000000d1,0x000000cf,0x00000067,0x0004003d,
0x00000006,0x000000d2,0x000000d1,0x00050041,0x0000002a,0x000000d3,0x00000027,0x00000045,
0x0004003d,0x00000006,0x000000d4,0x000000d3,0x00050086,0x00000006,0x000000d5,0x000000d4,
0x0000004d,0x00050080,0x00000006,0x000000d6,0x000000d2,0x000000d5,0x0004003d,0x00000006,
0x000000d7,0x00000021,0x00060041,0x00000077,0x000000d8,0x000000cc,0x00000074,0x000000d6,
0x0003003e,0x000000d8,0x000000d7,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * params . Bd + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
uint loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;
return value;
}
uint convertComponent(uint srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, uint value)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
uint offset = getDestinationComponentOffset(vertex, component);
uint shiftBits = getShiftBits(offset, params . Bd);
uint valueBits = params . Bd * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
if(gl_GlobalInvocationID . x >= params . outputCount)
return;
uint valueOut = 0;
for(uint i = 0;i < params . Ed;++ i)
{
uint cd = gl_GlobalInvocationID . x * params . Ed + i;
if(cd >= params . componentCount)
{
break;
}
uint srcValue = loadSourceComponent(cd);
uint destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,339 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000013[] = {
0x07230203,0x00010000,0x00080007,0x00000104,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000cf,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
0x00000042,0x00080005,0x00000017,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
0x003b3175,0x00030005,0x00000016,0x00006463,0x00080005,0x0000001a,0x766e6f63,0x43747265,
0x6f706d6f,0x746e656e,0x3b317528,0x00000000,0x00050005,0x00000019,0x56637273,0x65756c61,
0x00000000,0x000a0005,0x0000001e,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
0x746e656e,0x3b317528,0x003b3175,0x00030005,0x0000001c,0x00006463,0x00040005,0x0000001d,
0x756c6176,0x00000065,0x000a0005,0x00000022,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000021,0x756c6176,0x55734165,
0x00746e69,0x00060005,0x00000025,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
0x00000025,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000025,0x00000001,
0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000025,0x00000002,0x4f637273,
0x65736666,0x00000074,0x00060006,0x00000025,0x00000003,0x74736564,0x7366664f,0x00007465,
0x00040006,0x00000025,0x00000004,0x0000734e,0x00040006,0x00000025,0x00000005,0x00007342,
0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,0x00000025,0x00000007,0x00007345,
0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,0x00000025,0x00000009,0x00006442,
0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,0x00000025,0x0000000b,0x00006445,
0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000004b,0x66696873,0x00000074,
0x00040005,0x00000054,0x74726576,0x00007865,0x00050005,0x0000005a,0x706d6f63,0x6e656e6f,
0x00000074,0x00040005,0x00000069,0x7366666f,0x00007465,0x00040005,0x0000006a,0x61726170,
0x0000006d,0x00040005,0x0000006c,0x61726170,0x0000006d,0x00040005,0x0000006f,0x636f6c62,
0x0000006b,0x00030005,0x00000071,0x00637273,0x00050006,0x00000071,0x00000000,0x44637273,
0x00617461,0x00030005,0x00000073,0x00000000,0x00050005,0x0000007a,0x756c6176,0x74694265,
0x00000073,0x00050005,0x0000007c,0x66696873,0x74694274,0x00000073,0x00050005,0x00000080,
0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000087,0x756c6176,0x55734165,0x00746e69,
0x00040005,0x0000008d,0x756c6176,0x00000065,0x00040005,0x00000095,0x74726576,0x00007865,
0x00050005,0x0000009a,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000009f,0x7366666f,
0x00007465,0x00040005,0x000000a0,0x61726170,0x0000006d,0x00040005,0x000000a2,0x61726170,
0x0000006d,0x00050005,0x000000a5,0x66696873,0x74694274,0x00000073,0x00040005,0x000000a6,
0x61726170,0x0000006d,0x00040005,0x000000a8,0x61726170,0x0000006d,0x00050005,0x000000ac,
0x756c6176,0x74694265,0x00000073,0x00050005,0x000000b0,0x756c6176,0x73614d65,0x0000006b,
0x00050005,0x000000c0,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000ca,0x74736564,
0x00000000,0x00060006,0x000000ca,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
0x000000cc,0x00000000,0x00080005,0x000000cf,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
0x496e6f69,0x00000044,0x00050005,0x000000d9,0x756c6176,0x74754f65,0x00000000,0x00030005,
0x000000da,0x00000069,0x00030005,0x000000e5,0x00006463,0x00050005,0x000000ed,0x56637273,
0x65756c61,0x00000000,0x00040005,0x000000ee,0x61726170,0x0000006d,0x00050005,0x000000f1,
0x74736564,0x756c6156,0x00000065,0x00040005,0x000000f2,0x61726170,0x0000006d,0x00040005,
0x000000f5,0x61726170,0x0000006d,0x00040005,0x000000f7,0x61726170,0x0000006d,0x00040005,
0x000000fe,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,
0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,
0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,
0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,
0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,
0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,
0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,
0x00000025,0x00000002,0x00040047,0x00000070,0x00000006,0x00000004,0x00050048,0x00000071,
0x00000000,0x00000023,0x00000000,0x00030047,0x00000071,0x00000003,0x00040047,0x00000073,
0x00000022,0x00000000,0x00040047,0x00000073,0x00000021,0x00000001,0x00040047,0x000000c9,
0x00000006,0x00000004,0x00050048,0x000000ca,0x00000000,0x00000023,0x00000000,0x00030047,
0x000000ca,0x00000003,0x00040047,0x000000cc,0x00000022,0x00000000,0x00040047,0x000000cc,
0x00000021,0x00000000,0x00040047,0x000000cf,0x0000000b,0x0000001c,0x00040047,0x00000103,
0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
0x00000008,0x00000006,0x00000007,0x00000007,0x00040021,0x00000015,0x00000006,0x00000007,
0x00040021,0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000028,
0x0000003b,0x0000000a,0x0004002b,0x00000028,0x00000040,0x00000009,0x0004002b,0x00000028,
0x00000045,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000004,0x0004002b,0x00000006,
0x0000004f,0x00000008,0x0004002b,0x00000028,0x00000056,0x00000008,0x0004002b,0x00000028,
0x00000060,0x00000004,0x00020014,0x00000063,0x0004002b,0x00000006,0x00000067,0x00000000,
0x0003001d,0x00000070,0x00000006,0x0003001e,0x00000071,0x00000070,0x00040020,0x00000072,
0x00000002,0x00000071,0x0004003b,0x00000072,0x00000073,0x00000002,0x0004002b,0x00000028,
0x00000074,0x00000000,0x00040020,0x00000077,0x00000002,0x00000006,0x0004002b,0x00000006,
0x0000007b,0x0000000a,0x0004002b,0x00000006,0x00000082,0x00000003,0x0004002b,0x00000028,
0x00000084,0x000003ff,0x0004002b,0x00000006,0x000000b2,0x00000020,0x00040020,0x000000b4,
0x00000007,0x00000028,0x0004002b,0x00000028,0x000000b8,0xffffffff,0x0004002b,0x00000028,
0x000000ba,0x00000001,0x0003001d,0x000000c9,0x00000006,0x0003001e,0x000000ca,0x000000c9,
0x00040020,0x000000cb,0x00000002,0x000000ca,0x0004003b,0x000000cb,0x000000cc,0x00000002,
0x00040017,0x000000cd,0x00000006,0x00000003,0x00040020,0x000000ce,0x00000001,0x000000cd,
0x0004003b,0x000000ce,0x000000cf,0x00000001,0x00040020,0x000000d0,0x00000001,0x00000006,
0x0004002b,0x00000028,0x000000e1,0x0000000b,0x0004002b,0x00000006,0x00000101,0x00000040,
0x0004002b,0x00000006,0x00000102,0x00000001,0x0006002c,0x000000cd,0x00000103,0x00000101,
0x00000102,0x00000102,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003b,0x00000007,0x000000d9,0x00000007,0x0004003b,0x00000007,0x000000da,
0x00000007,0x0004003b,0x00000007,0x000000e5,0x00000007,0x0004003b,0x00000007,0x000000ed,
0x00000007,0x0004003b,0x00000007,0x000000ee,0x00000007,0x0004003b,0x00000007,0x000000f1,
0x00000007,0x0004003b,0x00000007,0x000000f2,0x00000007,0x0004003b,0x00000007,0x000000f5,
0x00000007,0x0004003b,0x00000007,0x000000f7,0x00000007,0x0004003b,0x00000007,0x000000fe,
0x00000007,0x0003003e,0x000000d9,0x00000067,0x0003003e,0x000000da,0x00000067,0x000200f9,
0x000000db,0x000200f8,0x000000db,0x000400f6,0x000000dd,0x000000de,0x00000000,0x000200f9,
0x000000df,0x000200f8,0x000000df,0x0004003d,0x00000006,0x000000e0,0x000000da,0x00050041,
0x0000002a,0x000000e2,0x00000027,0x000000e1,0x0004003d,0x00000006,0x000000e3,0x000000e2,
0x000500b0,0x00000063,0x000000e4,0x000000e0,0x000000e3,0x000400fa,0x000000e4,0x000000dc,
0x000000dd,0x000200f8,0x000000dc,0x00050041,0x000000d0,0x000000e6,0x000000cf,0x00000067,
0x0004003d,0x00000006,0x000000e7,0x000000e6,0x00050041,0x0000002a,0x000000e8,0x00000027,
0x000000e1,0x0004003d,0x00000006,0x000000e9,0x000000e8,0x00050084,0x00000006,0x000000ea,
0x000000e7,0x000000e9,0x0004003d,0x00000006,0x000000eb,0x000000da,0x00050080,0x00000006,
0x000000ec,0x000000ea,0x000000eb,0x0003003e,0x000000e5,0x000000ec,0x0004003d,0x00000006,
0x000000ef,0x000000e5,0x0003003e,0x000000ee,0x000000ef,0x00050039,0x00000006,0x000000f0,
0x00000017,0x000000ee,0x0003003e,0x000000ed,0x000000f0,0x0004003d,0x00000006,0x000000f3,
0x000000ed,0x0003003e,0x000000f2,0x000000f3,0x00050039,0x00000006,0x000000f4,0x0000001a,
0x000000f2,0x0003003e,0x000000f1,0x000000f4,0x0004003d,0x00000006,0x000000f6,0x000000e5,
0x0003003e,0x000000f5,0x000000f6,0x0004003d,0x00000006,0x000000f8,0x000000f1,0x0003003e,
0x000000f7,0x000000f8,0x00060039,0x00000006,0x000000f9,0x0000001e,0x000000f5,0x000000f7,
0x0004003d,0x00000006,0x000000fa,0x000000d9,0x000500c5,0x00000006,0x000000fb,0x000000fa,
0x000000f9,0x0003003e,0x000000d9,0x000000fb,0x000200f9,0x000000de,0x000200f8,0x000000de,
0x0004003d,0x00000006,0x000000fc,0x000000da,0x00050080,0x00000006,0x000000fd,0x000000fc,
0x000000ba,0x0003003e,0x000000da,0x000000fd,0x000200f9,0x000000db,0x000200f8,0x000000dd,
0x0004003d,0x00000006,0x000000ff,0x000000d9,0x0003003e,0x000000fe,0x000000ff,0x00050039,
0x00000002,0x00000100,0x00000022,0x000000fe,0x000100fd,0x00010038,0x00050036,0x00000006,
0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,
0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,
0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,
0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,0x0004003d,0x00000006,
0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,0x00000031,0x00050080,
0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,0x00000035,0x00000027,
0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,0x00000006,0x00000037,
0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,0x00000006,0x0000000f,
0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,
0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003a,0x0000000d,0x00050041,0x0000002a,
0x0000003c,0x00000027,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000003c,0x00050084,
0x00000006,0x0000003e,0x0000003a,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000000e,
0x00050041,0x0000002a,0x00000041,0x00000027,0x00000040,0x0004003d,0x00000006,0x00000042,
0x00000041,0x00050084,0x00000006,0x00000043,0x0000003f,0x00000042,0x00050080,0x00000006,
0x00000044,0x0000003e,0x00000043,0x00050041,0x0000002a,0x00000046,0x00000027,0x00000045,
0x0004003d,0x00000006,0x00000047,0x00000046,0x00050080,0x00000006,0x00000048,0x00000044,
0x00000047,0x000200fe,0x00000048,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,
0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,0x00000012,0x000200f8,
0x00000014,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003d,0x00000006,0x0000004c,
0x00000011,0x00050089,0x00000006,0x0000004e,0x0000004c,0x0000004d,0x00050084,0x00000006,
0x00000050,0x0000004e,0x0000004f,0x0003003e,0x0000004b,0x00000050,0x0004003d,0x00000006,
0x00000051,0x0000004b,0x000200fe,0x00000051,0x00010038,0x00050036,0x00000006,0x00000017,
0x00000000,0x00000015,0x00030037,0x00000007,0x00000016,0x000200f8,0x00000018,0x0004003b,
0x00000007,0x00000054,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,
0x00000007,0x00000069,0x00000007,0x0004003b,0x00000007,0x0000006a,0x00000007,0x0004003b,
0x00000007,0x0000006c,0x00000007,0x0004003b,0x00000007,0x0000006f,0x00000007,0x0004003b,
0x00000007,0x0000007a,0x00000007,0x0004003b,0x00000007,0x0000007c,0x00000007,0x0004003b,
0x00000007,0x00000080,0x00000007,0x0004003b,0x00000007,0x00000087,0x00000007,0x0004003b,
0x00000007,0x0000008d,0x00000007,0x0004003d,0x00000006,0x00000055,0x00000016,0x00050041,
0x0000002a,0x00000057,0x00000027,0x00000056,0x0004003d,0x00000006,0x00000058,0x00000057,
0x00050086,0x00000006,0x00000059,0x00000055,0x00000058,0x0003003e,0x00000054,0x00000059,
0x0004003d,0x00000006,0x0000005b,0x00000016,0x00050041,0x0000002a,0x0000005c,0x00000027,
0x00000056,0x0004003d,0x00000006,0x0000005d,0x0000005c,0x00050089,0x00000006,0x0000005e,
0x0000005b,0x0000005d,0x0003003e,0x0000005a,0x0000005e,0x0004003d,0x00000006,0x0000005f,
0x0000005a,0x00050041,0x0000002a,0x00000061,0x00000027,0x00000060,0x0004003d,0x00000006,
0x00000062,0x00000061,0x000500ae,0x00000063,0x00000064,0x0000005f,0x00000062,0x000300f7,
0x00000066,0x00000000,0x000400fa,0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,
0x000200fe,0x00000067,0x000200f8,0x00000066,0x0004003d,0x00000006,0x0000006b,0x00000054,
0x0003003e,0x0000006a,0x0000006b,0x0004003d,0x00000006,0x0000006d,0x0000005a,0x0003003e,
0x0000006c,0x0000006d,0x00060039,0x00000006,0x0000006e,0x0000000b,0x0000006a,0x0000006c,
0x0003003e,0x00000069,0x0000006e,0x0004003d,0x00000006,0x00000075,0x00000069,0x00050086,
0x00000006,0x00000076,0x00000075,0x0000004d,0x00060041,0x00000077,0x00000078,0x00000073,
0x00000074,0x00000076,0x0004003d,0x00000006,0x00000079,0x00000078,0x0003003e,0x0000006f,
0x00000079,0x0003003e,0x0000007a,0x0000007b,0x0004003d,0x00000006,0x0000007d,0x0000007a,
0x0004003d,0x00000006,0x0000007e,0x0000005a,0x00050084,0x00000006,0x0000007f,0x0000007d,
0x0000007e,0x0003003e,0x0000007c,0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000005a,
0x000500aa,0x00000063,0x00000083,0x00000081,0x00000082,0x000600a9,0x00000028,0x00000085,
0x00000083,0x00000045,0x00000084,0x0004007c,0x00000006,0x00000086,0x00000085,0x0003003e,
0x00000080,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000006f,0x0004003d,0x00000006,
0x00000089,0x0000007c,0x000500c2,0x00000006,0x0000008a,0x00000088,0x00000089,0x0004003d,
0x00000006,0x0000008b,0x00000080,0x000500c7,0x00000006,0x0000008c,0x0000008a,0x0000008b,
0x0003003e,0x00000087,0x0000008c,0x0004003d,0x00000006,0x0000008e,0x00000087,0x0003003e,
0x0000008d,0x0000008e,0x0004003d,0x00000006,0x0000008f,0x0000008d,0x000200fe,0x0000008f,
0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,0x00000015,0x00030037,0x00000007,
0x00000019,0x000200f8,0x0000001b,0x0004003d,0x00000006,0x00000092,0x00000019,0x000200fe,
0x00000092,0x00010038,0x00050036,0x00000006,0x0000001e,0x00000000,0x00000008,0x00030037,
0x00000007,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,0x0004003b,
0x00000007,0x00000095,0x00000007,0x0004003b,0x00000007,0x0000009a,0x00000007,0x0004003b,
0x00000007,0x0000009f,0x00000007,0x0004003b,0x00000007,0x000000a0,0x00000007,0x0004003b,
0x00000007,0x000000a2,0x00000007,0x0004003b,0x00000007,0x000000a5,0x00000007,0x0004003b,
0x00000007,0x000000a6,0x00000007,0x0004003b,0x00000007,0x000000a8,0x00000007,0x0004003b,
0x00000007,0x000000ac,0x00000007,0x0004003b,0x00000007,0x000000b0,0x00000007,0x0004003b,
0x000000b4,0x000000b5,0x00000007,0x0004003b,0x00000007,0x000000c0,0x00000007,0x0004003d,
0x00000006,0x00000096,0x0000001c,0x00050041,0x0000002a,0x00000097,0x00000027,0x00000056,
0x0004003d,0x00000006,0x00000098,0x00000097,0x00050086,0x00000006,0x00000099,0x00000096,
0x00000098,0x0003003e,0x00000095,0x00000099,0x0004003d,0x00000006,0x0000009b,0x0000001c,
0x00050041,0x0000002a,0x0000009c,0x00000027,0x00000056,0x0004003d,0x00000006,0x0000009d,
0x0000009c,0x00050089,0x00000006,0x0000009e,0x0000009b,0x0000009d,0x0003003e,0x0000009a,
0x0000009e,0x0004003d,0x00000006,0x000000a1,0x00000095,0x0003003e,0x000000a0,0x000000a1,
0x0004003d,0x00000006,0x000000a3,0x0000009a,0x0003003e,0x000000a2,0x000000a3,0x00060039,
0x00000006,0x000000a4,0x0000000f,0x000000a0,0x000000a2,0x0003003e,0x0000009f,0x000000a4,
0x0004003d,0x00000006,0x000000a7,0x0000009f,0x0003003e,0x000000a6,0x000000a7,0x00050041,
0x0000002a,0x000000a9,0x00000027,0x00000040,0x0004003d,0x00000006,0x000000aa,0x000000a9,
0x0003003e,0x000000a8,0x000000aa,0x00060039,0x00000006,0x000000ab,0x00000013,0x000000a6,
0x000000a8,0x0003003e,0x000000a5,0x000000ab,0x00050041,0x0000002a,0x000000ad,0x00000027,
0x00000040,0x0004003d,0x00000006,0x000000ae,0x000000ad,0x00050084,0x00000006,0x000000af,
0x000000ae,0x0000004f,0x0003003e,0x000000ac,0x000000af,0x0004003d,0x00000006,0x000000b1,
0x000000ac,0x000500aa,0x00000063,0x000000b3,0x000000b1,0x000000b2,0x000300f7,0x000000b7,
0x00000000,0x000400fa,0x000000b3,0x000000b6,0x000000b9,0x000200f8,0x000000b6,0x0003003e,
0x000000b5,0x000000b8,0x000200f9,0x000000b7,0x000200f8,0x000000b9,0x0004003d,0x00000006,
0x000000bb,0x000000ac,0x000500c4,0x00000028,0x000000bc,0x000000ba,0x000000bb,0x00050082,
0x00000028,0x000000bd,0x000000bc,0x000000ba,0x0003003e,0x000000b5,0x000000bd,0x000200f9,
0x000000b7,0x000200f8,0x000000b7,0x0004003d,0x00000028,0x000000be,0x000000b5,0x0004007c,
0x00000006,0x000000bf,0x000000be,0x0003003e,0x000000b0,0x000000bf,0x0004003d,0x00000006,
0x000000c1,0x0000001d,0x0004003d,0x00000006,0x000000c2,0x000000b0,0x000500c7,0x00000006,
0x000000c3,0x000000c1,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x000000a5,0x000500c4,
0x00000006,0x000000c5,0x000000c3,0x000000c4,0x0003003e,0x000000c0,0x000000c5,0x0004003d,
0x00000006,0x000000c6,0x000000c0,0x000200fe,0x000000c6,0x00010038,0x00050036,0x00000002,
0x00000022,0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,
0x00050041,0x000000d0,0x000000d1,0x000000cf,0x00000067,0x0004003d,0x00000006,0x000000d2,
0x000000d1,0x00050041,0x0000002a,0x000000d3,0x00000027,0x00000045,0x0004003d,0x00000006,
0x000000d4,0x000000d3,0x00050086,0x00000006,0x000000d5,0x000000d4,0x0000004d,0x00050080,
0x00000006,0x000000d6,0x000000d2,0x000000d5,0x0004003d,0x00000006,0x000000d7,0x00000021,
0x00060041,0x00000077,0x000000d8,0x000000cc,0x00000074,0x000000d6,0x0003003e,0x000000d8,
0x000000d7,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * params . Bd + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
uint loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;
return value;
}
uint convertComponent(uint srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, uint value)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
uint offset = getDestinationComponentOffset(vertex, component);
uint shiftBits = getShiftBits(offset, params . Bd);
uint valueBits = params . Bd * 8;
uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
uint valueOut = 0;
for(uint i = 0;i < params . Ed;++ i)
{
uint cd = gl_GlobalInvocationID . x * params . Ed + i;
uint srcValue = loadSourceComponent(cd);
uint destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,319 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000014[] = {
0x07230203,0x00010000,0x00080007,0x000000e5,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000a7,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
0x00006463,0x00080005,0x00000016,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316928,
0x00000000,0x00050005,0x00000015,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001c,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x0000001a,0x00006463,0x00040005,0x0000001b,0x756c6176,0x00000065,0x000a0005,
0x00000020,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001f,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000023,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000023,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000023,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000023,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000023,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000023,0x00000004,
0x0000734e,0x00040006,0x00000023,0x00000005,0x00007342,0x00040006,0x00000023,0x00000006,
0x00007353,0x00040006,0x00000023,0x00000007,0x00007345,0x00040006,0x00000023,0x00000008,
0x0000644e,0x00040006,0x00000023,0x00000009,0x00006442,0x00040006,0x00000023,0x0000000a,
0x00006453,0x00040006,0x00000023,0x0000000b,0x00006445,0x00040005,0x00000025,0x61726170,
0x0000736d,0x00040005,0x00000037,0x74726576,0x00007865,0x00050005,0x0000003d,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004c,0x7366666f,0x00007465,0x00040005,0x0000004d,
0x61726170,0x0000006d,0x00040005,0x0000004f,0x61726170,0x0000006d,0x00040005,0x00000052,
0x636f6c62,0x0000006b,0x00030005,0x00000054,0x00637273,0x00050006,0x00000054,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000056,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00050005,0x00000077,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000082,
0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00040005,0x00000090,0x756c6176,0x00000065,
0x00050005,0x0000009a,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000a2,0x74736564,
0x00000000,0x00060006,0x000000a2,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
0x000000a4,0x00000000,0x00080005,0x000000a7,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
0x496e6f69,0x00000044,0x00050005,0x000000b9,0x756c6176,0x74754f65,0x00000000,0x00030005,
0x000000ba,0x00000069,0x00030005,0x000000c2,0x00006463,0x00050005,0x000000cf,0x56637273,
0x65756c61,0x00000000,0x00040005,0x000000d0,0x61726170,0x0000006d,0x00050005,0x000000d3,
0x74736564,0x756c6156,0x00000065,0x00040005,0x000000d4,0x61726170,0x0000006d,0x00040005,
0x000000d7,0x61726170,0x0000006d,0x00040005,0x000000d9,0x61726170,0x0000006d,0x00040005,
0x000000e0,0x61726170,0x0000006d,0x00050048,0x00000023,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000023,0x00000001,0x00000023,0x00000004,0x00050048,0x00000023,0x00000002,
0x00000023,0x00000008,0x00050048,0x00000023,0x00000003,0x00000023,0x0000000c,0x00050048,
0x00000023,0x00000004,0x00000023,0x00000010,0x00050048,0x00000023,0x00000005,0x00000023,
0x00000014,0x00050048,0x00000023,0x00000006,0x00000023,0x00000018,0x00050048,0x00000023,
0x00000007,0x00000023,0x0000001c,0x00050048,0x00000023,0x00000008,0x00000023,0x00000020,
0x00050048,0x00000023,0x00000009,0x00000023,0x00000024,0x00050048,0x00000023,0x0000000a,
0x00000023,0x00000028,0x00050048,0x00000023,0x0000000b,0x00000023,0x0000002c,0x00030047,
0x00000023,0x00000002,0x00040047,0x00000053,0x00000006,0x00000004,0x00050048,0x00000054,
0x00000000,0x00000023,0x00000000,0x00030047,0x00000054,0x00000003,0x00040047,0x00000056,
0x00000022,0x00000000,0x00040047,0x00000056,0x00000021,0x00000001,0x00040047,0x000000a1,
0x00000006,0x00000004,0x00050048,0x000000a2,0x00000000,0x00000023,0x00000000,0x00030047,
0x000000a2,0x00000003,0x00040047,0x000000a4,0x00000022,0x00000000,0x00040047,0x000000a4,
0x00000021,0x00000000,0x00040047,0x000000a7,0x0000000b,0x0000001c,0x00040047,0x000000e4,
0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x0000000d,0x00000020,0x00000001,
0x00040021,0x0000000e,0x0000000d,0x00000007,0x00040020,0x00000012,0x00000007,0x0000000d,
0x00030016,0x00000013,0x00000020,0x00040021,0x00000014,0x00000013,0x00000012,0x00040020,
0x00000018,0x00000007,0x00000013,0x00050021,0x00000019,0x00000006,0x00000007,0x00000018,
0x00040021,0x0000001e,0x00000002,0x00000007,0x000e001e,0x00000023,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00040020,0x00000024,0x00000009,0x00000023,0x0004003b,0x00000024,
0x00000025,0x00000009,0x0004002b,0x0000000d,0x00000026,0x00000006,0x00040020,0x00000027,
0x00000009,0x00000006,0x0004002b,0x0000000d,0x0000002c,0x00000005,0x0004002b,0x0000000d,
0x00000031,0x00000002,0x0004002b,0x0000000d,0x00000039,0x00000008,0x0004002b,0x0000000d,
0x00000043,0x00000004,0x00020014,0x00000046,0x0004002b,0x0000000d,0x0000004a,0x00000000,
0x0003001d,0x00000053,0x00000006,0x0003001e,0x00000054,0x00000053,0x00040020,0x00000055,
0x00000002,0x00000054,0x0004003b,0x00000055,0x00000056,0x00000002,0x0004002b,0x00000006,
0x00000058,0x00000004,0x00040020,0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,
0x0000005e,0x0000000a,0x0004002b,0x00000006,0x00000065,0x00000003,0x0004002b,0x0000000d,
0x00000067,0x00000003,0x0004002b,0x0000000d,0x00000068,0x000003ff,0x0004002b,0x00000006,
0x00000072,0x00000020,0x00040020,0x00000076,0x00000007,0x00000046,0x0004002b,0x0000000d,
0x00000079,0x00000001,0x0004002b,0x00000006,0x0000007b,0x00000001,0x0004002b,0x00000006,
0x00000080,0x00000000,0x0004002b,0x0000000d,0x00000087,0xffffffff,0x0003001d,0x000000a1,
0x00000006,0x0003001e,0x000000a2,0x000000a1,0x00040020,0x000000a3,0x00000002,0x000000a2,
0x0004003b,0x000000a3,0x000000a4,0x00000002,0x00040017,0x000000a5,0x00000006,0x00000003,
0x00040020,0x000000a6,0x00000001,0x000000a5,0x0004003b,0x000000a6,0x000000a7,0x00000001,
0x00040020,0x000000a8,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000e3,0x00000040,
0x0006002c,0x000000a5,0x000000e4,0x000000e3,0x0000007b,0x0000007b,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000b9,
0x00000007,0x0004003b,0x00000007,0x000000ba,0x00000007,0x0004003b,0x00000007,0x000000c2,
0x00000007,0x0004003b,0x00000012,0x000000cf,0x00000007,0x0004003b,0x00000007,0x000000d0,
0x00000007,0x0004003b,0x00000018,0x000000d3,0x00000007,0x0004003b,0x00000012,0x000000d4,
0x00000007,0x0004003b,0x00000007,0x000000d7,0x00000007,0x0004003b,0x00000018,0x000000d9,
0x00000007,0x0004003b,0x00000007,0x000000e0,0x00000007,0x00050041,0x000000a8,0x000000b1,
0x000000a7,0x00000080,0x0004003d,0x00000006,0x000000b2,0x000000b1,0x00050041,0x00000027,
0x000000b3,0x00000025,0x0000004a,0x0004003d,0x00000006,0x000000b4,0x000000b3,0x000500ae,
0x00000046,0x000000b5,0x000000b2,0x000000b4,0x000300f7,0x000000b7,0x00000000,0x000400fa,
0x000000b5,0x000000b6,0x000000b7,0x000200f8,0x000000b6,0x000100fd,0x000200f8,0x000000b7,
0x0003003e,0x000000b9,0x00000080,0x0003003e,0x000000ba,0x00000080,0x000200f9,0x000000bb,
0x000200f8,0x000000bb,0x000400f6,0x000000bd,0x000000be,0x00000000,0x000200f9,0x000000bf,
0x000200f8,0x000000bf,0x0004003d,0x00000006,0x000000c0,0x000000ba,0x000500b0,0x00000046,
0x000000c1,0x000000c0,0x0000007b,0x000400fa,0x000000c1,0x000000bc,0x000000bd,0x000200f8,
0x000000bc,0x00050041,0x000000a8,0x000000c3,0x000000a7,0x00000080,0x0004003d,0x00000006,
0x000000c4,0x000000c3,0x00050084,0x00000006,0x000000c5,0x000000c4,0x0000007b,0x0004003d,
0x00000006,0x000000c6,0x000000ba,0x00050080,0x00000006,0x000000c7,0x000000c5,0x000000c6,
0x0003003e,0x000000c2,0x000000c7,0x0004003d,0x00000006,0x000000c8,0x000000c2,0x00050041,
0x00000027,0x000000c9,0x00000025,0x00000079,0x0004003d,0x00000006,0x000000ca,0x000000c9,
0x000500ae,0x00000046,0x000000cb,0x000000c8,0x000000ca,0x000300f7,0x000000cd,0x00000000,
0x000400fa,0x000000cb,0x000000cc,0x000000cd,0x000200f8,0x000000cc,0x000200f9,0x000000bd,
0x000200f8,0x000000cd,0x0004003d,0x00000006,0x000000d1,0x000000c2,0x0003003e,0x000000d0,
0x000000d1,0x00050039,0x0000000d,0x000000d2,0x00000010,0x000000d0,0x0003003e,0x000000cf,
0x000000d2,0x0004003d,0x0000000d,0x000000d5,0x000000cf,0x0003003e,0x000000d4,0x000000d5,
0x00050039,0x00000013,0x000000d6,0x00000016,0x000000d4,0x0003003e,0x000000d3,0x000000d6,
0x0004003d,0x00000006,0x000000d8,0x000000c2,0x0003003e,0x000000d7,0x000000d8,0x0004003d,
0x00000013,0x000000da,0x000000d3,0x0003003e,0x000000d9,0x000000da,0x00060039,0x00000006,
0x000000db,0x0000001c,0x000000d7,0x000000d9,0x0004003d,0x00000006,0x000000dc,0x000000b9,
0x000500c5,0x00000006,0x000000dd,0x000000dc,0x000000db,0x0003003e,0x000000b9,0x000000dd,
0x000200f9,0x000000be,0x000200f8,0x000000be,0x0004003d,0x00000006,0x000000de,0x000000ba,
0x00050080,0x00000006,0x000000df,0x000000de,0x00000079,0x0003003e,0x000000ba,0x000000df,
0x000200f9,0x000000bb,0x000200f8,0x000000bd,0x0004003d,0x00000006,0x000000e1,0x000000b9,
0x0003003e,0x000000e0,0x000000e1,0x00050039,0x00000002,0x000000e2,0x00000020,0x000000e0,
0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,
0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,
0x00000006,0x00000022,0x00000009,0x00050041,0x00000027,0x00000028,0x00000025,0x00000026,
0x0004003d,0x00000006,0x00000029,0x00000028,0x00050084,0x00000006,0x0000002a,0x00000022,
0x00000029,0x0004003d,0x00000006,0x0000002b,0x0000000a,0x00050041,0x00000027,0x0000002d,
0x00000025,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000002d,0x00050084,0x00000006,
0x0000002f,0x0000002b,0x0000002e,0x00050080,0x00000006,0x00000030,0x0000002a,0x0000002f,
0x00050041,0x00000027,0x00000032,0x00000025,0x00000031,0x0004003d,0x00000006,0x00000033,
0x00000032,0x00050080,0x00000006,0x00000034,0x00000030,0x00000033,0x000200fe,0x00000034,
0x00010038,0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,0x00000007,
0x0000000f,0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000037,0x00000007,0x0004003b,
0x00000007,0x0000003d,0x00000007,0x0004003b,0x00000007,0x0000004c,0x00000007,0x0004003b,
0x00000007,0x0000004d,0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,0x0004003b,
0x00000007,0x00000052,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,
0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,0x0004003b,
0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000076,0x00000077,0x00000007,0x0004003b,
0x00000007,0x00000082,0x00000007,0x0004003b,0x00000012,0x00000084,0x00000007,0x0004003b,
0x00000012,0x00000090,0x00000007,0x0004003d,0x00000006,0x00000038,0x0000000f,0x00050041,
0x00000027,0x0000003a,0x00000025,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,
0x00050086,0x00000006,0x0000003c,0x00000038,0x0000003b,0x0003003e,0x00000037,0x0000003c,
0x0004003d,0x00000006,0x0000003e,0x0000000f,0x00050041,0x00000027,0x0000003f,0x00000025,
0x00000039,0x0004003d,0x00000006,0x00000040,0x0000003f,0x00050089,0x00000006,0x00000041,
0x0000003e,0x00000040,0x0003003e,0x0000003d,0x00000041,0x0004003d,0x00000006,0x00000042,
0x0000003d,0x00050041,0x00000027,0x00000044,0x00000025,0x00000043,0x0004003d,0x00000006,
0x00000045,0x00000044,0x000500ae,0x00000046,0x00000047,0x00000042,0x00000045,0x000300f7,
0x00000049,0x00000000,0x000400fa,0x00000047,0x00000048,0x00000049,0x000200f8,0x00000048,
0x000200fe,0x0000004a,0x000200f8,0x00000049,0x0004003d,0x00000006,0x0000004e,0x00000037,
0x0003003e,0x0000004d,0x0000004e,0x0004003d,0x00000006,0x00000050,0x0000003d,0x0003003e,
0x0000004f,0x00000050,0x00060039,0x00000006,0x00000051,0x0000000b,0x0000004d,0x0000004f,
0x0003003e,0x0000004c,0x00000051,0x0004003d,0x00000006,0x00000057,0x0000004c,0x00050086,
0x00000006,0x00000059,0x00000057,0x00000058,0x00060041,0x0000005a,0x0000005b,0x00000056,
0x0000004a,0x00000059,0x0004003d,0x00000006,0x0000005c,0x0000005b,0x0003003e,0x00000052,
0x0000005c,0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,0x0000005d,
0x0004003d,0x00000006,0x00000061,0x0000003d,0x00050084,0x00000006,0x00000062,0x00000060,
0x00000061,0x0003003e,0x0000005f,0x00000062,0x0004003d,0x00000006,0x00000064,0x0000003d,
0x000500aa,0x00000046,0x00000066,0x00000064,0x00000065,0x000600a9,0x0000000d,0x00000069,
0x00000066,0x00000067,0x00000068,0x0004007c,0x00000006,0x0000006a,0x00000069,0x0003003e,
0x00000063,0x0000006a,0x0004003d,0x00000006,0x0000006c,0x00000052,0x0004003d,0x00000006,
0x0000006d,0x0000005f,0x000500c2,0x00000006,0x0000006e,0x0000006c,0x0000006d,0x0004003d,
0x00000006,0x0000006f,0x00000063,0x000500c7,0x00000006,0x00000070,0x0000006e,0x0000006f,
0x0003003e,0x0000006b,0x00000070,0x0004003d,0x00000006,0x00000071,0x0000005d,0x000500b0,
0x00000046,0x00000073,0x00000071,0x00000072,0x000300f7,0x00000075,0x00000000,0x000400fa,
0x00000073,0x00000074,0x00000075,0x000200f8,0x00000074,0x0004003d,0x00000006,0x00000078,
0x0000006b,0x0004003d,0x00000006,0x0000007a,0x0000005d,0x00050082,0x00000006,0x0000007c,
0x0000007a,0x0000007b,0x000500c4,0x0000000d,0x0000007d,0x00000079,0x0000007c,0x0004007c,
0x00000006,0x0000007e,0x0000007d,0x000500c7,0x00000006,0x0000007f,0x00000078,0x0000007e,
0x000500ab,0x00000046,0x00000081,0x0000007f,0x00000080,0x0003003e,0x00000077,0x00000081,
0x0004003d,0x00000046,0x00000083,0x00000077,0x000300f7,0x00000086,0x00000000,0x000400fa,
0x00000083,0x00000085,0x0000008a,0x000200f8,0x00000085,0x0004003d,0x00000006,0x00000088,
0x0000005d,0x000500c4,0x0000000d,0x00000089,0x00000087,0x00000088,0x0003003e,0x00000084,
0x00000089,0x000200f9,0x00000086,0x000200f8,0x0000008a,0x0003003e,0x00000084,0x0000004a,
0x000200f9,0x00000086,0x000200f8,0x00000086,0x0004003d,0x0000000d,0x0000008b,0x00000084,
0x0004007c,0x00000006,0x0000008c,0x0000008b,0x0003003e,0x00000082,0x0000008c,0x0004003d,
0x00000006,0x0000008d,0x00000082,0x0004003d,0x00000006,0x0000008e,0x0000006b,0x000500c5,
0x00000006,0x0000008f,0x0000008e,0x0000008d,0x0003003e,0x0000006b,0x0000008f,0x000200f9,
0x00000075,0x000200f8,0x00000075,0x0004003d,0x00000006,0x00000091,0x0000006b,0x0004007c,
0x0000000d,0x00000092,0x00000091,0x0003003e,0x00000090,0x00000092,0x0004003d,0x0000000d,
0x00000093,0x00000090,0x000200fe,0x00000093,0x00010038,0x00050036,0x00000013,0x00000016,
0x00000000,0x00000014,0x00030037,0x00000012,0x00000015,0x000200f8,0x00000017,0x0004003d,
0x0000000d,0x00000096,0x00000015,0x0004006f,0x00000013,0x00000097,0x00000096,0x000200fe,
0x00000097,0x00010038,0x00050036,0x00000006,0x0000001c,0x00000000,0x00000019,0x00030037,
0x00000007,0x0000001a,0x00030037,0x00000018,0x0000001b,0x000200f8,0x0000001d,0x0004003b,
0x00000007,0x0000009a,0x00000007,0x0004003d,0x00000013,0x0000009b,0x0000001b,0x0004007c,
0x0000000d,0x0000009c,0x0000009b,0x0004007c,0x00000006,0x0000009d,0x0000009c,0x0003003e,
0x0000009a,0x0000009d,0x0004003d,0x00000006,0x0000009e,0x0000009a,0x000200fe,0x0000009e,
0x00010038,0x00050036,0x00000002,0x00000020,0x00000000,0x0000001e,0x00030037,0x00000007,
0x0000001f,0x000200f8,0x00000021,0x00050041,0x000000a8,0x000000a9,0x000000a7,0x00000080,
0x0004003d,0x00000006,0x000000aa,0x000000a9,0x00050041,0x00000027,0x000000ab,0x00000025,
0x00000067,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x00050086,0x00000006,0x000000ad,
0x000000ac,0x00000058,0x00050080,0x00000006,0x000000ae,0x000000aa,0x000000ad,0x0004003d,
0x00000006,0x000000af,0x0000001f,0x00060041,0x0000005a,0x000000b0,0x000000a4,0x0000004a,
0x000000ae,0x0003003e,0x000000b0,0x000000af,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
int loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int value = int(valueAsUint);
return value;
}
float convertComponent(int srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
if(gl_GlobalInvocationID . x >= params . outputCount)
return;
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
if(cd >= params . componentCount)
{
break;
}
int srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,303 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000015[] = {
0x07230203,0x00010000,0x00080007,0x000000d6,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000a7,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
0x00006463,0x00080005,0x00000016,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316928,
0x00000000,0x00050005,0x00000015,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001c,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x0000001a,0x00006463,0x00040005,0x0000001b,0x756c6176,0x00000065,0x000a0005,
0x00000020,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001f,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000023,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000023,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000023,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000023,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000023,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000023,0x00000004,
0x0000734e,0x00040006,0x00000023,0x00000005,0x00007342,0x00040006,0x00000023,0x00000006,
0x00007353,0x00040006,0x00000023,0x00000007,0x00007345,0x00040006,0x00000023,0x00000008,
0x0000644e,0x00040006,0x00000023,0x00000009,0x00006442,0x00040006,0x00000023,0x0000000a,
0x00006453,0x00040006,0x00000023,0x0000000b,0x00006445,0x00040005,0x00000025,0x61726170,
0x0000736d,0x00040005,0x00000037,0x74726576,0x00007865,0x00050005,0x0000003d,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004c,0x7366666f,0x00007465,0x00040005,0x0000004d,
0x61726170,0x0000006d,0x00040005,0x0000004f,0x61726170,0x0000006d,0x00040005,0x00000052,
0x636f6c62,0x0000006b,0x00030005,0x00000054,0x00637273,0x00050006,0x00000054,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000056,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00050005,0x00000077,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000082,
0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00040005,0x00000090,0x756c6176,0x00000065,
0x00050005,0x0000009a,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000a2,0x74736564,
0x00000000,0x00060006,0x000000a2,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
0x000000a4,0x00000000,0x00080005,0x000000a7,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
0x496e6f69,0x00000044,0x00050005,0x000000b1,0x756c6176,0x74754f65,0x00000000,0x00030005,
0x000000b2,0x00000069,0x00030005,0x000000ba,0x00006463,0x00050005,0x000000c0,0x56637273,
0x65756c61,0x00000000,0x00040005,0x000000c1,0x61726170,0x0000006d,0x00050005,0x000000c4,
0x74736564,0x756c6156,0x00000065,0x00040005,0x000000c5,0x61726170,0x0000006d,0x00040005,
0x000000c8,0x61726170,0x0000006d,0x00040005,0x000000ca,0x61726170,0x0000006d,0x00040005,
0x000000d1,0x61726170,0x0000006d,0x00050048,0x00000023,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000023,0x00000001,0x00000023,0x00000004,0x00050048,0x00000023,0x00000002,
0x00000023,0x00000008,0x00050048,0x00000023,0x00000003,0x00000023,0x0000000c,0x00050048,
0x00000023,0x00000004,0x00000023,0x00000010,0x00050048,0x00000023,0x00000005,0x00000023,
0x00000014,0x00050048,0x00000023,0x00000006,0x00000023,0x00000018,0x00050048,0x00000023,
0x00000007,0x00000023,0x0000001c,0x00050048,0x00000023,0x00000008,0x00000023,0x00000020,
0x00050048,0x00000023,0x00000009,0x00000023,0x00000024,0x00050048,0x00000023,0x0000000a,
0x00000023,0x00000028,0x00050048,0x00000023,0x0000000b,0x00000023,0x0000002c,0x00030047,
0x00000023,0x00000002,0x00040047,0x00000053,0x00000006,0x00000004,0x00050048,0x00000054,
0x00000000,0x00000023,0x00000000,0x00030047,0x00000054,0x00000003,0x00040047,0x00000056,
0x00000022,0x00000000,0x00040047,0x00000056,0x00000021,0x00000001,0x00040047,0x000000a1,
0x00000006,0x00000004,0x00050048,0x000000a2,0x00000000,0x00000023,0x00000000,0x00030047,
0x000000a2,0x00000003,0x00040047,0x000000a4,0x00000022,0x00000000,0x00040047,0x000000a4,
0x00000021,0x00000000,0x00040047,0x000000a7,0x0000000b,0x0000001c,0x00040047,0x000000d5,
0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x0000000d,0x00000020,0x00000001,
0x00040021,0x0000000e,0x0000000d,0x00000007,0x00040020,0x00000012,0x00000007,0x0000000d,
0x00030016,0x00000013,0x00000020,0x00040021,0x00000014,0x00000013,0x00000012,0x00040020,
0x00000018,0x00000007,0x00000013,0x00050021,0x00000019,0x00000006,0x00000007,0x00000018,
0x00040021,0x0000001e,0x00000002,0x00000007,0x000e001e,0x00000023,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00040020,0x00000024,0x00000009,0x00000023,0x0004003b,0x00000024,
0x00000025,0x00000009,0x0004002b,0x0000000d,0x00000026,0x00000006,0x00040020,0x00000027,
0x00000009,0x00000006,0x0004002b,0x0000000d,0x0000002c,0x00000005,0x0004002b,0x0000000d,
0x00000031,0x00000002,0x0004002b,0x0000000d,0x00000039,0x00000008,0x0004002b,0x0000000d,
0x00000043,0x00000004,0x00020014,0x00000046,0x0004002b,0x0000000d,0x0000004a,0x00000000,
0x0003001d,0x00000053,0x00000006,0x0003001e,0x00000054,0x00000053,0x00040020,0x00000055,
0x00000002,0x00000054,0x0004003b,0x00000055,0x00000056,0x00000002,0x0004002b,0x00000006,
0x00000058,0x00000004,0x00040020,0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,
0x0000005e,0x0000000a,0x0004002b,0x00000006,0x00000065,0x00000003,0x0004002b,0x0000000d,
0x00000067,0x00000003,0x0004002b,0x0000000d,0x00000068,0x000003ff,0x0004002b,0x00000006,
0x00000072,0x00000020,0x00040020,0x00000076,0x00000007,0x00000046,0x0004002b,0x0000000d,
0x00000079,0x00000001,0x0004002b,0x00000006,0x0000007b,0x00000001,0x0004002b,0x00000006,
0x00000080,0x00000000,0x0004002b,0x0000000d,0x00000087,0xffffffff,0x0003001d,0x000000a1,
0x00000006,0x0003001e,0x000000a2,0x000000a1,0x00040020,0x000000a3,0x00000002,0x000000a2,
0x0004003b,0x000000a3,0x000000a4,0x00000002,0x00040017,0x000000a5,0x00000006,0x00000003,
0x00040020,0x000000a6,0x00000001,0x000000a5,0x0004003b,0x000000a6,0x000000a7,0x00000001,
0x00040020,0x000000a8,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000d4,0x00000040,
0x0006002c,0x000000a5,0x000000d5,0x000000d4,0x0000007b,0x0000007b,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000b1,
0x00000007,0x0004003b,0x00000007,0x000000b2,0x00000007,0x0004003b,0x00000007,0x000000ba,
0x00000007,0x0004003b,0x00000012,0x000000c0,0x00000007,0x0004003b,0x00000007,0x000000c1,
0x00000007,0x0004003b,0x00000018,0x000000c4,0x00000007,0x0004003b,0x00000012,0x000000c5,
0x00000007,0x0004003b,0x00000007,0x000000c8,0x00000007,0x0004003b,0x00000018,0x000000ca,
0x00000007,0x0004003b,0x00000007,0x000000d1,0x00000007,0x0003003e,0x000000b1,0x00000080,
0x0003003e,0x000000b2,0x00000080,0x000200f9,0x000000b3,0x000200f8,0x000000b3,0x000400f6,
0x000000b5,0x000000b6,0x00000000,0x000200f9,0x000000b7,0x000200f8,0x000000b7,0x0004003d,
0x00000006,0x000000b8,0x000000b2,0x000500b0,0x00000046,0x000000b9,0x000000b8,0x0000007b,
0x000400fa,0x000000b9,0x000000b4,0x000000b5,0x000200f8,0x000000b4,0x00050041,0x000000a8,
0x000000bb,0x000000a7,0x00000080,0x0004003d,0x00000006,0x000000bc,0x000000bb,0x00050084,
0x00000006,0x000000bd,0x000000bc,0x0000007b,0x0004003d,0x00000006,0x000000be,0x000000b2,
0x00050080,0x00000006,0x000000bf,0x000000bd,0x000000be,0x0003003e,0x000000ba,0x000000bf,
0x0004003d,0x00000006,0x000000c2,0x000000ba,0x0003003e,0x000000c1,0x000000c2,0x00050039,
0x0000000d,0x000000c3,0x00000010,0x000000c1,0x0003003e,0x000000c0,0x000000c3,0x0004003d,
0x0000000d,0x000000c6,0x000000c0,0x0003003e,0x000000c5,0x000000c6,0x00050039,0x00000013,
0x000000c7,0x00000016,0x000000c5,0x0003003e,0x000000c4,0x000000c7,0x0004003d,0x00000006,
0x000000c9,0x000000ba,0x0003003e,0x000000c8,0x000000c9,0x0004003d,0x00000013,0x000000cb,
0x000000c4,0x0003003e,0x000000ca,0x000000cb,0x00060039,0x00000006,0x000000cc,0x0000001c,
0x000000c8,0x000000ca,0x0004003d,0x00000006,0x000000cd,0x000000b1,0x000500c5,0x00000006,
0x000000ce,0x000000cd,0x000000cc,0x0003003e,0x000000b1,0x000000ce,0x000200f9,0x000000b6,
0x000200f8,0x000000b6,0x0004003d,0x00000006,0x000000cf,0x000000b2,0x00050080,0x00000006,
0x000000d0,0x000000cf,0x00000079,0x0003003e,0x000000b2,0x000000d0,0x000200f9,0x000000b3,
0x000200f8,0x000000b5,0x0004003d,0x00000006,0x000000d2,0x000000b1,0x0003003e,0x000000d1,
0x000000d2,0x00050039,0x00000002,0x000000d3,0x00000020,0x000000d1,0x000100fd,0x00010038,
0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000022,
0x00000009,0x00050041,0x00000027,0x00000028,0x00000025,0x00000026,0x0004003d,0x00000006,
0x00000029,0x00000028,0x00050084,0x00000006,0x0000002a,0x00000022,0x00000029,0x0004003d,
0x00000006,0x0000002b,0x0000000a,0x00050041,0x00000027,0x0000002d,0x00000025,0x0000002c,
0x0004003d,0x00000006,0x0000002e,0x0000002d,0x00050084,0x00000006,0x0000002f,0x0000002b,
0x0000002e,0x00050080,0x00000006,0x00000030,0x0000002a,0x0000002f,0x00050041,0x00000027,
0x00000032,0x00000025,0x00000031,0x0004003d,0x00000006,0x00000033,0x00000032,0x00050080,
0x00000006,0x00000034,0x00000030,0x00000033,0x000200fe,0x00000034,0x00010038,0x00050036,
0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,0x00000007,0x0000000f,0x000200f8,
0x00000011,0x0004003b,0x00000007,0x00000037,0x00000007,0x0004003b,0x00000007,0x0000003d,
0x00000007,0x0004003b,0x00000007,0x0000004c,0x00000007,0x0004003b,0x00000007,0x0000004d,
0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,0x0004003b,0x00000007,0x00000052,
0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,
0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,0x0004003b,0x00000007,0x0000006b,
0x00000007,0x0004003b,0x00000076,0x00000077,0x00000007,0x0004003b,0x00000007,0x00000082,
0x00000007,0x0004003b,0x00000012,0x00000084,0x00000007,0x0004003b,0x00000012,0x00000090,
0x00000007,0x0004003d,0x00000006,0x00000038,0x0000000f,0x00050041,0x00000027,0x0000003a,
0x00000025,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050086,0x00000006,
0x0000003c,0x00000038,0x0000003b,0x0003003e,0x00000037,0x0000003c,0x0004003d,0x00000006,
0x0000003e,0x0000000f,0x00050041,0x00000027,0x0000003f,0x00000025,0x00000039,0x0004003d,
0x00000006,0x00000040,0x0000003f,0x00050089,0x00000006,0x00000041,0x0000003e,0x00000040,
0x0003003e,0x0000003d,0x00000041,0x0004003d,0x00000006,0x00000042,0x0000003d,0x00050041,
0x00000027,0x00000044,0x00000025,0x00000043,0x0004003d,0x00000006,0x00000045,0x00000044,
0x000500ae,0x00000046,0x00000047,0x00000042,0x00000045,0x000300f7,0x00000049,0x00000000,
0x000400fa,0x00000047,0x00000048,0x00000049,0x000200f8,0x00000048,0x000200fe,0x0000004a,
0x000200f8,0x00000049,0x0004003d,0x00000006,0x0000004e,0x00000037,0x0003003e,0x0000004d,
0x0000004e,0x0004003d,0x00000006,0x00000050,0x0000003d,0x0003003e,0x0000004f,0x00000050,
0x00060039,0x00000006,0x00000051,0x0000000b,0x0000004d,0x0000004f,0x0003003e,0x0000004c,
0x00000051,0x0004003d,0x00000006,0x00000057,0x0000004c,0x00050086,0x00000006,0x00000059,
0x00000057,0x00000058,0x00060041,0x0000005a,0x0000005b,0x00000056,0x0000004a,0x00000059,
0x0004003d,0x00000006,0x0000005c,0x0000005b,0x0003003e,0x00000052,0x0000005c,0x0003003e,
0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,0x0000005d,0x0004003d,0x00000006,
0x00000061,0x0000003d,0x00050084,0x00000006,0x00000062,0x00000060,0x00000061,0x0003003e,
0x0000005f,0x00000062,0x0004003d,0x00000006,0x00000064,0x0000003d,0x000500aa,0x00000046,
0x00000066,0x00000064,0x00000065,0x000600a9,0x0000000d,0x00000069,0x00000066,0x00000067,
0x00000068,0x0004007c,0x00000006,0x0000006a,0x00000069,0x0003003e,0x00000063,0x0000006a,
0x0004003d,0x00000006,0x0000006c,0x00000052,0x0004003d,0x00000006,0x0000006d,0x0000005f,
0x000500c2,0x00000006,0x0000006e,0x0000006c,0x0000006d,0x0004003d,0x00000006,0x0000006f,
0x00000063,0x000500c7,0x00000006,0x00000070,0x0000006e,0x0000006f,0x0003003e,0x0000006b,
0x00000070,0x0004003d,0x00000006,0x00000071,0x0000005d,0x000500b0,0x00000046,0x00000073,
0x00000071,0x00000072,0x000300f7,0x00000075,0x00000000,0x000400fa,0x00000073,0x00000074,
0x00000075,0x000200f8,0x00000074,0x0004003d,0x00000006,0x00000078,0x0000006b,0x0004003d,
0x00000006,0x0000007a,0x0000005d,0x00050082,0x00000006,0x0000007c,0x0000007a,0x0000007b,
0x000500c4,0x0000000d,0x0000007d,0x00000079,0x0000007c,0x0004007c,0x00000006,0x0000007e,
0x0000007d,0x000500c7,0x00000006,0x0000007f,0x00000078,0x0000007e,0x000500ab,0x00000046,
0x00000081,0x0000007f,0x00000080,0x0003003e,0x00000077,0x00000081,0x0004003d,0x00000046,
0x00000083,0x00000077,0x000300f7,0x00000086,0x00000000,0x000400fa,0x00000083,0x00000085,
0x0000008a,0x000200f8,0x00000085,0x0004003d,0x00000006,0x00000088,0x0000005d,0x000500c4,
0x0000000d,0x00000089,0x00000087,0x00000088,0x0003003e,0x00000084,0x00000089,0x000200f9,
0x00000086,0x000200f8,0x0000008a,0x0003003e,0x00000084,0x0000004a,0x000200f9,0x00000086,
0x000200f8,0x00000086,0x0004003d,0x0000000d,0x0000008b,0x00000084,0x0004007c,0x00000006,
0x0000008c,0x0000008b,0x0003003e,0x00000082,0x0000008c,0x0004003d,0x00000006,0x0000008d,
0x00000082,0x0004003d,0x00000006,0x0000008e,0x0000006b,0x000500c5,0x00000006,0x0000008f,
0x0000008e,0x0000008d,0x0003003e,0x0000006b,0x0000008f,0x000200f9,0x00000075,0x000200f8,
0x00000075,0x0004003d,0x00000006,0x00000091,0x0000006b,0x0004007c,0x0000000d,0x00000092,
0x00000091,0x0003003e,0x00000090,0x00000092,0x0004003d,0x0000000d,0x00000093,0x00000090,
0x000200fe,0x00000093,0x00010038,0x00050036,0x00000013,0x00000016,0x00000000,0x00000014,
0x00030037,0x00000012,0x00000015,0x000200f8,0x00000017,0x0004003d,0x0000000d,0x00000096,
0x00000015,0x0004006f,0x00000013,0x00000097,0x00000096,0x000200fe,0x00000097,0x00010038,
0x00050036,0x00000006,0x0000001c,0x00000000,0x00000019,0x00030037,0x00000007,0x0000001a,
0x00030037,0x00000018,0x0000001b,0x000200f8,0x0000001d,0x0004003b,0x00000007,0x0000009a,
0x00000007,0x0004003d,0x00000013,0x0000009b,0x0000001b,0x0004007c,0x0000000d,0x0000009c,
0x0000009b,0x0004007c,0x00000006,0x0000009d,0x0000009c,0x0003003e,0x0000009a,0x0000009d,
0x0004003d,0x00000006,0x0000009e,0x0000009a,0x000200fe,0x0000009e,0x00010038,0x00050036,
0x00000002,0x00000020,0x00000000,0x0000001e,0x00030037,0x00000007,0x0000001f,0x000200f8,
0x00000021,0x00050041,0x000000a8,0x000000a9,0x000000a7,0x00000080,0x0004003d,0x00000006,
0x000000aa,0x000000a9,0x00050041,0x00000027,0x000000ab,0x00000025,0x00000067,0x0004003d,
0x00000006,0x000000ac,0x000000ab,0x00050086,0x00000006,0x000000ad,0x000000ac,0x00000058,
0x00050080,0x00000006,0x000000ae,0x000000aa,0x000000ad,0x0004003d,0x00000006,0x000000af,
0x0000001f,0x00060041,0x0000005a,0x000000b0,0x000000a4,0x0000004a,0x000000ae,0x0003003e,
0x000000b0,0x000000af,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
int loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int value = int(valueAsUint);
return value;
}
float convertComponent(int srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
int srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,292 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000016[] = {
0x07230203,0x00010000,0x00080007,0x000000c7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000087,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x0000000f,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000e,
0x00006463,0x00080005,0x00000014,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b317528,
0x00000000,0x00050005,0x00000013,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004b,0x7366666f,0x00007465,0x00040005,0x0000004c,
0x61726170,0x0000006d,0x00040005,0x0000004e,0x61726170,0x0000006d,0x00040005,0x00000051,
0x636f6c62,0x0000006b,0x00030005,0x00000053,0x00637273,0x00050006,0x00000053,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000055,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00040005,0x00000071,0x756c6176,0x00000065,0x00050005,0x0000007a,0x756c6176,
0x55734165,0x00746e69,0x00040005,0x00000082,0x74736564,0x00000000,0x00060006,0x00000082,
0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x00000084,0x00000000,0x00080005,
0x00000087,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
0x00000099,0x756c6176,0x74754f65,0x00000000,0x00030005,0x0000009a,0x00000069,0x00030005,
0x000000a3,0x00006463,0x00050005,0x000000b1,0x56637273,0x65756c61,0x00000000,0x00040005,
0x000000b2,0x61726170,0x0000006d,0x00050005,0x000000b5,0x74736564,0x756c6156,0x00000065,
0x00040005,0x000000b6,0x61726170,0x0000006d,0x00040005,0x000000b9,0x61726170,0x0000006d,
0x00040005,0x000000bb,0x61726170,0x0000006d,0x00040005,0x000000c2,0x61726170,0x0000006d,
0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
0x00000052,0x00000006,0x00000004,0x00050048,0x00000053,0x00000000,0x00000023,0x00000000,
0x00030047,0x00000053,0x00000003,0x00040047,0x00000055,0x00000022,0x00000000,0x00040047,
0x00000055,0x00000021,0x00000001,0x00040047,0x00000081,0x00000006,0x00000004,0x00050048,
0x00000082,0x00000000,0x00000023,0x00000000,0x00030047,0x00000082,0x00000003,0x00040047,
0x00000084,0x00000022,0x00000000,0x00040047,0x00000084,0x00000021,0x00000000,0x00040047,
0x00000087,0x0000000b,0x0000001c,0x00040047,0x000000c6,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
0x00000007,0x00040021,0x0000000d,0x00000006,0x00000007,0x00030016,0x00000011,0x00000020,
0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,
0x00050021,0x00000017,0x00000006,0x00000007,0x00000016,0x00040021,0x0000001c,0x00000002,
0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000049,
0x00000000,0x0003001d,0x00000052,0x00000006,0x0003001e,0x00000053,0x00000052,0x00040020,
0x00000054,0x00000002,0x00000053,0x0004003b,0x00000054,0x00000055,0x00000002,0x0004002b,
0x00000024,0x00000056,0x00000000,0x0004002b,0x00000006,0x00000058,0x00000004,0x00040020,
0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000005e,0x0000000a,0x0004002b,
0x00000006,0x00000065,0x00000003,0x0004002b,0x00000024,0x00000067,0x00000003,0x0004002b,
0x00000024,0x00000068,0x000003ff,0x0003001d,0x00000081,0x00000006,0x0003001e,0x00000082,
0x00000081,0x00040020,0x00000083,0x00000002,0x00000082,0x0004003b,0x00000083,0x00000084,
0x00000002,0x00040017,0x00000085,0x00000006,0x00000003,0x00040020,0x00000086,0x00000001,
0x00000085,0x0004003b,0x00000086,0x00000087,0x00000001,0x00040020,0x00000088,0x00000001,
0x00000006,0x0004002b,0x00000006,0x000000a1,0x00000001,0x0004002b,0x00000024,0x000000aa,
0x00000001,0x0004002b,0x00000006,0x000000c5,0x00000040,0x0006002c,0x00000085,0x000000c6,
0x000000c5,0x000000a1,0x000000a1,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000099,0x00000007,0x0004003b,0x00000007,
0x0000009a,0x00000007,0x0004003b,0x00000007,0x000000a3,0x00000007,0x0004003b,0x00000007,
0x000000b1,0x00000007,0x0004003b,0x00000007,0x000000b2,0x00000007,0x0004003b,0x00000016,
0x000000b5,0x00000007,0x0004003b,0x00000007,0x000000b6,0x00000007,0x0004003b,0x00000007,
0x000000b9,0x00000007,0x0004003b,0x00000016,0x000000bb,0x00000007,0x0004003b,0x00000007,
0x000000c2,0x00000007,0x00050041,0x00000088,0x00000091,0x00000087,0x00000049,0x0004003d,
0x00000006,0x00000092,0x00000091,0x00050041,0x00000026,0x00000093,0x00000023,0x00000056,
0x0004003d,0x00000006,0x00000094,0x00000093,0x000500ae,0x00000045,0x00000095,0x00000092,
0x00000094,0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000095,0x00000096,0x00000097,
0x000200f8,0x00000096,0x000100fd,0x000200f8,0x00000097,0x0003003e,0x00000099,0x00000049,
0x0003003e,0x0000009a,0x00000049,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000400f6,
0x0000009d,0x0000009e,0x00000000,0x000200f9,0x0000009f,0x000200f8,0x0000009f,0x0004003d,
0x00000006,0x000000a0,0x0000009a,0x000500b0,0x00000045,0x000000a2,0x000000a0,0x000000a1,
0x000400fa,0x000000a2,0x0000009c,0x0000009d,0x000200f8,0x0000009c,0x00050041,0x00000088,
0x000000a4,0x00000087,0x00000049,0x0004003d,0x00000006,0x000000a5,0x000000a4,0x00050084,
0x00000006,0x000000a6,0x000000a5,0x000000a1,0x0004003d,0x00000006,0x000000a7,0x0000009a,
0x00050080,0x00000006,0x000000a8,0x000000a6,0x000000a7,0x0003003e,0x000000a3,0x000000a8,
0x0004003d,0x00000006,0x000000a9,0x000000a3,0x00050041,0x00000026,0x000000ab,0x00000023,
0x000000aa,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x000500ae,0x00000045,0x000000ad,
0x000000a9,0x000000ac,0x000300f7,0x000000af,0x00000000,0x000400fa,0x000000ad,0x000000ae,
0x000000af,0x000200f8,0x000000ae,0x000200f9,0x0000009d,0x000200f8,0x000000af,0x0004003d,
0x00000006,0x000000b3,0x000000a3,0x0003003e,0x000000b2,0x000000b3,0x00050039,0x00000006,
0x000000b4,0x0000000f,0x000000b2,0x0003003e,0x000000b1,0x000000b4,0x0004003d,0x00000006,
0x000000b7,0x000000b1,0x0003003e,0x000000b6,0x000000b7,0x00050039,0x00000011,0x000000b8,
0x00000014,0x000000b6,0x0003003e,0x000000b5,0x000000b8,0x0004003d,0x00000006,0x000000ba,
0x000000a3,0x0003003e,0x000000b9,0x000000ba,0x0004003d,0x00000011,0x000000bc,0x000000b5,
0x0003003e,0x000000bb,0x000000bc,0x00060039,0x00000006,0x000000bd,0x0000001a,0x000000b9,
0x000000bb,0x0004003d,0x00000006,0x000000be,0x00000099,0x000500c5,0x00000006,0x000000bf,
0x000000be,0x000000bd,0x0003003e,0x00000099,0x000000bf,0x000200f9,0x0000009e,0x000200f8,
0x0000009e,0x0004003d,0x00000006,0x000000c0,0x0000009a,0x00050080,0x00000006,0x000000c1,
0x000000c0,0x000000aa,0x0003003e,0x0000009a,0x000000c1,0x000200f9,0x0000009b,0x000200f8,
0x0000009d,0x0004003d,0x00000006,0x000000c3,0x00000099,0x0003003e,0x000000c2,0x000000c3,
0x00050039,0x00000002,0x000000c4,0x0000001e,0x000000c2,0x000100fd,0x00010038,0x00050036,
0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,
0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000020,0x00000009,
0x00050041,0x00000026,0x00000027,0x00000023,0x00000025,0x0004003d,0x00000006,0x00000028,
0x00000027,0x00050084,0x00000006,0x00000029,0x00000020,0x00000028,0x0004003d,0x00000006,
0x0000002a,0x0000000a,0x00050041,0x00000026,0x0000002c,0x00000023,0x0000002b,0x0004003d,
0x00000006,0x0000002d,0x0000002c,0x00050084,0x00000006,0x0000002e,0x0000002a,0x0000002d,
0x00050080,0x00000006,0x0000002f,0x00000029,0x0000002e,0x00050041,0x00000026,0x00000031,
0x00000023,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x00050080,0x00000006,
0x00000033,0x0000002f,0x00000032,0x000200fe,0x00000033,0x00010038,0x00050036,0x00000006,
0x0000000f,0x00000000,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,
0x0004003b,0x00000007,0x00000036,0x00000007,0x0004003b,0x00000007,0x0000003c,0x00000007,
0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003b,0x00000007,0x0000004c,0x00000007,
0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003b,0x00000007,0x00000051,0x00000007,
0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,
0x0004003b,0x00000007,0x00000063,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,
0x0004003b,0x00000007,0x00000071,0x00000007,0x0004003d,0x00000006,0x00000037,0x0000000e,
0x00050041,0x00000026,0x00000039,0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003a,
0x00000039,0x00050086,0x00000006,0x0000003b,0x00000037,0x0000003a,0x0003003e,0x00000036,
0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000000e,0x00050041,0x00000026,0x0000003e,
0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050089,0x00000006,
0x00000040,0x0000003d,0x0000003f,0x0003003e,0x0000003c,0x00000040,0x0004003d,0x00000006,
0x00000041,0x0000003c,0x00050041,0x00000026,0x00000043,0x00000023,0x00000042,0x0004003d,
0x00000006,0x00000044,0x00000043,0x000500ae,0x00000045,0x00000046,0x00000041,0x00000044,
0x000300f7,0x00000048,0x00000000,0x000400fa,0x00000046,0x00000047,0x00000048,0x000200f8,
0x00000047,0x000200fe,0x00000049,0x000200f8,0x00000048,0x0004003d,0x00000006,0x0000004d,
0x00000036,0x0003003e,0x0000004c,0x0000004d,0x0004003d,0x00000006,0x0000004f,0x0000003c,
0x0003003e,0x0000004e,0x0000004f,0x00060039,0x00000006,0x00000050,0x0000000b,0x0000004c,
0x0000004e,0x0003003e,0x0000004b,0x00000050,0x0004003d,0x00000006,0x00000057,0x0000004b,
0x00050086,0x00000006,0x00000059,0x00000057,0x00000058,0x00060041,0x0000005a,0x0000005b,
0x00000055,0x00000056,0x00000059,0x0004003d,0x00000006,0x0000005c,0x0000005b,0x0003003e,
0x00000051,0x0000005c,0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,
0x0000005d,0x0004003d,0x00000006,0x00000061,0x0000003c,0x00050084,0x00000006,0x00000062,
0x00000060,0x00000061,0x0003003e,0x0000005f,0x00000062,0x0004003d,0x00000006,0x00000064,
0x0000003c,0x000500aa,0x00000045,0x00000066,0x00000064,0x00000065,0x000600a9,0x00000024,
0x00000069,0x00000066,0x00000067,0x00000068,0x0004007c,0x00000006,0x0000006a,0x00000069,
0x0003003e,0x00000063,0x0000006a,0x0004003d,0x00000006,0x0000006c,0x00000051,0x0004003d,
0x00000006,0x0000006d,0x0000005f,0x000500c2,0x00000006,0x0000006e,0x0000006c,0x0000006d,
0x0004003d,0x00000006,0x0000006f,0x00000063,0x000500c7,0x00000006,0x00000070,0x0000006e,
0x0000006f,0x0003003e,0x0000006b,0x00000070,0x0004003d,0x00000006,0x00000072,0x0000006b,
0x0003003e,0x00000071,0x00000072,0x0004003d,0x00000006,0x00000073,0x00000071,0x000200fe,
0x00000073,0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,
0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003d,0x00000006,0x00000076,0x00000013,
0x00040070,0x00000011,0x00000077,0x00000076,0x000200fe,0x00000077,0x00010038,0x00050036,
0x00000006,0x0000001a,0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,
0x00000016,0x00000019,0x000200f8,0x0000001b,0x0004003b,0x00000007,0x0000007a,0x00000007,
0x0004003d,0x00000011,0x0000007b,0x00000019,0x0004007c,0x00000024,0x0000007c,0x0000007b,
0x0004007c,0x00000006,0x0000007d,0x0000007c,0x0003003e,0x0000007a,0x0000007d,0x0004003d,
0x00000006,0x0000007e,0x0000007a,0x000200fe,0x0000007e,0x00010038,0x00050036,0x00000002,
0x0000001e,0x00000000,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,
0x00050041,0x00000088,0x00000089,0x00000087,0x00000049,0x0004003d,0x00000006,0x0000008a,
0x00000089,0x00050041,0x00000026,0x0000008b,0x00000023,0x00000067,0x0004003d,0x00000006,
0x0000008c,0x0000008b,0x00050086,0x00000006,0x0000008d,0x0000008c,0x00000058,0x00050080,
0x00000006,0x0000008e,0x0000008a,0x0000008d,0x0004003d,0x00000006,0x0000008f,0x0000001d,
0x00060041,0x0000005a,0x00000090,0x00000084,0x00000056,0x0000008e,0x0003003e,0x00000090,
0x0000008f,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
uint loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;
return value;
}
float convertComponent(uint srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
if(gl_GlobalInvocationID . x >= params . outputCount)
return;
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
if(cd >= params . componentCount)
{
break;
}
uint srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,276 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000017[] = {
0x07230203,0x00010000,0x00080007,0x000000b8,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000087,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x0000000f,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000e,
0x00006463,0x00080005,0x00000014,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b317528,
0x00000000,0x00050005,0x00000013,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004b,0x7366666f,0x00007465,0x00040005,0x0000004c,
0x61726170,0x0000006d,0x00040005,0x0000004e,0x61726170,0x0000006d,0x00040005,0x00000051,
0x636f6c62,0x0000006b,0x00030005,0x00000053,0x00637273,0x00050006,0x00000053,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000055,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00040005,0x00000071,0x756c6176,0x00000065,0x00050005,0x0000007a,0x756c6176,
0x55734165,0x00746e69,0x00040005,0x00000082,0x74736564,0x00000000,0x00060006,0x00000082,
0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x00000084,0x00000000,0x00080005,
0x00000087,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
0x00000091,0x756c6176,0x74754f65,0x00000000,0x00030005,0x00000092,0x00000069,0x00030005,
0x0000009b,0x00006463,0x00050005,0x000000a1,0x56637273,0x65756c61,0x00000000,0x00040005,
0x000000a2,0x61726170,0x0000006d,0x00050005,0x000000a5,0x74736564,0x756c6156,0x00000065,
0x00040005,0x000000a6,0x61726170,0x0000006d,0x00040005,0x000000a9,0x61726170,0x0000006d,
0x00040005,0x000000ab,0x61726170,0x0000006d,0x00040005,0x000000b3,0x61726170,0x0000006d,
0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
0x00000052,0x00000006,0x00000004,0x00050048,0x00000053,0x00000000,0x00000023,0x00000000,
0x00030047,0x00000053,0x00000003,0x00040047,0x00000055,0x00000022,0x00000000,0x00040047,
0x00000055,0x00000021,0x00000001,0x00040047,0x00000081,0x00000006,0x00000004,0x00050048,
0x00000082,0x00000000,0x00000023,0x00000000,0x00030047,0x00000082,0x00000003,0x00040047,
0x00000084,0x00000022,0x00000000,0x00040047,0x00000084,0x00000021,0x00000000,0x00040047,
0x00000087,0x0000000b,0x0000001c,0x00040047,0x000000b7,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
0x00000007,0x00040021,0x0000000d,0x00000006,0x00000007,0x00030016,0x00000011,0x00000020,
0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,
0x00050021,0x00000017,0x00000006,0x00000007,0x00000016,0x00040021,0x0000001c,0x00000002,
0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000049,
0x00000000,0x0003001d,0x00000052,0x00000006,0x0003001e,0x00000053,0x00000052,0x00040020,
0x00000054,0x00000002,0x00000053,0x0004003b,0x00000054,0x00000055,0x00000002,0x0004002b,
0x00000024,0x00000056,0x00000000,0x0004002b,0x00000006,0x00000058,0x00000004,0x00040020,
0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000005e,0x0000000a,0x0004002b,
0x00000006,0x00000065,0x00000003,0x0004002b,0x00000024,0x00000067,0x00000003,0x0004002b,
0x00000024,0x00000068,0x000003ff,0x0003001d,0x00000081,0x00000006,0x0003001e,0x00000082,
0x00000081,0x00040020,0x00000083,0x00000002,0x00000082,0x0004003b,0x00000083,0x00000084,
0x00000002,0x00040017,0x00000085,0x00000006,0x00000003,0x00040020,0x00000086,0x00000001,
0x00000085,0x0004003b,0x00000086,0x00000087,0x00000001,0x00040020,0x00000088,0x00000001,
0x00000006,0x0004002b,0x00000006,0x00000099,0x00000001,0x0004002b,0x00000024,0x000000b1,
0x00000001,0x0004002b,0x00000006,0x000000b6,0x00000040,0x0006002c,0x00000085,0x000000b7,
0x000000b6,0x00000099,0x00000099,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000091,0x00000007,0x0004003b,0x00000007,
0x00000092,0x00000007,0x0004003b,0x00000007,0x0000009b,0x00000007,0x0004003b,0x00000007,
0x000000a1,0x00000007,0x0004003b,0x00000007,0x000000a2,0x00000007,0x0004003b,0x00000016,
0x000000a5,0x00000007,0x0004003b,0x00000007,0x000000a6,0x00000007,0x0004003b,0x00000007,
0x000000a9,0x00000007,0x0004003b,0x00000016,0x000000ab,0x00000007,0x0004003b,0x00000007,
0x000000b3,0x00000007,0x0003003e,0x00000091,0x00000049,0x0003003e,0x00000092,0x00000049,
0x000200f9,0x00000093,0x000200f8,0x00000093,0x000400f6,0x00000095,0x00000096,0x00000000,
0x000200f9,0x00000097,0x000200f8,0x00000097,0x0004003d,0x00000006,0x00000098,0x00000092,
0x000500b0,0x00000045,0x0000009a,0x00000098,0x00000099,0x000400fa,0x0000009a,0x00000094,
0x00000095,0x000200f8,0x00000094,0x00050041,0x00000088,0x0000009c,0x00000087,0x00000049,
0x0004003d,0x00000006,0x0000009d,0x0000009c,0x00050084,0x00000006,0x0000009e,0x0000009d,
0x00000099,0x0004003d,0x00000006,0x0000009f,0x00000092,0x00050080,0x00000006,0x000000a0,
0x0000009e,0x0000009f,0x0003003e,0x0000009b,0x000000a0,0x0004003d,0x00000006,0x000000a3,
0x0000009b,0x0003003e,0x000000a2,0x000000a3,0x00050039,0x00000006,0x000000a4,0x0000000f,
0x000000a2,0x0003003e,0x000000a1,0x000000a4,0x0004003d,0x00000006,0x000000a7,0x000000a1,
0x0003003e,0x000000a6,0x000000a7,0x00050039,0x00000011,0x000000a8,0x00000014,0x000000a6,
0x0003003e,0x000000a5,0x000000a8,0x0004003d,0x00000006,0x000000aa,0x0000009b,0x0003003e,
0x000000a9,0x000000aa,0x0004003d,0x00000011,0x000000ac,0x000000a5,0x0003003e,0x000000ab,
0x000000ac,0x00060039,0x00000006,0x000000ad,0x0000001a,0x000000a9,0x000000ab,0x0004003d,
0x00000006,0x000000ae,0x00000091,0x000500c5,0x00000006,0x000000af,0x000000ae,0x000000ad,
0x0003003e,0x00000091,0x000000af,0x000200f9,0x00000096,0x000200f8,0x00000096,0x0004003d,
0x00000006,0x000000b0,0x00000092,0x00050080,0x00000006,0x000000b2,0x000000b0,0x000000b1,
0x0003003e,0x00000092,0x000000b2,0x000200f9,0x00000093,0x000200f8,0x00000095,0x0004003d,
0x00000006,0x000000b4,0x00000091,0x0003003e,0x000000b3,0x000000b4,0x00050039,0x00000002,
0x000000b5,0x0000001e,0x000000b3,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,
0x00000027,0x00000023,0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,
0x00000006,0x00000029,0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,
0x00050041,0x00000026,0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,
0x0000002c,0x00050084,0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,
0x0000002f,0x00000029,0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,
0x0004003d,0x00000006,0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,
0x00000032,0x000200fe,0x00000033,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,
0x00000036,0x00000007,0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,
0x0000004b,0x00000007,0x0004003b,0x00000007,0x0000004c,0x00000007,0x0004003b,0x00000007,
0x0000004e,0x00000007,0x0004003b,0x00000007,0x00000051,0x00000007,0x0004003b,0x00000007,
0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,
0x00000063,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000007,
0x00000071,0x00000007,0x0004003d,0x00000006,0x00000037,0x0000000e,0x00050041,0x00000026,
0x00000039,0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050086,
0x00000006,0x0000003b,0x00000037,0x0000003a,0x0003003e,0x00000036,0x0000003b,0x0004003d,
0x00000006,0x0000003d,0x0000000e,0x00050041,0x00000026,0x0000003e,0x00000023,0x00000038,
0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050089,0x00000006,0x00000040,0x0000003d,
0x0000003f,0x0003003e,0x0000003c,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003c,
0x00050041,0x00000026,0x00000043,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000044,
0x00000043,0x000500ae,0x00000045,0x00000046,0x00000041,0x00000044,0x000300f7,0x00000048,
0x00000000,0x000400fa,0x00000046,0x00000047,0x00000048,0x000200f8,0x00000047,0x000200fe,
0x00000049,0x000200f8,0x00000048,0x0004003d,0x00000006,0x0000004d,0x00000036,0x0003003e,
0x0000004c,0x0000004d,0x0004003d,0x00000006,0x0000004f,0x0000003c,0x0003003e,0x0000004e,
0x0000004f,0x00060039,0x00000006,0x00000050,0x0000000b,0x0000004c,0x0000004e,0x0003003e,
0x0000004b,0x00000050,0x0004003d,0x00000006,0x00000057,0x0000004b,0x00050086,0x00000006,
0x00000059,0x00000057,0x00000058,0x00060041,0x0000005a,0x0000005b,0x00000055,0x00000056,
0x00000059,0x0004003d,0x00000006,0x0000005c,0x0000005b,0x0003003e,0x00000051,0x0000005c,
0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,0x0000005d,0x0004003d,
0x00000006,0x00000061,0x0000003c,0x00050084,0x00000006,0x00000062,0x00000060,0x00000061,
0x0003003e,0x0000005f,0x00000062,0x0004003d,0x00000006,0x00000064,0x0000003c,0x000500aa,
0x00000045,0x00000066,0x00000064,0x00000065,0x000600a9,0x00000024,0x00000069,0x00000066,
0x00000067,0x00000068,0x0004007c,0x00000006,0x0000006a,0x00000069,0x0003003e,0x00000063,
0x0000006a,0x0004003d,0x00000006,0x0000006c,0x00000051,0x0004003d,0x00000006,0x0000006d,
0x0000005f,0x000500c2,0x00000006,0x0000006e,0x0000006c,0x0000006d,0x0004003d,0x00000006,
0x0000006f,0x00000063,0x000500c7,0x00000006,0x00000070,0x0000006e,0x0000006f,0x0003003e,
0x0000006b,0x00000070,0x0004003d,0x00000006,0x00000072,0x0000006b,0x0003003e,0x00000071,
0x00000072,0x0004003d,0x00000006,0x00000073,0x00000071,0x000200fe,0x00000073,0x00010038,
0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,
0x000200f8,0x00000015,0x0004003d,0x00000006,0x00000076,0x00000013,0x00040070,0x00000011,
0x00000077,0x00000076,0x000200fe,0x00000077,0x00010038,0x00050036,0x00000006,0x0000001a,
0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000016,0x00000019,
0x000200f8,0x0000001b,0x0004003b,0x00000007,0x0000007a,0x00000007,0x0004003d,0x00000011,
0x0000007b,0x00000019,0x0004007c,0x00000024,0x0000007c,0x0000007b,0x0004007c,0x00000006,
0x0000007d,0x0000007c,0x0003003e,0x0000007a,0x0000007d,0x0004003d,0x00000006,0x0000007e,
0x0000007a,0x000200fe,0x0000007e,0x00010038,0x00050036,0x00000002,0x0000001e,0x00000000,
0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,0x00050041,0x00000088,
0x00000089,0x00000087,0x00000049,0x0004003d,0x00000006,0x0000008a,0x00000089,0x00050041,
0x00000026,0x0000008b,0x00000023,0x00000067,0x0004003d,0x00000006,0x0000008c,0x0000008b,
0x00050086,0x00000006,0x0000008d,0x0000008c,0x00000058,0x00050080,0x00000006,0x0000008e,
0x0000008a,0x0000008d,0x0004003d,0x00000006,0x0000008f,0x0000001d,0x00060041,0x0000005a,
0x00000090,0x00000084,0x00000056,0x0000008e,0x0003003e,0x00000090,0x0000008f,0x000100fd,
0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
uint loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
uint value = valueAsUint;
return value;
}
float convertComponent(uint srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
uint srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,326 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000018[] = {
0x07230203,0x00010000,0x00080007,0x000000ef,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000b1,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
0x00006463,0x00080005,0x00000015,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316628,
0x00000000,0x00050005,0x00000014,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004b,0x7366666f,0x00007465,0x00040005,0x0000004c,
0x61726170,0x0000006d,0x00040005,0x0000004e,0x61726170,0x0000006d,0x00040005,0x00000051,
0x636f6c62,0x0000006b,0x00030005,0x00000053,0x00637273,0x00050006,0x00000053,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000055,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00050005,0x00000077,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000082,
0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00050005,0x00000091,0x756c6176,0x49734165,
0x0000746e,0x00040005,0x00000094,0x756c6176,0x00000065,0x00050005,0x000000a4,0x756c6176,
0x55734165,0x00746e69,0x00040005,0x000000ac,0x74736564,0x00000000,0x00060006,0x000000ac,
0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000ae,0x00000000,0x00080005,
0x000000b1,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
0x000000c3,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000c4,0x00000069,0x00030005,
0x000000cc,0x00006463,0x00050005,0x000000d9,0x56637273,0x65756c61,0x00000000,0x00040005,
0x000000da,0x61726170,0x0000006d,0x00050005,0x000000dd,0x74736564,0x756c6156,0x00000065,
0x00040005,0x000000de,0x61726170,0x0000006d,0x00040005,0x000000e1,0x61726170,0x0000006d,
0x00040005,0x000000e3,0x61726170,0x0000006d,0x00040005,0x000000ea,0x61726170,0x0000006d,
0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
0x00000052,0x00000006,0x00000004,0x00050048,0x00000053,0x00000000,0x00000023,0x00000000,
0x00030047,0x00000053,0x00000003,0x00040047,0x00000055,0x00000022,0x00000000,0x00040047,
0x00000055,0x00000021,0x00000001,0x00040047,0x000000ab,0x00000006,0x00000004,0x00050048,
0x000000ac,0x00000000,0x00000023,0x00000000,0x00030047,0x000000ac,0x00000003,0x00040047,
0x000000ae,0x00000022,0x00000000,0x00040047,0x000000ae,0x00000021,0x00000000,0x00040047,
0x000000b1,0x0000000b,0x0000001c,0x00040047,0x000000ee,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
0x00000007,0x00030016,0x0000000d,0x00000020,0x00040021,0x0000000e,0x0000000d,0x00000007,
0x00040020,0x00000012,0x00000007,0x0000000d,0x00040021,0x00000013,0x0000000d,0x00000012,
0x00050021,0x00000017,0x00000006,0x00000007,0x00000012,0x00040021,0x0000001c,0x00000002,
0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x0000000d,0x00000049,
0x00000000,0x0003001d,0x00000052,0x00000006,0x0003001e,0x00000053,0x00000052,0x00040020,
0x00000054,0x00000002,0x00000053,0x0004003b,0x00000054,0x00000055,0x00000002,0x0004002b,
0x00000024,0x00000056,0x00000000,0x0004002b,0x00000006,0x00000058,0x00000004,0x00040020,
0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000005e,0x0000000a,0x0004002b,
0x00000006,0x00000065,0x00000003,0x0004002b,0x00000024,0x00000067,0x00000003,0x0004002b,
0x00000024,0x00000068,0x000003ff,0x0004002b,0x00000006,0x00000072,0x00000020,0x00040020,
0x00000076,0x00000007,0x00000045,0x0004002b,0x00000024,0x00000079,0x00000001,0x0004002b,
0x00000006,0x0000007b,0x00000001,0x0004002b,0x00000006,0x00000080,0x00000000,0x00040020,
0x00000084,0x00000007,0x00000024,0x0004002b,0x00000024,0x00000088,0xffffffff,0x0004002b,
0x0000000d,0x00000095,0x40000000,0x0004002b,0x0000000d,0x00000099,0x3f800000,0x0003001d,
0x000000ab,0x00000006,0x0003001e,0x000000ac,0x000000ab,0x00040020,0x000000ad,0x00000002,
0x000000ac,0x0004003b,0x000000ad,0x000000ae,0x00000002,0x00040017,0x000000af,0x00000006,
0x00000003,0x00040020,0x000000b0,0x00000001,0x000000af,0x0004003b,0x000000b0,0x000000b1,
0x00000001,0x00040020,0x000000b2,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000ed,
0x00000040,0x0006002c,0x000000af,0x000000ee,0x000000ed,0x0000007b,0x0000007b,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
0x000000c3,0x00000007,0x0004003b,0x00000007,0x000000c4,0x00000007,0x0004003b,0x00000007,
0x000000cc,0x00000007,0x0004003b,0x00000012,0x000000d9,0x00000007,0x0004003b,0x00000007,
0x000000da,0x00000007,0x0004003b,0x00000012,0x000000dd,0x00000007,0x0004003b,0x00000012,
0x000000de,0x00000007,0x0004003b,0x00000007,0x000000e1,0x00000007,0x0004003b,0x00000012,
0x000000e3,0x00000007,0x0004003b,0x00000007,0x000000ea,0x00000007,0x00050041,0x000000b2,
0x000000bb,0x000000b1,0x00000080,0x0004003d,0x00000006,0x000000bc,0x000000bb,0x00050041,
0x00000026,0x000000bd,0x00000023,0x00000056,0x0004003d,0x00000006,0x000000be,0x000000bd,
0x000500ae,0x00000045,0x000000bf,0x000000bc,0x000000be,0x000300f7,0x000000c1,0x00000000,
0x000400fa,0x000000bf,0x000000c0,0x000000c1,0x000200f8,0x000000c0,0x000100fd,0x000200f8,
0x000000c1,0x0003003e,0x000000c3,0x00000080,0x0003003e,0x000000c4,0x00000080,0x000200f9,
0x000000c5,0x000200f8,0x000000c5,0x000400f6,0x000000c7,0x000000c8,0x00000000,0x000200f9,
0x000000c9,0x000200f8,0x000000c9,0x0004003d,0x00000006,0x000000ca,0x000000c4,0x000500b0,
0x00000045,0x000000cb,0x000000ca,0x0000007b,0x000400fa,0x000000cb,0x000000c6,0x000000c7,
0x000200f8,0x000000c6,0x00050041,0x000000b2,0x000000cd,0x000000b1,0x00000080,0x0004003d,
0x00000006,0x000000ce,0x000000cd,0x00050084,0x00000006,0x000000cf,0x000000ce,0x0000007b,
0x0004003d,0x00000006,0x000000d0,0x000000c4,0x00050080,0x00000006,0x000000d1,0x000000cf,
0x000000d0,0x0003003e,0x000000cc,0x000000d1,0x0004003d,0x00000006,0x000000d2,0x000000cc,
0x00050041,0x00000026,0x000000d3,0x00000023,0x00000079,0x0004003d,0x00000006,0x000000d4,
0x000000d3,0x000500ae,0x00000045,0x000000d5,0x000000d2,0x000000d4,0x000300f7,0x000000d7,
0x00000000,0x000400fa,0x000000d5,0x000000d6,0x000000d7,0x000200f8,0x000000d6,0x000200f9,
0x000000c7,0x000200f8,0x000000d7,0x0004003d,0x00000006,0x000000db,0x000000cc,0x0003003e,
0x000000da,0x000000db,0x00050039,0x0000000d,0x000000dc,0x00000010,0x000000da,0x0003003e,
0x000000d9,0x000000dc,0x0004003d,0x0000000d,0x000000df,0x000000d9,0x0003003e,0x000000de,
0x000000df,0x00050039,0x0000000d,0x000000e0,0x00000015,0x000000de,0x0003003e,0x000000dd,
0x000000e0,0x0004003d,0x00000006,0x000000e2,0x000000cc,0x0003003e,0x000000e1,0x000000e2,
0x0004003d,0x0000000d,0x000000e4,0x000000dd,0x0003003e,0x000000e3,0x000000e4,0x00060039,
0x00000006,0x000000e5,0x0000001a,0x000000e1,0x000000e3,0x0004003d,0x00000006,0x000000e6,
0x000000c3,0x000500c5,0x00000006,0x000000e7,0x000000e6,0x000000e5,0x0003003e,0x000000c3,
0x000000e7,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x0004003d,0x00000006,0x000000e8,
0x000000c4,0x00050080,0x00000006,0x000000e9,0x000000e8,0x00000079,0x0003003e,0x000000c4,
0x000000e9,0x000200f9,0x000000c5,0x000200f8,0x000000c7,0x0004003d,0x00000006,0x000000eb,
0x000000c3,0x0003003e,0x000000ea,0x000000eb,0x00050039,0x00000002,0x000000ec,0x0000001e,
0x000000ea,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,
0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,
0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,
0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,
0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,
0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,
0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,
0x00000033,0x00010038,0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,
0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000036,0x00000007,
0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004b,0x00000007,
0x0004003b,0x00000007,0x0000004c,0x00000007,0x0004003b,0x00000007,0x0000004e,0x00000007,
0x0004003b,0x00000007,0x00000051,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,
0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,
0x0004003b,0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000076,0x00000077,0x00000007,
0x0004003b,0x00000007,0x00000082,0x00000007,0x0004003b,0x00000084,0x00000085,0x00000007,
0x0004003b,0x00000084,0x00000091,0x00000007,0x0004003b,0x00000012,0x00000094,0x00000007,
0x0004003d,0x00000006,0x00000037,0x0000000f,0x00050041,0x00000026,0x00000039,0x00000023,
0x00000038,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050086,0x00000006,0x0000003b,
0x00000037,0x0000003a,0x0003003e,0x00000036,0x0000003b,0x0004003d,0x00000006,0x0000003d,
0x0000000f,0x00050041,0x00000026,0x0000003e,0x00000023,0x00000038,0x0004003d,0x00000006,
0x0000003f,0x0000003e,0x00050089,0x00000006,0x00000040,0x0000003d,0x0000003f,0x0003003e,
0x0000003c,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003c,0x00050041,0x00000026,
0x00000043,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500ae,
0x00000045,0x00000046,0x00000041,0x00000044,0x000300f7,0x00000048,0x00000000,0x000400fa,
0x00000046,0x00000047,0x00000048,0x000200f8,0x00000047,0x000200fe,0x00000049,0x000200f8,
0x00000048,0x0004003d,0x00000006,0x0000004d,0x00000036,0x0003003e,0x0000004c,0x0000004d,
0x0004003d,0x00000006,0x0000004f,0x0000003c,0x0003003e,0x0000004e,0x0000004f,0x00060039,
0x00000006,0x00000050,0x0000000b,0x0000004c,0x0000004e,0x0003003e,0x0000004b,0x00000050,
0x0004003d,0x00000006,0x00000057,0x0000004b,0x00050086,0x00000006,0x00000059,0x00000057,
0x00000058,0x00060041,0x0000005a,0x0000005b,0x00000055,0x00000056,0x00000059,0x0004003d,
0x00000006,0x0000005c,0x0000005b,0x0003003e,0x00000051,0x0000005c,0x0003003e,0x0000005d,
0x0000005e,0x0004003d,0x00000006,0x00000060,0x0000005d,0x0004003d,0x00000006,0x00000061,
0x0000003c,0x00050084,0x00000006,0x00000062,0x00000060,0x00000061,0x0003003e,0x0000005f,
0x00000062,0x0004003d,0x00000006,0x00000064,0x0000003c,0x000500aa,0x00000045,0x00000066,
0x00000064,0x00000065,0x000600a9,0x00000024,0x00000069,0x00000066,0x00000067,0x00000068,
0x0004007c,0x00000006,0x0000006a,0x00000069,0x0003003e,0x00000063,0x0000006a,0x0004003d,
0x00000006,0x0000006c,0x00000051,0x0004003d,0x00000006,0x0000006d,0x0000005f,0x000500c2,
0x00000006,0x0000006e,0x0000006c,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000063,
0x000500c7,0x00000006,0x00000070,0x0000006e,0x0000006f,0x0003003e,0x0000006b,0x00000070,
0x0004003d,0x00000006,0x00000071,0x0000005d,0x000500b0,0x00000045,0x00000073,0x00000071,
0x00000072,0x000300f7,0x00000075,0x00000000,0x000400fa,0x00000073,0x00000074,0x00000075,
0x000200f8,0x00000074,0x0004003d,0x00000006,0x00000078,0x0000006b,0x0004003d,0x00000006,
0x0000007a,0x0000005d,0x00050082,0x00000006,0x0000007c,0x0000007a,0x0000007b,0x000500c4,
0x00000024,0x0000007d,0x00000079,0x0000007c,0x0004007c,0x00000006,0x0000007e,0x0000007d,
0x000500c7,0x00000006,0x0000007f,0x00000078,0x0000007e,0x000500ab,0x00000045,0x00000081,
0x0000007f,0x00000080,0x0003003e,0x00000077,0x00000081,0x0004003d,0x00000045,0x00000083,
0x00000077,0x000300f7,0x00000087,0x00000000,0x000400fa,0x00000083,0x00000086,0x0000008b,
0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000089,0x0000005d,0x000500c4,0x00000024,
0x0000008a,0x00000088,0x00000089,0x0003003e,0x00000085,0x0000008a,0x000200f9,0x00000087,
0x000200f8,0x0000008b,0x0003003e,0x00000085,0x00000056,0x000200f9,0x00000087,0x000200f8,
0x00000087,0x0004003d,0x00000024,0x0000008c,0x00000085,0x0004007c,0x00000006,0x0000008d,
0x0000008c,0x0003003e,0x00000082,0x0000008d,0x0004003d,0x00000006,0x0000008e,0x00000082,
0x0004003d,0x00000006,0x0000008f,0x0000006b,0x000500c5,0x00000006,0x00000090,0x0000008f,
0x0000008e,0x0003003e,0x0000006b,0x00000090,0x000200f9,0x00000075,0x000200f8,0x00000075,
0x0004003d,0x00000006,0x00000092,0x0000006b,0x0004007c,0x00000024,0x00000093,0x00000092,
0x0003003e,0x00000091,0x00000093,0x0004003d,0x00000024,0x00000096,0x00000091,0x0004006f,
0x0000000d,0x00000097,0x00000096,0x00050085,0x0000000d,0x00000098,0x00000095,0x00000097,
0x00050081,0x0000000d,0x0000009a,0x00000098,0x00000099,0x0004003d,0x00000006,0x0000009b,
0x00000063,0x00040070,0x0000000d,0x0000009c,0x0000009b,0x00050088,0x0000000d,0x0000009d,
0x0000009a,0x0000009c,0x0003003e,0x00000094,0x0000009d,0x0004003d,0x0000000d,0x0000009e,
0x00000094,0x000200fe,0x0000009e,0x00010038,0x00050036,0x0000000d,0x00000015,0x00000000,
0x00000013,0x00030037,0x00000012,0x00000014,0x000200f8,0x00000016,0x0004003d,0x0000000d,
0x000000a1,0x00000014,0x000200fe,0x000000a1,0x00010038,0x00050036,0x00000006,0x0000001a,
0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000012,0x00000019,
0x000200f8,0x0000001b,0x0004003b,0x00000007,0x000000a4,0x00000007,0x0004003d,0x0000000d,
0x000000a5,0x00000019,0x0004007c,0x00000024,0x000000a6,0x000000a5,0x0004007c,0x00000006,
0x000000a7,0x000000a6,0x0003003e,0x000000a4,0x000000a7,0x0004003d,0x00000006,0x000000a8,
0x000000a4,0x000200fe,0x000000a8,0x00010038,0x00050036,0x00000002,0x0000001e,0x00000000,
0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,0x00050041,0x000000b2,
0x000000b3,0x000000b1,0x00000080,0x0004003d,0x00000006,0x000000b4,0x000000b3,0x00050041,
0x00000026,0x000000b5,0x00000023,0x00000067,0x0004003d,0x00000006,0x000000b6,0x000000b5,
0x00050086,0x00000006,0x000000b7,0x000000b6,0x00000058,0x00050080,0x00000006,0x000000b8,
0x000000b4,0x000000b7,0x0004003d,0x00000006,0x000000b9,0x0000001d,0x00060041,0x0000005a,
0x000000ba,0x000000ae,0x00000056,0x000000b8,0x0003003e,0x000000ba,0x000000b9,0x000100fd,
0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
float loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int valueAsInt = int(valueAsUint);
float value =(2 * float(valueAsInt)+ 1)/ valueMask;
return value;
}
float convertComponent(float srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
if(gl_GlobalInvocationID . x >= params . outputCount)
return;
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
if(cd >= params . componentCount)
{
break;
}
float srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -0,0 +1,309 @@
// 7.12.3226
#pragma once
const uint32_t kConvertVertex_comp_00000019[] = {
0x07230203,0x00010000,0x00080007,0x000000e0,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000b1,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
0x00006463,0x00080005,0x00000015,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316628,
0x00000000,0x00050005,0x00000014,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
0x6e656e6f,0x00000074,0x00040005,0x0000004b,0x7366666f,0x00007465,0x00040005,0x0000004c,
0x61726170,0x0000006d,0x00040005,0x0000004e,0x61726170,0x0000006d,0x00040005,0x00000051,
0x636f6c62,0x0000006b,0x00030005,0x00000053,0x00637273,0x00050006,0x00000053,0x00000000,
0x44637273,0x00617461,0x00030005,0x00000055,0x00000000,0x00050005,0x0000005d,0x756c6176,
0x74694265,0x00000073,0x00050005,0x0000005f,0x66696873,0x74694274,0x00000073,0x00050005,
0x00000063,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000006b,0x756c6176,0x55734165,
0x00746e69,0x00050005,0x00000077,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000082,
0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00050005,0x00000091,0x756c6176,0x49734165,
0x0000746e,0x00040005,0x00000094,0x756c6176,0x00000065,0x00050005,0x000000a4,0x756c6176,
0x55734165,0x00746e69,0x00040005,0x000000ac,0x74736564,0x00000000,0x00060006,0x000000ac,
0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000ae,0x00000000,0x00080005,
0x000000b1,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
0x000000bb,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000bc,0x00000069,0x00030005,
0x000000c4,0x00006463,0x00050005,0x000000ca,0x56637273,0x65756c61,0x00000000,0x00040005,
0x000000cb,0x61726170,0x0000006d,0x00050005,0x000000ce,0x74736564,0x756c6156,0x00000065,
0x00040005,0x000000cf,0x61726170,0x0000006d,0x00040005,0x000000d2,0x61726170,0x0000006d,
0x00040005,0x000000d4,0x61726170,0x0000006d,0x00040005,0x000000db,0x61726170,0x0000006d,
0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
0x00000052,0x00000006,0x00000004,0x00050048,0x00000053,0x00000000,0x00000023,0x00000000,
0x00030047,0x00000053,0x00000003,0x00040047,0x00000055,0x00000022,0x00000000,0x00040047,
0x00000055,0x00000021,0x00000001,0x00040047,0x000000ab,0x00000006,0x00000004,0x00050048,
0x000000ac,0x00000000,0x00000023,0x00000000,0x00030047,0x000000ac,0x00000003,0x00040047,
0x000000ae,0x00000022,0x00000000,0x00040047,0x000000ae,0x00000021,0x00000000,0x00040047,
0x000000b1,0x0000000b,0x0000001c,0x00040047,0x000000df,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
0x00000007,0x00030016,0x0000000d,0x00000020,0x00040021,0x0000000e,0x0000000d,0x00000007,
0x00040020,0x00000012,0x00000007,0x0000000d,0x00040021,0x00000013,0x0000000d,0x00000012,
0x00050021,0x00000017,0x00000006,0x00000007,0x00000012,0x00040021,0x0000001c,0x00000002,
0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x0000000d,0x00000049,
0x00000000,0x0003001d,0x00000052,0x00000006,0x0003001e,0x00000053,0x00000052,0x00040020,
0x00000054,0x00000002,0x00000053,0x0004003b,0x00000054,0x00000055,0x00000002,0x0004002b,
0x00000024,0x00000056,0x00000000,0x0004002b,0x00000006,0x00000058,0x00000004,0x00040020,
0x0000005a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000005e,0x0000000a,0x0004002b,
0x00000006,0x00000065,0x00000003,0x0004002b,0x00000024,0x00000067,0x00000003,0x0004002b,
0x00000024,0x00000068,0x000003ff,0x0004002b,0x00000006,0x00000072,0x00000020,0x00040020,
0x00000076,0x00000007,0x00000045,0x0004002b,0x00000024,0x00000079,0x00000001,0x0004002b,
0x00000006,0x0000007b,0x00000001,0x0004002b,0x00000006,0x00000080,0x00000000,0x00040020,
0x00000084,0x00000007,0x00000024,0x0004002b,0x00000024,0x00000088,0xffffffff,0x0004002b,
0x0000000d,0x00000095,0x40000000,0x0004002b,0x0000000d,0x00000099,0x3f800000,0x0003001d,
0x000000ab,0x00000006,0x0003001e,0x000000ac,0x000000ab,0x00040020,0x000000ad,0x00000002,
0x000000ac,0x0004003b,0x000000ad,0x000000ae,0x00000002,0x00040017,0x000000af,0x00000006,
0x00000003,0x00040020,0x000000b0,0x00000001,0x000000af,0x0004003b,0x000000b0,0x000000b1,
0x00000001,0x00040020,0x000000b2,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000de,
0x00000040,0x0006002c,0x000000af,0x000000df,0x000000de,0x0000007b,0x0000007b,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
0x000000bb,0x00000007,0x0004003b,0x00000007,0x000000bc,0x00000007,0x0004003b,0x00000007,
0x000000c4,0x00000007,0x0004003b,0x00000012,0x000000ca,0x00000007,0x0004003b,0x00000007,
0x000000cb,0x00000007,0x0004003b,0x00000012,0x000000ce,0x00000007,0x0004003b,0x00000012,
0x000000cf,0x00000007,0x0004003b,0x00000007,0x000000d2,0x00000007,0x0004003b,0x00000012,
0x000000d4,0x00000007,0x0004003b,0x00000007,0x000000db,0x00000007,0x0003003e,0x000000bb,
0x00000080,0x0003003e,0x000000bc,0x00000080,0x000200f9,0x000000bd,0x000200f8,0x000000bd,
0x000400f6,0x000000bf,0x000000c0,0x00000000,0x000200f9,0x000000c1,0x000200f8,0x000000c1,
0x0004003d,0x00000006,0x000000c2,0x000000bc,0x000500b0,0x00000045,0x000000c3,0x000000c2,
0x0000007b,0x000400fa,0x000000c3,0x000000be,0x000000bf,0x000200f8,0x000000be,0x00050041,
0x000000b2,0x000000c5,0x000000b1,0x00000080,0x0004003d,0x00000006,0x000000c6,0x000000c5,
0x00050084,0x00000006,0x000000c7,0x000000c6,0x0000007b,0x0004003d,0x00000006,0x000000c8,
0x000000bc,0x00050080,0x00000006,0x000000c9,0x000000c7,0x000000c8,0x0003003e,0x000000c4,
0x000000c9,0x0004003d,0x00000006,0x000000cc,0x000000c4,0x0003003e,0x000000cb,0x000000cc,
0x00050039,0x0000000d,0x000000cd,0x00000010,0x000000cb,0x0003003e,0x000000ca,0x000000cd,
0x0004003d,0x0000000d,0x000000d0,0x000000ca,0x0003003e,0x000000cf,0x000000d0,0x00050039,
0x0000000d,0x000000d1,0x00000015,0x000000cf,0x0003003e,0x000000ce,0x000000d1,0x0004003d,
0x00000006,0x000000d3,0x000000c4,0x0003003e,0x000000d2,0x000000d3,0x0004003d,0x0000000d,
0x000000d5,0x000000ce,0x0003003e,0x000000d4,0x000000d5,0x00060039,0x00000006,0x000000d6,
0x0000001a,0x000000d2,0x000000d4,0x0004003d,0x00000006,0x000000d7,0x000000bb,0x000500c5,
0x00000006,0x000000d8,0x000000d7,0x000000d6,0x0003003e,0x000000bb,0x000000d8,0x000200f9,
0x000000c0,0x000200f8,0x000000c0,0x0004003d,0x00000006,0x000000d9,0x000000bc,0x00050080,
0x00000006,0x000000da,0x000000d9,0x00000079,0x0003003e,0x000000bc,0x000000da,0x000200f9,
0x000000bd,0x000200f8,0x000000bf,0x0004003d,0x00000006,0x000000dc,0x000000bb,0x0003003e,
0x000000db,0x000000dc,0x00050039,0x00000002,0x000000dd,0x0000001e,0x000000db,0x000100fd,
0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,
0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,
0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,0x00000025,0x0004003d,
0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,0x00000020,0x00000028,
0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,0x0000002c,0x00000023,
0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,0x00000006,0x0000002e,
0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,0x0000002e,0x00050041,
0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,
0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,0x00000033,0x00010038,
0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,0x00000007,0x0000000f,
0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000036,0x00000007,0x0004003b,0x00000007,
0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003b,0x00000007,
0x0000004c,0x00000007,0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003b,0x00000007,
0x00000051,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,
0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,0x0004003b,0x00000007,
0x0000006b,0x00000007,0x0004003b,0x00000076,0x00000077,0x00000007,0x0004003b,0x00000007,
0x00000082,0x00000007,0x0004003b,0x00000084,0x00000085,0x00000007,0x0004003b,0x00000084,
0x00000091,0x00000007,0x0004003b,0x00000012,0x00000094,0x00000007,0x0004003d,0x00000006,
0x00000037,0x0000000f,0x00050041,0x00000026,0x00000039,0x00000023,0x00000038,0x0004003d,
0x00000006,0x0000003a,0x00000039,0x00050086,0x00000006,0x0000003b,0x00000037,0x0000003a,
0x0003003e,0x00000036,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000000f,0x00050041,
0x00000026,0x0000003e,0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003f,0x0000003e,
0x00050089,0x00000006,0x00000040,0x0000003d,0x0000003f,0x0003003e,0x0000003c,0x00000040,
0x0004003d,0x00000006,0x00000041,0x0000003c,0x00050041,0x00000026,0x00000043,0x00000023,
0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500ae,0x00000045,0x00000046,
0x00000041,0x00000044,0x000300f7,0x00000048,0x00000000,0x000400fa,0x00000046,0x00000047,
0x00000048,0x000200f8,0x00000047,0x000200fe,0x00000049,0x000200f8,0x00000048,0x0004003d,
0x00000006,0x0000004d,0x00000036,0x0003003e,0x0000004c,0x0000004d,0x0004003d,0x00000006,
0x0000004f,0x0000003c,0x0003003e,0x0000004e,0x0000004f,0x00060039,0x00000006,0x00000050,
0x0000000b,0x0000004c,0x0000004e,0x0003003e,0x0000004b,0x00000050,0x0004003d,0x00000006,
0x00000057,0x0000004b,0x00050086,0x00000006,0x00000059,0x00000057,0x00000058,0x00060041,
0x0000005a,0x0000005b,0x00000055,0x00000056,0x00000059,0x0004003d,0x00000006,0x0000005c,
0x0000005b,0x0003003e,0x00000051,0x0000005c,0x0003003e,0x0000005d,0x0000005e,0x0004003d,
0x00000006,0x00000060,0x0000005d,0x0004003d,0x00000006,0x00000061,0x0000003c,0x00050084,
0x00000006,0x00000062,0x00000060,0x00000061,0x0003003e,0x0000005f,0x00000062,0x0004003d,
0x00000006,0x00000064,0x0000003c,0x000500aa,0x00000045,0x00000066,0x00000064,0x00000065,
0x000600a9,0x00000024,0x00000069,0x00000066,0x00000067,0x00000068,0x0004007c,0x00000006,
0x0000006a,0x00000069,0x0003003e,0x00000063,0x0000006a,0x0004003d,0x00000006,0x0000006c,
0x00000051,0x0004003d,0x00000006,0x0000006d,0x0000005f,0x000500c2,0x00000006,0x0000006e,
0x0000006c,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000063,0x000500c7,0x00000006,
0x00000070,0x0000006e,0x0000006f,0x0003003e,0x0000006b,0x00000070,0x0004003d,0x00000006,
0x00000071,0x0000005d,0x000500b0,0x00000045,0x00000073,0x00000071,0x00000072,0x000300f7,
0x00000075,0x00000000,0x000400fa,0x00000073,0x00000074,0x00000075,0x000200f8,0x00000074,
0x0004003d,0x00000006,0x00000078,0x0000006b,0x0004003d,0x00000006,0x0000007a,0x0000005d,
0x00050082,0x00000006,0x0000007c,0x0000007a,0x0000007b,0x000500c4,0x00000024,0x0000007d,
0x00000079,0x0000007c,0x0004007c,0x00000006,0x0000007e,0x0000007d,0x000500c7,0x00000006,
0x0000007f,0x00000078,0x0000007e,0x000500ab,0x00000045,0x00000081,0x0000007f,0x00000080,
0x0003003e,0x00000077,0x00000081,0x0004003d,0x00000045,0x00000083,0x00000077,0x000300f7,
0x00000087,0x00000000,0x000400fa,0x00000083,0x00000086,0x0000008b,0x000200f8,0x00000086,
0x0004003d,0x00000006,0x00000089,0x0000005d,0x000500c4,0x00000024,0x0000008a,0x00000088,
0x00000089,0x0003003e,0x00000085,0x0000008a,0x000200f9,0x00000087,0x000200f8,0x0000008b,
0x0003003e,0x00000085,0x00000056,0x000200f9,0x00000087,0x000200f8,0x00000087,0x0004003d,
0x00000024,0x0000008c,0x00000085,0x0004007c,0x00000006,0x0000008d,0x0000008c,0x0003003e,
0x00000082,0x0000008d,0x0004003d,0x00000006,0x0000008e,0x00000082,0x0004003d,0x00000006,
0x0000008f,0x0000006b,0x000500c5,0x00000006,0x00000090,0x0000008f,0x0000008e,0x0003003e,
0x0000006b,0x00000090,0x000200f9,0x00000075,0x000200f8,0x00000075,0x0004003d,0x00000006,
0x00000092,0x0000006b,0x0004007c,0x00000024,0x00000093,0x00000092,0x0003003e,0x00000091,
0x00000093,0x0004003d,0x00000024,0x00000096,0x00000091,0x0004006f,0x0000000d,0x00000097,
0x00000096,0x00050085,0x0000000d,0x00000098,0x00000095,0x00000097,0x00050081,0x0000000d,
0x0000009a,0x00000098,0x00000099,0x0004003d,0x00000006,0x0000009b,0x00000063,0x00040070,
0x0000000d,0x0000009c,0x0000009b,0x00050088,0x0000000d,0x0000009d,0x0000009a,0x0000009c,
0x0003003e,0x00000094,0x0000009d,0x0004003d,0x0000000d,0x0000009e,0x00000094,0x000200fe,
0x0000009e,0x00010038,0x00050036,0x0000000d,0x00000015,0x00000000,0x00000013,0x00030037,
0x00000012,0x00000014,0x000200f8,0x00000016,0x0004003d,0x0000000d,0x000000a1,0x00000014,
0x000200fe,0x000000a1,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,0x00000017,
0x00030037,0x00000007,0x00000018,0x00030037,0x00000012,0x00000019,0x000200f8,0x0000001b,
0x0004003b,0x00000007,0x000000a4,0x00000007,0x0004003d,0x0000000d,0x000000a5,0x00000019,
0x0004007c,0x00000024,0x000000a6,0x000000a5,0x0004007c,0x00000006,0x000000a7,0x000000a6,
0x0003003e,0x000000a4,0x000000a7,0x0004003d,0x00000006,0x000000a8,0x000000a4,0x000200fe,
0x000000a8,0x00010038,0x00050036,0x00000002,0x0000001e,0x00000000,0x0000001c,0x00030037,
0x00000007,0x0000001d,0x000200f8,0x0000001f,0x00050041,0x000000b2,0x000000b3,0x000000b1,
0x00000080,0x0004003d,0x00000006,0x000000b4,0x000000b3,0x00050041,0x00000026,0x000000b5,
0x00000023,0x00000067,0x0004003d,0x00000006,0x000000b6,0x000000b5,0x00050086,0x00000006,
0x000000b7,0x000000b6,0x00000058,0x00050080,0x00000006,0x000000b8,0x000000b4,0x000000b7,
0x0004003d,0x00000006,0x000000b9,0x0000001d,0x00060041,0x0000005a,0x000000ba,0x000000ae,
0x00000056,0x000000b8,0x0003003e,0x000000ba,0x000000b9,0x000100fd,0x00010038
};
#if 0 // 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 dest
{
uint destData[];
};
layout(set = 0, binding = 1)buffer src
{
uint srcData[];
};
layout(push_constant)uniform PushConstants
{
uint outputCount;
uint componentCount;
uint srcOffset;
uint destOffset;
uint Ns;
uint Bs;
uint Ss;
uint Es;
uint Nd;
uint Bd;
uint Sd;
uint Ed;
} params;
uint getSourceComponentOffset(uint vertex, uint component)
{
return vertex * params . Ss + component * params . Bs + params . srcOffset;
}
uint getDestinationComponentOffset(uint vertex, uint component)
{
return vertex * params . Sd + component * 4 + params . destOffset;
}
uint getShiftBits(uint offset, uint B)
{
uint shift =(offset % 4)* 8;
return shift;
}
float loadSourceComponent(uint cd)
{
uint vertex = cd / params . Nd;
uint component = cd % params . Nd;
if(component >= params . Ns)
{
return 0;
}
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
uint valueAsUint =(block >> shiftBits)& valueMask;
if(valueBits < 32)
{
bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
valueAsUint |= signExtension;
}
int valueAsInt = int(valueAsUint);
float value =(2 * float(valueAsInt)+ 1)/ valueMask;
return value;
}
float convertComponent(float srcValue)
{
return srcValue;
}
uint makeDestinationComponent(uint cd, float value)
{
uint valueAsUint = floatBitsToInt(value);
return valueAsUint;
}
void storeDestinationComponents(uint valueAsUint)
{
destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
}
void main()
{
uint valueOut = 0;
for(uint i = 0;i < 1;++ i)
{
uint cd = gl_GlobalInvocationID . x * 1 + i;
float srcValue = loadSourceComponent(cd);
float destValue = convertComponent(srcValue);
valueOut |= makeDestinationComponent(cd, destValue);
}
storeDestinationComponents(valueOut);
}
#endif // Preprocessed code

Просмотреть файл

@ -28,6 +28,9 @@
// To output exactly one 4-byte element, each thread is responsible for Ed=4/Bd components.
// Therefore, thread t is responsible for component indices [Ed*t, Ed*(t + 1)).
//
// We don't use Bs and Es for A2B10G10R10 and R10G10B10A2 formats since they take 10 or 2 bits per
// component. Variables that are computed using Bs or Es are hardcoded instead.
//
// Component index c is at source offset:
//
// floor(c / Ns) * Ss + mod(c, Ns) * Bs
@ -45,35 +48,44 @@
// * UnormToFloat: Similar to UintToFloat, but normalized.
// * FixedToFloat: 16.16 signed fixed-point to floating point.
// * FloatToFloat: float.
// * A2BGR10SintToSint: covers the signed int type of component when format is only A2BGR10.
// * A2BGR10UintToUint: covers the unsigned int type of component when format is only A2BGR10.
// * A2BGR10SintToFloat: Same types as A2BGR10SintToSint for source (including scaled).
// Converts to float.
// * A2BGR10UintToFloat: Same types as A2BGR10UintToUint for source (including uscaled).
// Converts to float.
// * A2BGR10SnormToFloat: Similar to IntToFloat, but normalized and only for A2BGR10.
//
// SintToSint, UintToUint and FloatToFloat correspond to CopyNativeVertexData() and
// Copy8SintTo16SintVertexData() in renderer/copyvertex.inc, FixedToFloat corresponds to
// Copy32FixedTo32FVertexData, SintToFloat and UintToFloat correspond to CopyTo32FVertexData with
// normalized=false and SnormToFloat and UnormToFloat correspond to CopyTo32FVertexData with
// normalized=true.
// normalized=true. A2BGR10SintToSint, A2BGR10UintToUint, A2BGR10SintToFloat, A2BGR10UintToFloat
// and A2BGR10SnormToFloat correspond to CopyXYZ10W2ToXYZW32FVertexData with the proper options.
//
#version 450 core
// Source type
#if SintToSint || SintToFloat
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat
#define SrcType int
#elif UintToUint || UintToFloat
#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat
#define SrcType uint
#elif SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat
#elif SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || A2BGR10SnormToFloat
#define SrcType float
#else
#error "Not all conversions are accounted for"
#endif
// Destination type
#if SintToSint
#if SintToSint || A2BGR10SintToSint
#define DestType int
#define IsDestFloat 0
#elif UintToUint
#elif UintToUint || A2BGR10UintToUint
#define DestType uint
#define IsDestFloat 0
#elif SintToFloat || UintToFloat || SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat
#elif SintToFloat || UintToFloat || SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || \
A2BGR10SintToFloat || A2BGR10UintToFloat || A2BGR10SnormToFloat
#define DestType float
#define IsDestFloat 1
#else
@ -199,14 +211,21 @@ SrcType loadSourceComponent(uint cd)
// Load the source component
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
// A2B10G10R10's components are not byte-aligned, hardcoding values for efficiency.
#if A2BGR10SintToSint || A2BGR10UintToUint || A2BGR10SnormToFloat || A2BGR10SintToFloat || \
A2BGR10UintToFloat
uint valueBits = 10;
uint shiftBits = valueBits * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
#else
uint shiftBits = getShiftBits(offset, Bs);
uint valueBits = Bs * 8;
uint valueMask = valueBits == 32 ? -1 : (1 << valueBits) - 1;
#endif
uint valueAsUint = (block >> shiftBits) & valueMask;
// Convert to SrcType
#if SintToSint || SintToFloat
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
@ -217,9 +236,9 @@ SrcType loadSourceComponent(uint cd)
valueAsUint |= signExtension;
}
SrcType value = SrcType(valueAsUint);
#elif UintToUint || UintToFloat
#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat
SrcType value = valueAsUint;
#elif SnormToFloat
#elif SnormToFloat || A2BGR10SnormToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
@ -256,7 +275,7 @@ uint makeDestinationComponent(uint cd, DestType value)
// Return valueAsUint, shifted to the right spot. Multiple calls to this function should be |ed
// and eventually written to the destination.
#if SintToSint || UintToUint
#if SintToSint || UintToUint || A2BGR10SintToSint || A2BGR10UintToUint
uint vertex = cd / Nd;
uint component = cd % Nd;

Просмотреть файл

@ -17,7 +17,12 @@
"SnormToFloat",
"UnormToFloat",
"FixedToFloat",
"FloatToFloat"
"FloatToFloat",
"A2BGR10SintToSint",
"A2BGR10UintToUint",
"A2BGR10SintToFloat",
"A2BGR10UintToFloat",
"A2BGR10SnormToFloat"
]
}

Просмотреть файл

@ -440,6 +440,21 @@
},
"EAC_R11G11_SNORM_BLOCK": {
"image": ["R16G16_SNORM", "R16G16_FLOAT"]
},
"R10G10B10A2_SNORM": {
"buffer": "R32G32B32A32_FLOAT"
},
"R10G10B10A2_USCALED": {
"buffer": "R32G32B32A32_FLOAT"
},
"R10G10B10A2_SSCALED": {
"buffer": "R32G32B32A32_FLOAT"
},
"R10G10B10A2_UINT": {
"buffer": "R16G16B16A16_UINT"
},
"R10G10B10A2_SINT": {
"buffer": "R16G16B16A16_SINT"
}
}
}

Просмотреть файл

@ -1014,51 +1014,63 @@ void Format::initialize(RendererVk *renderer, const angle::Format &angleFormat)
break;
case angle::FormatID::R10G10B10A2_SINT:
internalFormat = GL_RGB10_A2_SINT_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SINT;
vkImageFormat = VK_FORMAT_A2B10G10R10_SINT_PACK32;
imageInitializerFunction = nullptr;
bufferFormatID = angle::FormatID::R10G10B10A2_SINT;
vkBufferFormat = VK_FORMAT_A2B10G10R10_SINT_PACK32;
vkBufferFormatIsPacked = true;
vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
vertexLoadRequiresConversion = false;
internalFormat = GL_RGB10_A2_SINT_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SINT;
vkImageFormat = VK_FORMAT_A2B10G10R10_SINT_PACK32;
imageInitializerFunction = nullptr;
{
static constexpr BufferFormatInitInfo kInfo[] = {
{angle::FormatID::R10G10B10A2_SINT, VK_FORMAT_A2B10G10R10_SINT_PACK32, true,
CopyNativeVertexData<GLuint, 1, 1, 0>, false},
{angle::FormatID::R16G16B16A16_SINT, VK_FORMAT_R16G16B16A16_SINT, false,
CopyXYZ10W2ToXYZW32FVertexData<true, false, false>, true}};
initBufferFallback(renderer, kInfo, ArraySize(kInfo));
}
break;
case angle::FormatID::R10G10B10A2_SNORM:
internalFormat = GL_RGB10_A2_SNORM_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SNORM;
vkImageFormat = VK_FORMAT_A2B10G10R10_SNORM_PACK32;
imageInitializerFunction = nullptr;
bufferFormatID = angle::FormatID::R10G10B10A2_SNORM;
vkBufferFormat = VK_FORMAT_A2B10G10R10_SNORM_PACK32;
vkBufferFormatIsPacked = true;
vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
vertexLoadRequiresConversion = false;
internalFormat = GL_RGB10_A2_SNORM_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SNORM;
vkImageFormat = VK_FORMAT_A2B10G10R10_SNORM_PACK32;
imageInitializerFunction = nullptr;
{
static constexpr BufferFormatInitInfo kInfo[] = {
{angle::FormatID::R10G10B10A2_SNORM, VK_FORMAT_A2B10G10R10_SNORM_PACK32, true,
CopyNativeVertexData<GLuint, 1, 1, 0>, false},
{angle::FormatID::R32G32B32A32_FLOAT, VK_FORMAT_R32G32B32A32_SFLOAT, false,
CopyXYZ10W2ToXYZW32FVertexData<true, true, true>, true}};
initBufferFallback(renderer, kInfo, ArraySize(kInfo));
}
break;
case angle::FormatID::R10G10B10A2_SSCALED:
internalFormat = GL_RGB10_A2_SSCALED_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SSCALED;
vkImageFormat = VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
imageInitializerFunction = nullptr;
bufferFormatID = angle::FormatID::R10G10B10A2_SSCALED;
vkBufferFormat = VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
vkBufferFormatIsPacked = true;
vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
vertexLoadRequiresConversion = false;
internalFormat = GL_RGB10_A2_SSCALED_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_SSCALED;
vkImageFormat = VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
imageInitializerFunction = nullptr;
{
static constexpr BufferFormatInitInfo kInfo[] = {
{angle::FormatID::R10G10B10A2_SSCALED, VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
true, CopyNativeVertexData<GLuint, 1, 1, 0>, false},
{angle::FormatID::R32G32B32A32_FLOAT, VK_FORMAT_R32G32B32A32_SFLOAT, false,
CopyXYZ10W2ToXYZW32FVertexData<true, false, true>, true}};
initBufferFallback(renderer, kInfo, ArraySize(kInfo));
}
break;
case angle::FormatID::R10G10B10A2_UINT:
internalFormat = GL_RGB10_A2UI;
imageFormatID = angle::FormatID::R10G10B10A2_UINT;
vkImageFormat = VK_FORMAT_A2B10G10R10_UINT_PACK32;
imageInitializerFunction = nullptr;
bufferFormatID = angle::FormatID::R10G10B10A2_UINT;
vkBufferFormat = VK_FORMAT_A2B10G10R10_UINT_PACK32;
vkBufferFormatIsPacked = true;
vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
vertexLoadRequiresConversion = false;
internalFormat = GL_RGB10_A2UI;
imageFormatID = angle::FormatID::R10G10B10A2_UINT;
vkImageFormat = VK_FORMAT_A2B10G10R10_UINT_PACK32;
imageInitializerFunction = nullptr;
{
static constexpr BufferFormatInitInfo kInfo[] = {
{angle::FormatID::R10G10B10A2_UINT, VK_FORMAT_A2B10G10R10_UINT_PACK32, true,
CopyNativeVertexData<GLuint, 1, 1, 0>, false},
{angle::FormatID::R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_UINT, false,
CopyXYZ10W2ToXYZW32FVertexData<false, false, false>, true}};
initBufferFallback(renderer, kInfo, ArraySize(kInfo));
}
break;
case angle::FormatID::R10G10B10A2_UNORM:
@ -1074,15 +1086,18 @@ void Format::initialize(RendererVk *renderer, const angle::Format &angleFormat)
break;
case angle::FormatID::R10G10B10A2_USCALED:
internalFormat = GL_RGB10_A2_USCALED_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_USCALED;
vkImageFormat = VK_FORMAT_A2B10G10R10_USCALED_PACK32;
imageInitializerFunction = nullptr;
bufferFormatID = angle::FormatID::R10G10B10A2_USCALED;
vkBufferFormat = VK_FORMAT_A2B10G10R10_USCALED_PACK32;
vkBufferFormatIsPacked = true;
vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
vertexLoadRequiresConversion = false;
internalFormat = GL_RGB10_A2_USCALED_ANGLEX;
imageFormatID = angle::FormatID::R10G10B10A2_USCALED;
vkImageFormat = VK_FORMAT_A2B10G10R10_USCALED_PACK32;
imageInitializerFunction = nullptr;
{
static constexpr BufferFormatInitInfo kInfo[] = {
{angle::FormatID::R10G10B10A2_USCALED, VK_FORMAT_A2B10G10R10_USCALED_PACK32,
true, CopyNativeVertexData<GLuint, 1, 1, 0>, false},
{angle::FormatID::R32G32B32A32_FLOAT, VK_FORMAT_R32G32B32A32_SFLOAT, false,
CopyXYZ10W2ToXYZW32FVertexData<false, false, true>, true}};
initBufferFallback(renderer, kInfo, ArraySize(kInfo));
}
break;
case angle::FormatID::R11G11B10_FLOAT:

Просмотреть файл

@ -74,6 +74,16 @@ namespace
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000011.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000012.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000013.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000014.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000015.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000016.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000017.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc"
@ -192,6 +202,16 @@ constexpr ShaderBlob kConvertVertex_comp_shaders[] = {
{kConvertVertex_comp_0000000D, sizeof(kConvertVertex_comp_0000000D)},
{kConvertVertex_comp_0000000E, sizeof(kConvertVertex_comp_0000000E)},
{kConvertVertex_comp_0000000F, sizeof(kConvertVertex_comp_0000000F)},
{kConvertVertex_comp_00000010, sizeof(kConvertVertex_comp_00000010)},
{kConvertVertex_comp_00000011, sizeof(kConvertVertex_comp_00000011)},
{kConvertVertex_comp_00000012, sizeof(kConvertVertex_comp_00000012)},
{kConvertVertex_comp_00000013, sizeof(kConvertVertex_comp_00000013)},
{kConvertVertex_comp_00000014, sizeof(kConvertVertex_comp_00000014)},
{kConvertVertex_comp_00000015, sizeof(kConvertVertex_comp_00000015)},
{kConvertVertex_comp_00000016, sizeof(kConvertVertex_comp_00000016)},
{kConvertVertex_comp_00000017, sizeof(kConvertVertex_comp_00000017)},
{kConvertVertex_comp_00000018, sizeof(kConvertVertex_comp_00000018)},
{kConvertVertex_comp_00000019, sizeof(kConvertVertex_comp_00000019)},
};
constexpr ShaderBlob kFullScreenQuad_vert_shaders[] = {
{kFullScreenQuad_vert_00000000, sizeof(kFullScreenQuad_vert_00000000)},

Просмотреть файл

@ -67,6 +67,16 @@ angle_vulkan_internal_shaders = [
"shaders/gen/ConvertVertex.comp.0000000D.inc",
"shaders/gen/ConvertVertex.comp.0000000E.inc",
"shaders/gen/ConvertVertex.comp.0000000F.inc",
"shaders/gen/ConvertVertex.comp.00000010.inc",
"shaders/gen/ConvertVertex.comp.00000011.inc",
"shaders/gen/ConvertVertex.comp.00000012.inc",
"shaders/gen/ConvertVertex.comp.00000013.inc",
"shaders/gen/ConvertVertex.comp.00000014.inc",
"shaders/gen/ConvertVertex.comp.00000015.inc",
"shaders/gen/ConvertVertex.comp.00000016.inc",
"shaders/gen/ConvertVertex.comp.00000017.inc",
"shaders/gen/ConvertVertex.comp.00000018.inc",
"shaders/gen/ConvertVertex.comp.00000019.inc",
"shaders/gen/FullScreenQuad.vert.00000000.inc",
"shaders/gen/ImageClear.frag.00000000.inc",
"shaders/gen/ImageClear.frag.00000001.inc",

Просмотреть файл

@ -85,16 +85,21 @@ enum flags
};
enum Conversion
{
kSintToSint = 0x00000000,
kUintToUint = 0x00000002,
kSintToFloat = 0x00000004,
kUintToFloat = 0x00000006,
kSnormToFloat = 0x00000008,
kUnormToFloat = 0x0000000A,
kFixedToFloat = 0x0000000C,
kFloatToFloat = 0x0000000E,
kSintToSint = 0x00000000,
kUintToUint = 0x00000002,
kSintToFloat = 0x00000004,
kUintToFloat = 0x00000006,
kSnormToFloat = 0x00000008,
kUnormToFloat = 0x0000000A,
kFixedToFloat = 0x0000000C,
kFloatToFloat = 0x0000000E,
kA2BGR10SintToSint = 0x00000010,
kA2BGR10UintToUint = 0x00000012,
kA2BGR10SintToFloat = 0x00000014,
kA2BGR10UintToFloat = 0x00000016,
kA2BGR10SnormToFloat = 0x00000018,
};
constexpr size_t kArrayLen = 0x00000010;
constexpr size_t kArrayLen = 0x0000001A;
} // namespace ConvertVertex_comp
namespace FullScreenQuad_vert

Просмотреть файл

@ -597,10 +597,6 @@
3443 VULKAN : dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays.18 = FAIL
3443 VULKAN : dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays.24 = FAIL
// vertex_type_2_10_10_10_rev:
3193 VULKAN PIXEL2 : dEQP-GLES3.functional.vertex_arrays.single_attribute.*.int2_10_10_10.* = SKIP
3193 VULKAN PIXEL2 : dEQP-GLES3.functional.vertex_arrays.single_attribute.*.usigned_int2_10_10_10.* = SKIP
3221 VULKAN : dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor.2*_instances = FAIL
3221 VULKAN : dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor.4_instances = FAIL
3221 VULKAN : dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed.2*_instances = FAIL