summaryrefslogtreecommitdiff
path: root/tests/bugs/vk-structured-buffer-load.hlsl
diff options
context:
space:
mode:
authorRobert Stepinski <rob.stepinski@gmail.com>2019-03-20 17:13:48 -0400
committerTim Foley <tfoleyNV@users.noreply.github.com>2019-03-20 14:13:48 -0700
commitfb29281b9061eb5e9b75d1362f2c824d01a8b3d4 (patch)
treeb3fee168100eff3357169afbe9b698a3d97f7164 /tests/bugs/vk-structured-buffer-load.hlsl
parent662fcca6d3156d7645761ac967038e5ff068fe99 (diff)
Add support for scalar rcp() intrinsic for GLSL (#918)
Diffstat (limited to 'tests/bugs/vk-structured-buffer-load.hlsl')
-rw-r--r--tests/bugs/vk-structured-buffer-load.hlsl12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/bugs/vk-structured-buffer-load.hlsl b/tests/bugs/vk-structured-buffer-load.hlsl
index daedc5b66..a5f518f93 100644
--- a/tests/bugs/vk-structured-buffer-load.hlsl
+++ b/tests/bugs/vk-structured-buffer-load.hlsl
@@ -1,5 +1,7 @@
//TEST:CROSS_COMPILE: -profile lib_6_3 -entry HitMain -stage closesthit -target spirv-assembly
+#define USE_RCP 0
+
struct ParameterBlockTest
{
SamplerState sam;
@@ -19,7 +21,13 @@ void HitMain(inout RayHitInfoPacked RayData, BuiltInTriangleIntersectionAttribut
float HitT = RayTCurrent();
RayData.PackedHitInfoA.x = HitT;
uint offs = 0;
+ uint use_rcp = USE_RCP;
float offsfloat = gParamBlock.sbuf.Load(offs);
-
- RayData.PackedHitInfoA.y = rsqrt(offsfloat);
+
+ use_rcp |= HitT > 0.0;
+
+ if (use_rcp)
+ RayData.PackedHitInfoA.y = rcp(offsfloat);
+ else
+ RayData.PackedHitInfoA.y = rsqrt(offsfloat);
}