diff options
Diffstat (limited to 'tests/bugs')
| -rw-r--r-- | tests/bugs/texture2d-ms.hlsl.glsl | 2 | ||||
| -rw-r--r-- | tests/bugs/vk-structured-buffer-binding.hlsl.glsl | 20 | ||||
| -rw-r--r-- | tests/bugs/vk-structured-buffer-load.hlsl.glsl | 20 |
3 files changed, 22 insertions, 20 deletions
diff --git a/tests/bugs/texture2d-ms.hlsl.glsl b/tests/bugs/texture2d-ms.hlsl.glsl index 40ce5f9de..013d7d7bd 100644 --- a/tests/bugs/texture2d-ms.hlsl.glsl +++ b/tests/bugs/texture2d-ms.hlsl.glsl @@ -5,7 +5,7 @@ layout(row_major) buffer; layout(binding = 0) uniform texture2DMS tex_0; -layout(std430, binding = 1) buffer _S1 { +layout(std430, binding = 1) buffer StructuredBuffer_float4_t_0 { vec4 _data[]; } outBuffer_0; layout(local_size_x = 4, local_size_y = 4, local_size_z = 1) in; diff --git a/tests/bugs/vk-structured-buffer-binding.hlsl.glsl b/tests/bugs/vk-structured-buffer-binding.hlsl.glsl index 7298ea594..f108aac00 100644 --- a/tests/bugs/vk-structured-buffer-binding.hlsl.glsl +++ b/tests/bugs/vk-structured-buffer-binding.hlsl.glsl @@ -2,25 +2,23 @@ //TEST_IGNORE_FILE: #version 450 +layout(row_major) uniform; +layout(row_major) buffer; -#define gDoneGroups gDoneGroups_0 -#define uv _S3 -#define SV_Target _S2 - -layout(std430, binding = 3, set = 4) -buffer _S1 -{ +layout(std430, binding = 3, set = 4) buffer StructuredBuffer_uint_t_0 { uint _data[]; -} gDoneGroups; +} gDoneGroups_0; layout(location = 0) -out vec4 SV_Target; +out vec4 _S1; layout(location = 0) -in vec3 uv; +in vec3 _S2; void main() { - SV_Target = vec4(gDoneGroups._data[uint(int(uv.z))]); + _S1 = vec4(float(gDoneGroups_0._data[uint(int(_S2.z))])); return; } + + 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; |
