diff options
Diffstat (limited to 'tests/vkray')
| -rw-r--r-- | tests/vkray/entry-point-params.slang | 14 | ||||
| -rw-r--r-- | tests/vkray/entry-point-params.slang.glsl | 26 |
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; +} |
