summaryrefslogtreecommitdiff
path: root/tests/vkray
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vkray')
-rw-r--r--tests/vkray/entry-point-params.slang14
-rw-r--r--tests/vkray/entry-point-params.slang.glsl26
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/vkray/entry-point-params.slang b/tests/vkray/entry-point-params.slang
new file mode 100644
index 000000000..84c8ecb50
--- /dev/null
+++ b/tests/vkray/entry-point-params.slang
@@ -0,0 +1,14 @@
+// entry-point-params.slang
+
+// Test that entry-point `uniform` parameters on ray-tracing
+// shaders properly map to the "shader record" in SPIR-V output.
+
+//TEST:CROSS_COMPILE: -profile glsl_460 -stage raygeneration -entry main -target spirv-assembly
+
+RWStructuredBuffer<float> buffer;
+
+void main(
+ uniform float value)
+{
+ buffer[DispatchRaysIndex().x] = value;
+}
diff --git a/tests/vkray/entry-point-params.slang.glsl b/tests/vkray/entry-point-params.slang.glsl
new file mode 100644
index 000000000..8333f21c9
--- /dev/null
+++ b/tests/vkray/entry-point-params.slang.glsl
@@ -0,0 +1,26 @@
+//TEST_IGNORE_FILE:
+#version 460
+#extension GL_NV_ray_tracing : require
+
+layout(std430, binding = 0)
+buffer _S1 {
+ float _data[];
+} buffer_0;
+
+struct EntryPointParams_0
+{
+ float value_0;
+};
+
+layout(shaderRecordNV)
+buffer _S2
+{
+ EntryPointParams_0 _data;
+} _S3;
+
+void main()
+{
+ uvec3 _S4 = gl_LaunchIDNV;
+ buffer_0._data[_S4.x] = _S3._data.value_0;
+ return;
+}