mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
[vulkan] Add image format qualifier to glsl files (#69330)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/69330 --- ## Context Previously, our shader files did not declare any [image format qualifiers](https://www.khronos.org/opengl/wiki/Layout_Qualifier_(GLSL)#Image_formats) for image layouts. This causes the SPIR-V modules produced to declare the [StorageImageWriteWithoutFormat](https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_a_id_capability_a_capability) capability, which requires `shaderStorageImageWriteWithoutFormat` to be enabled in [VkPhysicalDeviceFeatures](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html). `shaderStorageImageWriteWithoutFormat` is not available on some devices, causing errors to be reported by the Vulkan validation layer. ## Changes Vulkan shaders now declare the image format explicitly so that the SPIR-V modules produced are compatible with devices that do not have `shaderStorageImageWriteWithoutFormat` enabled. Test Plan: Imported from OSS Reviewed By: beback4u Differential Revision: D32840909 Pulled By: SS-JIA fbshipit-source-id: 76e0a0da68b423ebc74ae7e839b9cfaf57d2cd39
This commit is contained in:
committed by
Facebook GitHub Bot
parent
e5a1ee0e5a
commit
bede33e3f5
@ -7,7 +7,7 @@ from tools.codegen.code_template import CodeTemplate
|
||||
|
||||
H_NAME = "glsl.h"
|
||||
CPP_NAME = "glsl.cpp"
|
||||
DEFAULT_ENV = {"precision": "highp"}
|
||||
DEFAULT_ENV = {"precision": "highp", "format": "rgba32f"}
|
||||
|
||||
def findAllGlsls(path):
|
||||
cmd = "find " + path + " -name \"*.glsl\""
|
||||
|
@ -9,7 +9,7 @@ from tools.codegen.code_template import CodeTemplate
|
||||
|
||||
H_NAME = "spv.h"
|
||||
CPP_NAME = "spv.cpp"
|
||||
DEFAULT_ENV = {"precision": "highp"}
|
||||
DEFAULT_ENV = {"precision": "highp", "format": "rgba32f"}
|
||||
|
||||
def getName(filePath):
|
||||
return os.path.basename(filePath).replace("/", "_").replace(".", "_")
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
vec2 kernel;
|
||||
vec2 stride;
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 isize0;
|
||||
ivec3 isize1;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
float alpha;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec3 size;
|
||||
float other;
|
||||
} uBlock;
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec3 size;
|
||||
float other;
|
||||
} uBlock;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uM1;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uM2;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uT;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uM1;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uM2;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uT;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
vec2 multiplier;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 stride;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size; // output texture size (x=width,y=height,z=depth,w=unused)
|
||||
ivec4 isize; // input texture size (x=width,y=height,z=depth,w=unused)
|
||||
uint batch_size; // input tensor's batch size
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
vec2 clamp;
|
||||
} uBlock;
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
vec2 clamp;
|
||||
} uBlock;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,10 +1,12 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
layout(set = 0, rgba16f, binding = 0) writeonly PRECISION uniform image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) readonly buffer bias {
|
||||
layout(set = 0, binding = 0, FORMAT) writeonly PRECISION uniform image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) readonly buffer bias {
|
||||
vec4 data[];
|
||||
}
|
||||
uBias;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) buffer PRECISION restrict readonly Bias {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) buffer PRECISION restrict readonly Bias {
|
||||
vec4 data[];
|
||||
} uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uKernel;
|
||||
layout(set = 0, binding = 3) uniform PRECISION sampler3D uBias;
|
||||
layout(set = 0, binding = 4) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 ikernel;
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 isize0;
|
||||
ivec3 isize1;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
float alpha;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
float lambd;
|
||||
} uBlock;
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
float lambd;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
float negative_slope;
|
||||
} uBlock;
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
float negative_slope;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 kernel;
|
||||
ivec2 stride;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
} uBlock;
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uM1;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uM2;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uM1;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uM2;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 isize0;
|
||||
ivec3 isize1;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
float alpha;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec3 size;
|
||||
float other;
|
||||
} uBlock;
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec3 size;
|
||||
float other;
|
||||
} uBlock;
|
||||
|
@ -1,15 +1,16 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uImage;
|
||||
layout(set = 0, binding = 1) buffer PRECISION restrict readonly Buffer {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uImage;
|
||||
layout(set = 0, binding = 1) buffer PRECISION restrict readonly Buffer {
|
||||
float data[];
|
||||
} uBuffer;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 offset;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size; // output texture size (x=width,y=height,z=depth,w=unused)
|
||||
ivec4 isize; // input texture size (x=width,y=height,z=depth,w=unused)
|
||||
uvec4 tensor_size; // output tensor size
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 pad;
|
||||
} uBlock;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size; // output texture size (x=width,y=height,z=depth,w=unused)
|
||||
ivec4 isize; // input texture size (x=width,y=height,z=depth,w=unused)
|
||||
uvec4 tensor_size; // output tensor size
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION sampler3D uInput1;
|
||||
layout(set = 0, binding = 3) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec4 isize0;
|
||||
ivec3 isize1;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput0;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec3 isize;
|
||||
float alpha;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0, rgba16f) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
} uBlock;
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec2 limits;
|
||||
ivec2 padding;
|
||||
|
@ -1,13 +1,14 @@
|
||||
#version 450 core
|
||||
#define PRECISION $precision
|
||||
#define FORMAT $format
|
||||
|
||||
layout(std430) buffer;
|
||||
|
||||
/* Qualifiers: layout - storage - precision - memory */
|
||||
|
||||
layout(set = 0, binding = 0) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
layout(set = 0, binding = 0, FORMAT) uniform PRECISION restrict writeonly image3D uOutput;
|
||||
layout(set = 0, binding = 1) uniform PRECISION sampler3D uInput;
|
||||
layout(set = 0, binding = 2) uniform PRECISION restrict Block {
|
||||
ivec4 size;
|
||||
ivec2 isize;
|
||||
vec2 scale;
|
||||
|
@ -9,6 +9,9 @@ set(VULKAN_GEN_ARG_ENV "")
|
||||
if(USE_VULKAN_RELAXED_PRECISION)
|
||||
string(APPEND VULKAN_GEN_ARG_ENV "precision=mediump")
|
||||
endif()
|
||||
if(USE_VULKAN_FP16_INFERENCE)
|
||||
string(APPEND VULKAN_GEN_ARG_ENV "format=rgba16f")
|
||||
endif()
|
||||
|
||||
if(USE_VULKAN_SHADERC_RUNTIME)
|
||||
set(PYTHONPATH "$ENV{PYTHONPATH}")
|
||||
|
Reference in New Issue
Block a user