From aa9b5d4a670a62ee973331b3c7906354b9bc2661 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Sat, 26 Mar 2016 23:49:20 +0100 Subject: [PATCH] Add RT format test. --- test/decode-format.slang | 28 ++++++++++++++++++++++++++++ test/format.slang | 30 ++++++++++++++++++++++++++++++ test/format.slangp | 7 +++++++ 3 files changed, 65 insertions(+) create mode 100644 test/decode-format.slang create mode 100644 test/format.slang create mode 100644 test/format.slangp diff --git a/test/decode-format.slang b/test/decode-format.slang new file mode 100644 index 00000000..f3f5593d --- /dev/null +++ b/test/decode-format.slang @@ -0,0 +1,28 @@ +#version 450 + +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; +} global; + +#pragma stage vertex +layout(location = 0) in vec4 Position; +layout(location = 1) in vec2 TexCoord; +layout(location = 0) out vec2 vTexCoord; + +void main() +{ + gl_Position = global.MVP * Position; + vTexCoord = TexCoord; +} + +#pragma stage fragment +layout(location = 0) in vec2 vTexCoord; +layout(location = 0) out vec4 FragColor; +layout(set = 0, binding = 1) uniform usampler2D Source; + +void main() +{ + vec4 current = unpackUnorm4x8(texture(Source, vTexCoord).r); + FragColor = current; +} diff --git a/test/format.slang b/test/format.slang new file mode 100644 index 00000000..a3f4e519 --- /dev/null +++ b/test/format.slang @@ -0,0 +1,30 @@ +#version 450 + +#pragma format R32_UINT + +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; +} global; + +#pragma stage vertex +layout(location = 0) in vec4 Position; +layout(location = 1) in vec2 TexCoord; +layout(location = 0) out vec2 vTexCoord; + +void main() +{ + gl_Position = global.MVP * Position; + vTexCoord = TexCoord; +} + +#pragma stage fragment +layout(location = 0) in vec2 vTexCoord; +layout(location = 0) out uint FragColor; +layout(set = 0, binding = 1) uniform sampler2D Source; + +void main() +{ + vec3 current = texture(Source, vTexCoord).rgb; + FragColor = packUnorm4x8(0.3 * vec4(current, 1.0)); +} diff --git a/test/format.slangp b/test/format.slangp new file mode 100644 index 00000000..e5fdae6a --- /dev/null +++ b/test/format.slangp @@ -0,0 +1,7 @@ +shaders = 2 +shader0 = format.slang +shader1 = decode-format.slang +scale_type0 = source +scale0 = 1.0 +filter_linear0 = false +filter_linear1 = false