зеркало из https://github.com/AvaloniaUI/angle.git
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:
Родитель
64751a0be4
Коммит
8400d05c09
|
@ -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 ¶ms)
|
|||
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 ¶ms)
|
|||
|
||||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче