summaryrefslogtreecommitdiff
path: root/tests/bugs/vk-structured-buffer-load.hlsl.glsl
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-21 17:07:34 -0700
committerGitHub <noreply@github.com>2023-08-21 17:07:34 -0700
commitbd6dbaf7c3ea720b4ed39904fe08878f9dcbd947 (patch)
tree9e8c436e0888d192c462f75e4655a63b51f41648 /tests/bugs/vk-structured-buffer-load.hlsl.glsl
parentf94b2f7a328a898c5e3dc1389d08e0b7ce6e092e (diff)
Compile append and consume structured buffers to glsl. (#3142)
* Compile append and consume structured buffers to glsl. * Fix. * Update CI config. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/bugs/vk-structured-buffer-load.hlsl.glsl')
-rw-r--r--tests/bugs/vk-structured-buffer-load.hlsl.glsl20
1 files changed, 12 insertions, 8 deletions
diff --git a/tests/bugs/vk-structured-buffer-load.hlsl.glsl b/tests/bugs/vk-structured-buffer-load.hlsl.glsl
index 0184e6ed5..35fad779b 100644
--- a/tests/bugs/vk-structured-buffer-load.hlsl.glsl
+++ b/tests/bugs/vk-structured-buffer-load.hlsl.glsl
@@ -2,9 +2,11 @@
#extension GL_NV_ray_tracing : require
layout(row_major) uniform;
layout(row_major) buffer;
-layout(std430, binding = 1) readonly buffer _S1 {
+
+layout(std430, binding = 1) readonly buffer StructuredBuffer_float_t_0 {
float _data[];
} gParamBlock_sbuf_0;
+
float rcp_0(float x_0)
{
return 1.0 / x_0;
@@ -15,35 +17,37 @@ struct RayHitInfoPacked_0
vec4 PackedHitInfoA_0;
};
-rayPayloadInNV RayHitInfoPacked_0 _S2;
+rayPayloadInNV RayHitInfoPacked_0 _S1;
struct BuiltInTriangleIntersectionAttributes_0
{
vec2 barycentrics_0;
};
-hitAttributeNV BuiltInTriangleIntersectionAttributes_0 _S3;
+hitAttributeNV BuiltInTriangleIntersectionAttributes_0 _S2;
void main()
{
float HitT_0 = ((gl_RayTmaxNV));
- _S2.PackedHitInfoA_0.x = HitT_0;
+ _S1.PackedHitInfoA_0[0] = HitT_0;
+
+ float offsfloat_0 = gParamBlock_sbuf_0._data[0];
- float offsfloat_0 = ((gParamBlock_sbuf_0)._data[(0)]);
uint use_rcp_0 = 0U | uint(HitT_0 > 0.0);
+
if(use_rcp_0 != 0U)
{
- _S2.PackedHitInfoA_0.y = rcp_0(offsfloat_0);
+ _S1.PackedHitInfoA_0[1] = rcp_0(offsfloat_0);
}
else
{
if(use_rcp_0 > 0U&&offsfloat_0 == 0.0)
{
- _S2.PackedHitInfoA_0.y = (inversesqrt((offsfloat_0 + 1.0)));
+ _S1.PackedHitInfoA_0[1] = (inversesqrt((offsfloat_0 + 1.0)));
}
else
{
- _S2.PackedHitInfoA_0.y = (inversesqrt((offsfloat_0)));
+ _S1.PackedHitInfoA_0[1] = (inversesqrt((offsfloat_0)));
}
}
return;