Commit d38c75c5 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Remove BufferUtils shader

This was the first internal shader written for prototyping UtilsVk. It ended up never having a user. Bug: angleproject:2022 Change-Id: I846dcc216c4c018f5bda16ad67463f698b8e1c56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280944Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent dd2316df
......@@ -57,30 +57,6 @@
"accf3f9f9da6376039cf80e6e8e7cee6",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc":
"056c8ff270ac0bd1f600ec89777cb341",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc":
"8338c6fdde47f6a7ee8423690691e868",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc":
"21c3e53742672c37e69a022b70c67685",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc":
"0d16c3e45be619496403b8ec47a7ad3f",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc":
"c7de52765f122dc80103dcd0dea81317",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc":
"1c6cf45659b7b2cc9b86feddf2867e3f",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc":
"34e8306edc5615f15f77d353ff96e7fb",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc":
"b66355cce1514c8dbaf73f055fcc2d17",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc":
"cd80351900ed927c89b92ba0f1d258a0",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc":
"24b80a81020963dfafaa08245a5c00fc",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc":
"1729c1029cf61a4bb7f04bfea03b48f6",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc":
"a03e10b0bdec0176692964731f09c9d6",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc":
"f6386d85573deea2ef2fd6a4f33c15b9",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc":
"52b5c8381a56f43fc263a7f9a83dee23",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc":
......@@ -241,10 +217,6 @@
"e4b03e5d1d1b0c0336453e98675bbb40",
"src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp.json":
"8a3e9ff34eba0386edb98048547a272b",
"src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp":
"b7c20e019199f8328ef37b11c6fbcadd",
"src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json":
"289022611e8fe6742221ed371cbd6b36",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp":
"a46b48d7d5b19c74eb377f275525ab8d",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json":
......@@ -280,9 +252,9 @@
"src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json":
"af79e5153c99cdb1e6b551b11bbf7f6b",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
"ff29debe33758511b793e4eee2a70061",
"7c3f5c1f37e33776df44b81a71e6d974",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
"f2b4a6af004d1f0f06b01e370c202878",
"4dc3b23be0176a3e8e092dbb20522a9d",
"tools/glslang/glslang_validator.exe.sha1":
"17e862cc6f462fecbf50b24ed6544a27",
"tools/glslang/glslang_validator.sha1":
......
......@@ -17,7 +17,6 @@
namespace rx
{
namespace BufferUtils_comp = vk::InternalShader::BufferUtils_comp;
namespace ConvertVertex_comp = vk::InternalShader::ConvertVertex_comp;
namespace ImageClear_frag = vk::InternalShader::ImageClear_frag;
namespace ImageCopy_frag = vk::InternalShader::ImageCopy_frag;
......@@ -32,7 +31,6 @@ namespace
// All internal shaders assume there is only one descriptor set, indexed at 0
constexpr uint32_t kSetIndex = 0;
constexpr uint32_t kBufferClearOutputBinding = 0;
constexpr uint32_t kConvertIndexDestinationBinding = 0;
constexpr uint32_t kConvertVertexDestinationBinding = 0;
constexpr uint32_t kConvertVertexSourceBinding = 1;
......@@ -51,27 +49,6 @@ constexpr uint32_t kOverlayDrawGraphWidgetsBinding = 2;
constexpr uint32_t kOverlayDrawCulledWidgetsBinding = 3;
constexpr uint32_t kOverlayDrawFontBinding = 4;
uint32_t GetBufferUtilsFlags(size_t dispatchSize, const vk::Format &format)
{
uint32_t flags = dispatchSize % 64 == 0 ? BufferUtils_comp::kIsAligned : 0;
const angle::Format &bufferFormat = format.actualBufferFormat();
if (bufferFormat.isSint())
{
flags |= BufferUtils_comp::kIsSint;
}
else if (bufferFormat.isUint())
{
flags |= BufferUtils_comp::kIsUint;
}
else
{
flags |= BufferUtils_comp::kIsFloat;
}
return flags;
}
uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
{
bool srcIsSint = params.srcFormat->isSint();
......@@ -317,10 +294,6 @@ void UtilsVk::destroy(VkDevice device)
mDescriptorPools[f].destroy(device);
}
for (vk::ShaderProgramHelper &program : mBufferUtilsPrograms)
{
program.destroy(device);
}
for (vk::ShaderProgramHelper &program : mConvertIndexPrograms)
{
program.destroy(device);
......@@ -417,21 +390,6 @@ angle::Result UtilsVk::ensureResourcesInitialized(ContextVk *contextVk,
return angle::Result::Continue;
}
angle::Result UtilsVk::ensureBufferClearResourcesInitialized(ContextVk *contextVk)
{
if (mPipelineLayouts[Function::BufferClear].valid())
{
return angle::Result::Continue;
}
VkDescriptorPoolSize setSizes[1] = {
{VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, 1},
};
return ensureResourcesInitialized(contextVk, Function::BufferClear, setSizes,
ArraySize(setSizes), sizeof(BufferUtilsShaderParams));
}
angle::Result UtilsVk::ensureConvertIndexResourcesInitialized(ContextVk *contextVk)
{
if (mPipelineLayouts[Function::ConvertIndexBuffer].valid())
......@@ -731,56 +689,6 @@ angle::Result UtilsVk::setupProgram(ContextVk *contextVk,
return angle::Result::Continue;
}
angle::Result UtilsVk::clearBuffer(ContextVk *contextVk,
vk::BufferHelper *dest,
const ClearParameters &params)
{
ANGLE_TRY(ensureBufferClearResourcesInitialized(contextVk));
vk::CommandBuffer *commandBuffer;
// Tell the context dest that we are writing to dest.
ANGLE_TRY(contextVk->onBufferComputeShaderWrite(dest));
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
const vk::Format &destFormat = dest->getViewFormat();
uint32_t flags = BufferUtils_comp::kIsClear | GetBufferUtilsFlags(params.size, destFormat);
BufferUtilsShaderParams shaderParams;
shaderParams.destOffset = static_cast<uint32_t>(params.offset);
shaderParams.size = static_cast<uint32_t>(params.size);
shaderParams.clearValue = params.clearValue;
VkDescriptorSet descriptorSet;
vk::RefCountedDescriptorPoolBinding descriptorPoolBinding;
ANGLE_TRY(allocateDescriptorSet(contextVk, Function::BufferClear, &descriptorPoolBinding,
&descriptorSet));
VkWriteDescriptorSet writeInfo = {};
writeInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
writeInfo.dstSet = descriptorSet;
writeInfo.dstBinding = kBufferClearOutputBinding;
writeInfo.descriptorCount = 1;
writeInfo.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
writeInfo.pTexelBufferView = dest->getBufferView().ptr();
vkUpdateDescriptorSets(contextVk->getDevice(), 1, &writeInfo, 0, nullptr);
vk::RefCounted<vk::ShaderAndSerial> *shader = nullptr;
ANGLE_TRY(contextVk->getShaderLibrary().getBufferUtils_comp(contextVk, flags, &shader));
ANGLE_TRY(setupProgram(contextVk, Function::BufferClear, shader, nullptr,
&mBufferUtilsPrograms[flags], nullptr, descriptorSet, &shaderParams,
sizeof(shaderParams), commandBuffer));
commandBuffer->dispatch(UnsignedCeilDivide(static_cast<uint32_t>(params.size), 64), 1, 1);
descriptorPoolBinding.reset();
return angle::Result::Continue;
}
angle::Result UtilsVk::convertIndexBuffer(ContextVk *contextVk,
vk::BufferHelper *dest,
vk::BufferHelper *src,
......
......@@ -7,7 +7,6 @@
// Defines the UtilsVk class, a helper for various internal draw/dispatch utilities such as
// buffer clear and copy, image clear and copy, texture mip map generation, etc.
//
// - Buffer clear: Implemented, but no current users
// - Convert index buffer:
// * Used by VertexArrayVk::convertIndexBufferGPU() to convert a ubyte element array to ushort
// - Convert vertex buffer:
......@@ -158,9 +157,6 @@ class UtilsVk : angle::NonCopyable
uint32_t subgroupSize[2];
};
angle::Result clearBuffer(ContextVk *contextVk,
vk::BufferHelper *dest,
const ClearParameters &params);
angle::Result convertIndexBuffer(ContextVk *contextVk,
vk::BufferHelper *dest,
vk::BufferHelper *src,
......@@ -242,16 +238,6 @@ class UtilsVk : angle::NonCopyable
private:
ANGLE_ENABLE_STRUCT_PADDING_WARNINGS
struct BufferUtilsShaderParams
{
// Structure matching PushConstants in BufferUtils.comp
uint32_t destOffset = 0;
uint32_t size = 0;
uint32_t srcOffset = 0;
uint32_t padding = 0;
VkClearColorValue clearValue = {};
};
struct ConvertIndexShaderParams
{
uint32_t srcOffset = 0;
......@@ -386,18 +372,17 @@ class UtilsVk : angle::NonCopyable
// Functions implemented in compute
ComputeStartIndex = 3, // Special value to separate draw and dispatch functions.
BufferClear = 3,
ConvertIndexBuffer = 4,
ConvertVertexBuffer = 5,
BlitResolveStencilNoExport = 6,
OverlayCull = 7,
OverlayDraw = 8,
ConvertIndexIndirectBuffer = 9,
ConvertIndexIndirectLineLoopBuffer = 10,
ConvertIndirectLineLoopBuffer = 11,
InvalidEnum = 12,
EnumCount = 12,
ConvertIndexBuffer = 3,
ConvertVertexBuffer = 4,
BlitResolveStencilNoExport = 5,
OverlayCull = 6,
OverlayDraw = 7,
ConvertIndexIndirectBuffer = 8,
ConvertIndexIndirectLineLoopBuffer = 9,
ConvertIndirectLineLoopBuffer = 10,
InvalidEnum = 11,
EnumCount = 11,
};
// Common function that creates the pipeline for the specified function, binds it and prepares
......@@ -429,7 +414,6 @@ class UtilsVk : angle::NonCopyable
// Initializers corresponding to functions, calling into ensureResourcesInitialized with the
// appropriate parameters.
angle::Result ensureBufferClearResourcesInitialized(ContextVk *contextVk);
angle::Result ensureConvertIndexResourcesInitialized(ContextVk *contextVk);
angle::Result ensureConvertIndexIndirectResourcesInitialized(ContextVk *contextVk);
angle::Result ensureConvertIndexIndirectLineLoopResourcesInitialized(ContextVk *contextVk);
......@@ -470,7 +454,6 @@ class UtilsVk : angle::NonCopyable
angle::PackedEnumMap<Function, vk::BindingPointer<vk::PipelineLayout>> mPipelineLayouts;
angle::PackedEnumMap<Function, vk::DynamicDescriptorPool> mDescriptorPools;
vk::ShaderProgramHelper mBufferUtilsPrograms[vk::InternalShader::BufferUtils_comp::kArrayLen];
vk::ShaderProgramHelper mConvertIndexPrograms[vk::InternalShader::ConvertIndex_comp::kArrayLen];
vk::ShaderProgramHelper mConvertIndexIndirectLineLoopPrograms
[vk::InternalShader::ConvertIndexIndirectLineLoop_comp::kArrayLen];
......
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000000[] = {
0x07230203,0x00010000,0x0008000a,0x0000003f,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00040047,0x00000009,
0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,
0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,
0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,
0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000036,
0x00000022,0x00000000,0x00040047,0x00000036,0x00000021,0x00000000,0x00030047,0x00000036,
0x00000019,0x00040047,0x0000003c,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
0x00000001,0x00000006,0x00030016,0x0000000e,0x00000020,0x00040017,0x0000000f,0x0000000e,
0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,
0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,
0x00040015,0x00000013,0x00000020,0x00000001,0x0004002b,0x00000013,0x00000014,0x00000001,
0x00040020,0x00000015,0x00000009,0x00000006,0x00020014,0x00000018,0x0004002b,0x00000013,
0x0000001f,0x00000000,0x0004002b,0x00000013,0x00000030,0x00000004,0x00040020,0x00000031,
0x00000009,0x0000000f,0x00090019,0x00000034,0x0000000e,0x00000005,0x00000000,0x00000000,
0x00000000,0x00000002,0x00000001,0x00040020,0x00000035,0x00000000,0x00000034,0x0004003b,
0x00000035,0x00000036,0x00000000,0x0004002b,0x00000006,0x0000003a,0x00000040,0x0004002b,
0x00000006,0x0000003b,0x00000001,0x0006002c,0x00000007,0x0000003c,0x0000003a,0x0000003b,
0x0000003b,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
0x000300f7,0x0000003d,0x00000000,0x000300fb,0x0000000a,0x0000003e,0x000200f8,0x0000003e,
0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,
0x0000000c,0x00050041,0x00000015,0x00000016,0x00000012,0x00000014,0x0004003d,0x00000006,
0x00000017,0x00000016,0x000500ae,0x00000018,0x00000019,0x0000000d,0x00000017,0x000300f7,
0x0000001b,0x00000000,0x000400fa,0x00000019,0x0000001a,0x0000001b,0x000200f8,0x0000001a,
0x000200f9,0x0000003d,0x000200f8,0x0000001b,0x00050041,0x00000015,0x00000020,0x00000012,
0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050080,0x00000006,0x00000024,
0x00000021,0x0000000d,0x0004007c,0x00000013,0x00000025,0x00000024,0x00050041,0x00000031,
0x00000032,0x00000012,0x00000030,0x0004003d,0x0000000f,0x00000033,0x00000032,0x0004003d,
0x00000034,0x00000037,0x00000036,0x00040063,0x00000037,0x00000025,0x00000033,0x000200f9,
0x0000003d,0x000200f8,0x0000003d,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32f)uniform writeonly imageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// vec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// vec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000001[] = {
0x07230203,0x00010000,0x0008000a,0x00000033,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000015,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00050048,0x0000000c,
0x00000000,0x00000023,0x00000000,0x00050048,0x0000000c,0x00000001,0x00000023,0x00000004,
0x00050048,0x0000000c,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000c,0x00000003,
0x00000023,0x0000000c,0x00050048,0x0000000c,0x00000004,0x00000023,0x00000010,0x00030047,
0x0000000c,0x00000002,0x00040047,0x00000015,0x0000000b,0x0000001c,0x00040047,0x0000002c,
0x00000022,0x00000000,0x00040047,0x0000002c,0x00000021,0x00000000,0x00030047,0x0000002c,
0x00000019,0x00040047,0x00000032,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,
0x00000020,0x00000000,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
0x00000004,0x0007001e,0x0000000c,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000b,
0x00040020,0x0000000d,0x00000009,0x0000000c,0x0004003b,0x0000000d,0x0000000e,0x00000009,
0x0004002b,0x00000006,0x0000000f,0x00000000,0x00040020,0x00000010,0x00000009,0x00000009,
0x00040017,0x00000013,0x00000009,0x00000003,0x00040020,0x00000014,0x00000001,0x00000013,
0x0004003b,0x00000014,0x00000015,0x00000001,0x0004002b,0x00000009,0x00000016,0x00000000,
0x00040020,0x00000017,0x00000001,0x00000009,0x0004002b,0x00000006,0x00000026,0x00000004,
0x00040020,0x00000027,0x00000009,0x0000000b,0x00090019,0x0000002a,0x0000000a,0x00000005,
0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x0000002b,0x00000000,
0x0000002a,0x0004003b,0x0000002b,0x0000002c,0x00000000,0x0004002b,0x00000009,0x00000030,
0x00000040,0x0004002b,0x00000009,0x00000031,0x00000001,0x0006002c,0x00000013,0x00000032,
0x00000030,0x00000031,0x00000031,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x00050041,0x00000010,0x00000011,0x0000000e,0x0000000f,0x0004003d,
0x00000009,0x00000012,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,
0x0004003d,0x00000009,0x00000019,0x00000018,0x00050080,0x00000009,0x0000001a,0x00000012,
0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x00050041,0x00000027,0x00000028,
0x0000000e,0x00000026,0x0004003d,0x0000000b,0x00000029,0x00000028,0x0004003d,0x0000002a,
0x0000002d,0x0000002c,0x00040063,0x0000002d,0x0000001b,0x00000029,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32f)uniform writeonly imageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// vec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// vec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000002[] = {
0x07230203,0x00010000,0x0008000a,0x00000043,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,
0x00000000,0x00050048,0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,
0x00000002,0x00000023,0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,
0x00050048,0x00000010,0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,
0x00040047,0x00000033,0x00000022,0x00000000,0x00040047,0x00000033,0x00000021,0x00000001,
0x00040047,0x0000003a,0x00000022,0x00000000,0x00040047,0x0000003a,0x00000021,0x00000000,
0x00030047,0x0000003a,0x00000019,0x00040047,0x00000040,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,
0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,
0x00040020,0x0000000b,0x00000001,0x00000006,0x00030016,0x0000000e,0x00000020,0x00040017,
0x0000000f,0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,
0x00000006,0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,
0x00000012,0x00000009,0x00040015,0x00000013,0x00000020,0x00000001,0x0004002b,0x00000013,
0x00000014,0x00000001,0x00040020,0x00000015,0x00000009,0x00000006,0x00020014,0x00000018,
0x0004002b,0x00000013,0x0000001f,0x00000000,0x0004002b,0x00000013,0x00000027,0x00000002,
0x00090019,0x00000030,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,
0x00000000,0x0003001b,0x00000031,0x00000030,0x00040020,0x00000032,0x00000000,0x00000031,
0x0004003b,0x00000032,0x00000033,0x00000000,0x00090019,0x00000038,0x0000000e,0x00000005,
0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x00000039,0x00000000,
0x00000038,0x0004003b,0x00000039,0x0000003a,0x00000000,0x0004002b,0x00000006,0x0000003e,
0x00000040,0x0004002b,0x00000006,0x0000003f,0x00000001,0x0006002c,0x00000007,0x00000040,
0x0000003e,0x0000003f,0x0000003f,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x00000041,0x00000000,0x000300fb,0x0000000a,0x00000042,
0x000200f8,0x00000042,0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,
0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000015,0x00000016,0x00000012,0x00000014,
0x0004003d,0x00000006,0x00000017,0x00000016,0x000500ae,0x00000018,0x00000019,0x0000000d,
0x00000017,0x000300f7,0x0000001b,0x00000000,0x000400fa,0x00000019,0x0000001a,0x0000001b,
0x000200f8,0x0000001a,0x000200f9,0x00000041,0x000200f8,0x0000001b,0x00050041,0x00000015,
0x00000020,0x00000012,0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050080,
0x00000006,0x00000024,0x00000021,0x0000000d,0x0004007c,0x00000013,0x00000025,0x00000024,
0x00050041,0x00000015,0x00000028,0x00000012,0x00000027,0x0004003d,0x00000006,0x00000029,
0x00000028,0x00050080,0x00000006,0x0000002c,0x00000029,0x0000000d,0x0004007c,0x00000013,
0x0000002d,0x0000002c,0x0004003d,0x00000031,0x00000034,0x00000033,0x00040064,0x00000030,
0x00000036,0x00000034,0x0005005f,0x0000000f,0x00000037,0x00000036,0x0000002d,0x0004003d,
0x00000038,0x0000003b,0x0000003a,0x00040063,0x0000003b,0x00000025,0x00000037,0x000200f9,
0x00000041,0x000200f8,0x00000041,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32f)uniform writeonly imageBuffer dest;
//
// layout(set = 0, binding = 1)uniform samplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// vec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// vec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000003[] = {
0x07230203,0x00010000,0x0008000a,0x00000037,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000015,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00050048,0x0000000c,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000c,0x00000001,
0x00000023,0x00000004,0x00050048,0x0000000c,0x00000002,0x00000023,0x00000008,0x00050048,
0x0000000c,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000c,0x00000004,0x00000023,
0x00000010,0x00030047,0x0000000c,0x00000002,0x00040047,0x00000015,0x0000000b,0x0000001c,
0x00040047,0x00000029,0x00000022,0x00000000,0x00040047,0x00000029,0x00000021,0x00000001,
0x00040047,0x00000030,0x00000022,0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,
0x00030047,0x00000030,0x00000019,0x00040047,0x00000036,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
0x00040015,0x00000009,0x00000020,0x00000000,0x00030016,0x0000000a,0x00000020,0x00040017,
0x0000000b,0x0000000a,0x00000004,0x0007001e,0x0000000c,0x00000009,0x00000009,0x00000009,
0x00000009,0x0000000b,0x00040020,0x0000000d,0x00000009,0x0000000c,0x0004003b,0x0000000d,
0x0000000e,0x00000009,0x0004002b,0x00000006,0x0000000f,0x00000000,0x00040020,0x00000010,
0x00000009,0x00000009,0x00040017,0x00000013,0x00000009,0x00000003,0x00040020,0x00000014,
0x00000001,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000001,0x0004002b,0x00000009,
0x00000016,0x00000000,0x00040020,0x00000017,0x00000001,0x00000009,0x0004002b,0x00000006,
0x0000001d,0x00000002,0x00090019,0x00000026,0x0000000a,0x00000005,0x00000000,0x00000000,
0x00000000,0x00000001,0x00000000,0x0003001b,0x00000027,0x00000026,0x00040020,0x00000028,
0x00000000,0x00000027,0x0004003b,0x00000028,0x00000029,0x00000000,0x00090019,0x0000002e,
0x0000000a,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,
0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,0x0004002b,
0x00000009,0x00000034,0x00000040,0x0004002b,0x00000009,0x00000035,0x00000001,0x0006002c,
0x00000013,0x00000036,0x00000034,0x00000035,0x00000035,0x00050036,0x00000002,0x00000004,
0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,0x00000010,0x00000011,0x0000000e,
0x0000000f,0x0004003d,0x00000009,0x00000012,0x00000011,0x00050041,0x00000017,0x00000018,
0x00000015,0x00000016,0x0004003d,0x00000009,0x00000019,0x00000018,0x00050080,0x00000009,
0x0000001a,0x00000012,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x00050041,
0x00000010,0x0000001e,0x0000000e,0x0000001d,0x0004003d,0x00000009,0x0000001f,0x0000001e,
0x00050080,0x00000009,0x00000022,0x0000001f,0x00000019,0x0004007c,0x00000006,0x00000023,
0x00000022,0x0004003d,0x00000027,0x0000002a,0x00000029,0x00040064,0x00000026,0x0000002c,
0x0000002a,0x0005005f,0x0000000b,0x0000002d,0x0000002c,0x00000023,0x0004003d,0x0000002e,
0x00000031,0x00000030,0x00040063,0x00000031,0x0000001b,0x0000002d,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32f)uniform writeonly imageBuffer dest;
//
// layout(set = 0, binding = 1)uniform samplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// vec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// vec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000004[] = {
0x07230203,0x00010000,0x0008000a,0x0000003e,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00040047,0x00000009,
0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,
0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,
0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,
0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000035,
0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,0x00000035,
0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
0x00000001,0x00000006,0x00040015,0x0000000e,0x00000020,0x00000001,0x00040017,0x0000000f,
0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,
0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,
0x00000009,0x0004002b,0x0000000e,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,
0x00000006,0x00020014,0x00000017,0x0004002b,0x0000000e,0x0000001e,0x00000000,0x0004002b,
0x0000000e,0x0000002f,0x00000004,0x00040020,0x00000030,0x00000009,0x0000000f,0x00090019,
0x00000033,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,
0x00040020,0x00000034,0x00000000,0x00000033,0x0004003b,0x00000034,0x00000035,0x00000000,
0x0004002b,0x00000006,0x00000039,0x00000040,0x0004002b,0x00000006,0x0000003a,0x00000001,
0x0006002c,0x00000007,0x0000003b,0x00000039,0x0000003a,0x0000003a,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000003c,0x00000000,
0x000300fb,0x0000000a,0x0000003d,0x000200f8,0x0000003d,0x00050041,0x0000000b,0x0000000c,
0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,
0x00000015,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,
0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,
0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,0x0000003c,0x000200f8,
0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000012,0x0000001e,0x0004003d,0x00000006,
0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,0x0004007c,
0x0000000e,0x00000024,0x00000023,0x00050041,0x00000030,0x00000031,0x00000012,0x0000002f,
0x0004003d,0x0000000f,0x00000032,0x00000031,0x0004003d,0x00000033,0x00000036,0x00000035,
0x00040063,0x00000036,0x00000024,0x00000032,0x000200f9,0x0000003c,0x000200f8,0x0000003c,
0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32i)uniform writeonly iimageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// ivec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// ivec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000005[] = {
0x07230203,0x00010000,0x0008000a,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000014,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00050048,0x0000000b,
0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,
0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,
0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,
0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x0000002b,
0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,0x0000002b,
0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,
0x00000020,0x00000000,0x00040017,0x0000000a,0x00000006,0x00000004,0x0007001e,0x0000000b,
0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,0x00000009,
0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,0x0000000e,
0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,0x00000009,
0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,0x00000014,
0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,0x00000001,
0x00000009,0x0004002b,0x00000006,0x00000025,0x00000004,0x00040020,0x00000026,0x00000009,
0x0000000a,0x00090019,0x00000029,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,
0x00000002,0x00000015,0x00040020,0x0000002a,0x00000000,0x00000029,0x0004003b,0x0000002a,
0x0000002b,0x00000000,0x0004002b,0x00000009,0x0000002f,0x00000040,0x0004002b,0x00000009,
0x00000030,0x00000001,0x0006002c,0x00000012,0x00000031,0x0000002f,0x00000030,0x00000030,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,
0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,
0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,
0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,
0x0000001a,0x00000019,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,0x0004003d,
0x0000000a,0x00000028,0x00000027,0x0004003d,0x00000029,0x0000002c,0x0000002b,0x00040063,
0x0000002c,0x0000001a,0x00000028,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32i)uniform writeonly iimageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// ivec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// ivec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000006[] = {
0x07230203,0x00010000,0x0008000a,0x00000042,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,
0x00000000,0x00050048,0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,
0x00000002,0x00000023,0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,
0x00050048,0x00000010,0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,
0x00040047,0x00000032,0x00000022,0x00000000,0x00040047,0x00000032,0x00000021,0x00000001,
0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,0x00000021,0x00000000,
0x00030047,0x00000039,0x00000019,0x00040047,0x0000003f,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,
0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,
0x00040020,0x0000000b,0x00000001,0x00000006,0x00040015,0x0000000e,0x00000020,0x00000001,
0x00040017,0x0000000f,0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,
0x00000006,0x00000006,0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,
0x00000011,0x00000012,0x00000009,0x0004002b,0x0000000e,0x00000013,0x00000001,0x00040020,
0x00000014,0x00000009,0x00000006,0x00020014,0x00000017,0x0004002b,0x0000000e,0x0000001e,
0x00000000,0x0004002b,0x0000000e,0x00000026,0x00000002,0x00090019,0x0000002f,0x0000000e,
0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000030,
0x0000002f,0x00040020,0x00000031,0x00000000,0x00000030,0x0004003b,0x00000031,0x00000032,
0x00000000,0x00090019,0x00000037,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,
0x00000002,0x00000015,0x00040020,0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,
0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003d,0x00000040,0x0004002b,0x00000006,
0x0000003e,0x00000001,0x0006002c,0x00000007,0x0000003f,0x0000003d,0x0000003e,0x0000003e,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,
0x00000040,0x00000000,0x000300fb,0x0000000a,0x00000041,0x000200f8,0x00000041,0x00050041,
0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,
0x00050041,0x00000014,0x00000015,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,
0x00000015,0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,
0x00000000,0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,
0x00000040,0x000200f8,0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000012,0x0000001e,
0x0004003d,0x00000006,0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,
0x0000000d,0x0004007c,0x0000000e,0x00000024,0x00000023,0x00050041,0x00000014,0x00000027,
0x00000012,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050080,0x00000006,
0x0000002b,0x00000028,0x0000000d,0x0004007c,0x0000000e,0x0000002c,0x0000002b,0x0004003d,
0x00000030,0x00000033,0x00000032,0x00040064,0x0000002f,0x00000035,0x00000033,0x0005005f,
0x0000000f,0x00000036,0x00000035,0x0000002c,0x0004003d,0x00000037,0x0000003a,0x00000039,
0x00040063,0x0000003a,0x00000024,0x00000036,0x000200f9,0x00000040,0x000200f8,0x00000040,
0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32i)uniform writeonly iimageBuffer dest;
//
// layout(set = 0, binding = 1)uniform isamplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// ivec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// ivec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000007[] = {
0x07230203,0x00010000,0x0008000a,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000014,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00050048,0x0000000b,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,
0x00000023,0x00000004,0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,
0x0000000b,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,
0x00000010,0x00030047,0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,
0x00040047,0x00000028,0x00000022,0x00000000,0x00040047,0x00000028,0x00000021,0x00000001,
0x00040047,0x0000002f,0x00000022,0x00000000,0x00040047,0x0000002f,0x00000021,0x00000000,
0x00030047,0x0000002f,0x00000019,0x00040047,0x00000035,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000006,0x00000004,
0x0007001e,0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,
0x0000000c,0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,
0x00000006,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,
0x00000012,0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,
0x00000013,0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,
0x00000016,0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,0x00000002,0x00090019,
0x00000025,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000026,0x00000025,0x00040020,0x00000027,0x00000000,0x00000026,0x0004003b,
0x00000027,0x00000028,0x00000000,0x00090019,0x0000002d,0x00000006,0x00000005,0x00000000,
0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,0x0000002e,0x00000000,0x0000002d,
0x0004003b,0x0000002e,0x0000002f,0x00000000,0x0004002b,0x00000009,0x00000033,0x00000040,
0x0004002b,0x00000009,0x00000034,0x00000001,0x0006002c,0x00000012,0x00000035,0x00000033,
0x00000034,0x00000034,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,
0x00000011,0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,
0x00000009,0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,
0x0004007c,0x00000006,0x0000001a,0x00000019,0x00050041,0x0000000f,0x0000001d,0x0000000d,
0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050080,0x00000009,0x00000021,
0x0000001e,0x00000018,0x0004007c,0x00000006,0x00000022,0x00000021,0x0004003d,0x00000026,
0x00000029,0x00000028,0x00040064,0x00000025,0x0000002b,0x00000029,0x0005005f,0x0000000a,
0x0000002c,0x0000002b,0x00000022,0x0004003d,0x0000002d,0x00000030,0x0000002f,0x00040063,
0x00000030,0x0000001a,0x0000002c,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32i)uniform writeonly iimageBuffer dest;
//
// layout(set = 0, binding = 1)uniform isamplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// ivec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// ivec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000008[] = {
0x07230203,0x00010000,0x0008000a,0x0000003e,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00040047,0x00000009,
0x0000000b,0x0000001c,0x00050048,0x0000000f,0x00000000,0x00000023,0x00000000,0x00050048,
0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000f,0x00000002,0x00000023,
0x00000008,0x00050048,0x0000000f,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000f,
0x00000004,0x00000023,0x00000010,0x00030047,0x0000000f,0x00000002,0x00040047,0x00000035,
0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,0x00000035,
0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
0x00000001,0x00000006,0x00040017,0x0000000e,0x00000006,0x00000004,0x0007001e,0x0000000f,
0x00000006,0x00000006,0x00000006,0x00000006,0x0000000e,0x00040020,0x00000010,0x00000009,
0x0000000f,0x0004003b,0x00000010,0x00000011,0x00000009,0x00040015,0x00000012,0x00000020,
0x00000001,0x0004002b,0x00000012,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,
0x00000006,0x00020014,0x00000017,0x0004002b,0x00000012,0x0000001e,0x00000000,0x0004002b,
0x00000012,0x0000002f,0x00000004,0x00040020,0x00000030,0x00000009,0x0000000e,0x00090019,
0x00000033,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,
0x00040020,0x00000034,0x00000000,0x00000033,0x0004003b,0x00000034,0x00000035,0x00000000,
0x0004002b,0x00000006,0x00000039,0x00000040,0x0004002b,0x00000006,0x0000003a,0x00000001,
0x0006002c,0x00000007,0x0000003b,0x00000039,0x0000003a,0x0000003a,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000003c,0x00000000,
0x000300fb,0x0000000a,0x0000003d,0x000200f8,0x0000003d,0x00050041,0x0000000b,0x0000000c,
0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,
0x00000015,0x00000011,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,
0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,
0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,0x0000003c,0x000200f8,
0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000011,0x0000001e,0x0004003d,0x00000006,
0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,0x0004007c,
0x00000012,0x00000024,0x00000023,0x00050041,0x00000030,0x00000031,0x00000011,0x0000002f,
0x0004003d,0x0000000e,0x00000032,0x00000031,0x0004003d,0x00000033,0x00000036,0x00000035,
0x00040063,0x00000036,0x00000024,0x00000032,0x000200f9,0x0000003c,0x000200f8,0x0000003c,
0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// uvec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// uvec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000009[] = {
0x07230203,0x00010000,0x0008000a,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000014,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00050048,0x0000000b,
0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,
0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,
0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,
0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x0000002b,
0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,0x0000002b,
0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,
0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000004,0x0007001e,0x0000000b,
0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,0x00000009,
0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,0x0000000e,
0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,0x00000009,
0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,0x00000014,
0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,0x00000001,
0x00000009,0x0004002b,0x00000006,0x00000025,0x00000004,0x00040020,0x00000026,0x00000009,
0x0000000a,0x00090019,0x00000029,0x00000009,0x00000005,0x00000000,0x00000000,0x00000000,
0x00000002,0x0000001e,0x00040020,0x0000002a,0x00000000,0x00000029,0x0004003b,0x0000002a,
0x0000002b,0x00000000,0x0004002b,0x00000009,0x0000002f,0x00000040,0x0004002b,0x00000009,
0x00000030,0x00000001,0x0006002c,0x00000012,0x00000031,0x0000002f,0x00000030,0x00000030,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,
0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,
0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,
0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,
0x0000001a,0x00000019,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,0x0004003d,
0x0000000a,0x00000028,0x00000027,0x0004003d,0x00000029,0x0000002c,0x0000002b,0x00040063,
0x0000002c,0x0000001a,0x00000028,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimageBuffer dest;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// uvec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// uvec4 srcValue = params . clearValue;
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_0000000A[] = {
0x07230203,0x00010000,0x0008000a,0x00000042,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,0x0000000f,0x00000000,0x00000023,
0x00000000,0x00050048,0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000f,
0x00000002,0x00000023,0x00000008,0x00050048,0x0000000f,0x00000003,0x00000023,0x0000000c,
0x00050048,0x0000000f,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000f,0x00000002,
0x00040047,0x00000032,0x00000022,0x00000000,0x00040047,0x00000032,0x00000021,0x00000001,
0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,0x00000021,0x00000000,
0x00030047,0x00000039,0x00000019,0x00040047,0x0000003f,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,
0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,
0x00040020,0x0000000b,0x00000001,0x00000006,0x00040017,0x0000000e,0x00000006,0x00000004,
0x0007001e,0x0000000f,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000e,0x00040020,
0x00000010,0x00000009,0x0000000f,0x0004003b,0x00000010,0x00000011,0x00000009,0x00040015,
0x00000012,0x00000020,0x00000001,0x0004002b,0x00000012,0x00000013,0x00000001,0x00040020,
0x00000014,0x00000009,0x00000006,0x00020014,0x00000017,0x0004002b,0x00000012,0x0000001e,
0x00000000,0x0004002b,0x00000012,0x00000026,0x00000002,0x00090019,0x0000002f,0x00000006,
0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000030,
0x0000002f,0x00040020,0x00000031,0x00000000,0x00000030,0x0004003b,0x00000031,0x00000032,
0x00000000,0x00090019,0x00000037,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,
0x00000002,0x0000001e,0x00040020,0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,
0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003d,0x00000040,0x0004002b,0x00000006,
0x0000003e,0x00000001,0x0006002c,0x00000007,0x0000003f,0x0000003d,0x0000003e,0x0000003e,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,
0x00000040,0x00000000,0x000300fb,0x0000000a,0x00000041,0x000200f8,0x00000041,0x00050041,
0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,
0x00050041,0x00000014,0x00000015,0x00000011,0x00000013,0x0004003d,0x00000006,0x00000016,
0x00000015,0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,
0x00000000,0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,
0x00000040,0x000200f8,0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000011,0x0000001e,
0x0004003d,0x00000006,0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,
0x0000000d,0x0004007c,0x00000012,0x00000024,0x00000023,0x00050041,0x00000014,0x00000027,
0x00000011,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050080,0x00000006,
0x0000002b,0x00000028,0x0000000d,0x0004007c,0x00000012,0x0000002c,0x0000002b,0x0004003d,
0x00000030,0x00000033,0x00000032,0x00040064,0x0000002f,0x00000035,0x00000033,0x0005005f,
0x0000000e,0x00000036,0x00000035,0x0000002c,0x0004003d,0x00000037,0x0000003a,0x00000039,
0x00040063,0x0000003a,0x00000024,0x00000036,0x000200f9,0x00000040,0x000200f8,0x00000040,
0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimageBuffer dest;
//
// layout(set = 0, binding = 1)uniform usamplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// uvec4 clearValue;
// } params;
//
// void main()
// {
//
// if(gl_GlobalInvocationID . x >= params . size)
// return;
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// uvec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
// 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_0000000B[] = {
0x07230203,0x00010000,0x0008000a,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000014,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00050048,0x0000000b,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,
0x00000023,0x00000004,0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,
0x0000000b,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,
0x00000010,0x00030047,0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,
0x00040047,0x00000028,0x00000022,0x00000000,0x00040047,0x00000028,0x00000021,0x00000001,
0x00040047,0x0000002f,0x00000022,0x00000000,0x00040047,0x0000002f,0x00000021,0x00000000,
0x00030047,0x0000002f,0x00000019,0x00040047,0x00000035,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000004,
0x0007001e,0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,
0x0000000c,0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,
0x00000006,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,
0x00000012,0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,
0x00000013,0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,
0x00000016,0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,0x00000002,0x00090019,
0x00000025,0x00000009,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000026,0x00000025,0x00040020,0x00000027,0x00000000,0x00000026,0x0004003b,
0x00000027,0x00000028,0x00000000,0x00090019,0x0000002d,0x00000009,0x00000005,0x00000000,
0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x0000002e,0x00000000,0x0000002d,
0x0004003b,0x0000002e,0x0000002f,0x00000000,0x0004002b,0x00000009,0x00000033,0x00000040,
0x0004002b,0x00000009,0x00000034,0x00000001,0x0006002c,0x00000012,0x00000035,0x00000033,
0x00000034,0x00000034,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,
0x00000011,0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,
0x00000009,0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,
0x0004007c,0x00000006,0x0000001a,0x00000019,0x00050041,0x0000000f,0x0000001d,0x0000000d,
0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050080,0x00000009,0x00000021,
0x0000001e,0x00000018,0x0004007c,0x00000006,0x00000022,0x00000021,0x0004003d,0x00000026,
0x00000029,0x00000028,0x00040064,0x00000025,0x0000002b,0x00000029,0x0005005f,0x0000000a,
0x0000002c,0x0000002b,0x00000022,0x0004003d,0x0000002d,0x00000030,0x0000002f,0x00040063,
0x00000030,0x0000001a,0x0000002c,0x000100fd,0x00010038
};
// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimageBuffer dest;
//
// layout(set = 0, binding = 1)uniform usamplerBuffer src;
//
// layout(push_constant)uniform PushConstants
// {
//
// uint destOffset;
//
// uint size;
//
// uint srcOffset;
// uint padding;
//
// uvec4 clearValue;
// } params;
//
// void main()
// {
//
// int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
// int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
//
// uvec4 srcValue = texelFetch(src, srcIndex);
//
// imageStore(dest, destIndex, srcValue);
// }
//
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// BufferUtils.comp: various utilities such as clear and copy.
//
// The following defines tweak the functionality, and a different shader is built based on these.
//
// - Flags:
// * IsAligned: if true, assumes the workgroup size divides the buffer size, so there is no
// need for bound checking
// - Format:
// * IsFloat
// * IsSint
// * IsUint
// - Function:
// * IsClear: the buffer will be cleared
// * IsCopy: a buffer will be copied to another
//
#version 450 core
layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
#if IsFloat
#define ADD_TYPE_PREFIX(type) type
#define BUFFER_FORMAT rgba32f
#define GVEC4 vec4
#elif IsSint
#define ADD_TYPE_PREFIX(type) i ## type
#define BUFFER_FORMAT rgba32i
#define GVEC4 ivec4
#elif IsUint
#define ADD_TYPE_PREFIX(type) u ## type
#define BUFFER_FORMAT rgba32ui
#define GVEC4 uvec4
#else
#error "Not all formats are accounted for"
#endif
#define BUFFER_WRITE_TYPE ADD_TYPE_PREFIX(imageBuffer)
#define BUFFER_READ_TYPE ADD_TYPE_PREFIX(samplerBuffer)
layout (set = 0, binding = 0, BUFFER_FORMAT) uniform writeonly BUFFER_WRITE_TYPE dest;
#if IsCopy
layout (set = 0, binding = 1) uniform BUFFER_READ_TYPE src;
#endif // IsCopy
layout (push_constant) uniform PushConstants
{
// destOffset: used in all cases
uint destOffset;
// size: used if !IsAligned
uint size;
// srcOffset: used if IsCopy
uint srcOffset;
uint padding;
// clearValue: used if IsClear
GVEC4 clearValue;
} params;
void main()
{
#if !IsAligned
if (gl_GlobalInvocationID.x >= params.size)
return;
#endif // IsAligned
int destIndex = int(params.destOffset.x + gl_GlobalInvocationID.x);
int srcIndex = int(params.srcOffset.x + gl_GlobalInvocationID.x);
#if IsClear
GVEC4 srcValue = params.clearValue;
#elif IsCopy
GVEC4 srcValue = texelFetch(src, srcIndex);
#else
#error "Not all functions are accounted for"
#endif // Function
imageStore(dest, destIndex, srcValue);
}
{
"Description": [
"Copyright 2018 The ANGLE Project Authors. All rights reserved.",
"Use of this source code is governed by a BSD-style license that can be",
"found in the LICENSE file.",
"",
"BufferUtils.comp.json: Build parameters for BufferUtils.comp."
],
"Flags": [
"IsAligned"
],
"Format": [
"IsFloat",
"IsSint",
"IsUint"
],
"Function": [
"IsClear",
"IsCopy"
]
}
......@@ -44,18 +44,6 @@ namespace
#include "libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc"
......@@ -172,20 +160,6 @@ constexpr ShaderBlob kBlitResolveStencilNoExport_comp_shaders[] = {
{kBlitResolveStencilNoExport_comp_00000002, sizeof(kBlitResolveStencilNoExport_comp_00000002)},
{kBlitResolveStencilNoExport_comp_00000003, sizeof(kBlitResolveStencilNoExport_comp_00000003)},
};
constexpr ShaderBlob kBufferUtils_comp_shaders[] = {
{kBufferUtils_comp_00000000, sizeof(kBufferUtils_comp_00000000)},
{kBufferUtils_comp_00000001, sizeof(kBufferUtils_comp_00000001)},
{kBufferUtils_comp_00000002, sizeof(kBufferUtils_comp_00000002)},
{kBufferUtils_comp_00000003, sizeof(kBufferUtils_comp_00000003)},
{kBufferUtils_comp_00000004, sizeof(kBufferUtils_comp_00000004)},
{kBufferUtils_comp_00000005, sizeof(kBufferUtils_comp_00000005)},
{kBufferUtils_comp_00000006, sizeof(kBufferUtils_comp_00000006)},
{kBufferUtils_comp_00000007, sizeof(kBufferUtils_comp_00000007)},
{kBufferUtils_comp_00000008, sizeof(kBufferUtils_comp_00000008)},
{kBufferUtils_comp_00000009, sizeof(kBufferUtils_comp_00000009)},
{kBufferUtils_comp_0000000A, sizeof(kBufferUtils_comp_0000000A)},
{kBufferUtils_comp_0000000B, sizeof(kBufferUtils_comp_0000000B)},
};
constexpr ShaderBlob kConvertIndex_comp_shaders[] = {
{kConvertIndex_comp_00000000, sizeof(kConvertIndex_comp_00000000)},
{kConvertIndex_comp_00000001, sizeof(kConvertIndex_comp_00000001)},
......@@ -338,10 +312,6 @@ void ShaderLibrary::destroy(VkDevice device)
{
shader.get().destroy(device);
}
for (RefCounted<ShaderAndSerial> &shader : mBufferUtils_comp_shaders)
{
shader.get().destroy(device);
}
for (RefCounted<ShaderAndSerial> &shader : mConvertIndex_comp_shaders)
{
shader.get().destroy(device);
......@@ -398,14 +368,6 @@ angle::Result ShaderLibrary::getBlitResolveStencilNoExport_comp(
ArraySize(kBlitResolveStencilNoExport_comp_shaders), shaderFlags, shaderOut);
}
angle::Result ShaderLibrary::getBufferUtils_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut)
{
return GetShader(context, mBufferUtils_comp_shaders, kBufferUtils_comp_shaders,
ArraySize(kBufferUtils_comp_shaders), shaderFlags, shaderOut);
}
angle::Result ShaderLibrary::getConvertIndex_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut)
......
......@@ -37,18 +37,6 @@ angle_vulkan_internal_shaders = [
"shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc",
"shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc",
"shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc",
"shaders/gen/BufferUtils.comp.00000000.inc",
"shaders/gen/BufferUtils.comp.00000001.inc",
"shaders/gen/BufferUtils.comp.00000002.inc",
"shaders/gen/BufferUtils.comp.00000003.inc",
"shaders/gen/BufferUtils.comp.00000004.inc",
"shaders/gen/BufferUtils.comp.00000005.inc",
"shaders/gen/BufferUtils.comp.00000006.inc",
"shaders/gen/BufferUtils.comp.00000007.inc",
"shaders/gen/BufferUtils.comp.00000008.inc",
"shaders/gen/BufferUtils.comp.00000009.inc",
"shaders/gen/BufferUtils.comp.0000000A.inc",
"shaders/gen/BufferUtils.comp.0000000B.inc",
"shaders/gen/ConvertIndex.comp.00000000.inc",
"shaders/gen/ConvertIndex.comp.00000001.inc",
"shaders/gen/ConvertIndex.comp.00000002.inc",
......
......@@ -48,26 +48,6 @@ enum flags
constexpr size_t kArrayLen = 0x00000004;
} // namespace BlitResolveStencilNoExport_comp
namespace BufferUtils_comp
{
enum flags
{
kIsAligned = 0x00000001,
};
enum Function
{
kIsClear = 0x00000000,
kIsCopy = 0x00000002,
};
enum Format
{
kIsFloat = 0x00000000,
kIsSint = 0x00000004,
kIsUint = 0x00000008,
};
constexpr size_t kArrayLen = 0x0000000C;
} // namespace BufferUtils_comp
namespace ConvertIndex_comp
{
enum flags
......@@ -202,9 +182,6 @@ class ShaderLibrary final : angle::NonCopyable
angle::Result getBlitResolveStencilNoExport_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getBufferUtils_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getConvertIndex_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
......@@ -239,8 +216,6 @@ class ShaderLibrary final : angle::NonCopyable
RefCounted<ShaderAndSerial> mBlitResolveStencilNoExport_comp_shaders
[InternalShader::BlitResolveStencilNoExport_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mBufferUtils_comp_shaders[InternalShader::BufferUtils_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mConvertIndex_comp_shaders[InternalShader::ConvertIndex_comp::kArrayLen];
RefCounted<ShaderAndSerial> mConvertIndexIndirectLineLoop_comp_shaders
[InternalShader::ConvertIndexIndirectLineLoop_comp::kArrayLen];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment