Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2020-05-20 15:51:45 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2020-05-20 16:07:47 +0300
commit66ec3e3e5416f98c3e60de8b9c8cd5bbc9d48958 (patch)
tree5c0db3b114ff592a6c55dcc4dfd81963690fe9b0 /reference/shaders
parent271ad33380cb8d2a146ed3f3ba2082b265bfabd9 (diff)
GLSL: Support ray payloads and hit attributes declared as Block.
Diffstat (limited to 'reference/shaders')
-rw-r--r--reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk13
1 files changed, 13 insertions, 0 deletions
diff --git a/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk b/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk
index c4ede241..5d6b24c6 100644
--- a/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk
+++ b/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk
@@ -7,9 +7,19 @@ struct Payload
float b;
};
+struct Block
+{
+ float a;
+ float b;
+ Payload c;
+ Payload d;
+};
+
layout(set = 0, binding = 1) uniform accelerationStructureNV as;
layout(location = 1) rayPayloadNV Payload payload2;
layout(location = 0) rayPayloadNV float payload1;
+layout(location = 2) rayPayloadNV Block _71;
+layout(set = 0, binding = 0, rgba8) uniform writeonly image2D image;
vec4 trace_in_function()
{
@@ -30,5 +40,8 @@ void main()
vec4 result = vec4(payload1);
vec4 _62 = trace_in_function();
result += _62;
+ traceNV(as, 0u, 255u, 0u, 1u, 0u, origin, 0.0, direction, 1000.0, 2);
+ result += vec4(((((_71.a + _71.b) + _71.c.a) + _71.c.b) + _71.d.a) + _71.d.b);
+ imageStore(image, ivec2(gl_LaunchIDNV.xy), result);
}