summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-04-05 09:47:52 -0400
committerGitHub <noreply@github.com>2022-04-05 09:47:52 -0400
commitf58f36eedac6c11e30d60201f43bb4fb1be70bee (patch)
tree0c4b9a84b9f532b55c16fba511b813e73010bbd0 /tests
parent2ddd252db192ab4376994d34cb9be862f97b5449 (diff)
Added sample-grad-clamp-lod test. (#2173)
* #include an absolute path didn't work - because paths were taken to always be relative. * Added sample-grad-clamp-lod sample.
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs/sample-grad-clamp-lod.slang18
-rw-r--r--tests/bugs/sample-grad-clamp-lod.slang.glsl29
2 files changed, 47 insertions, 0 deletions
diff --git a/tests/bugs/sample-grad-clamp-lod.slang b/tests/bugs/sample-grad-clamp-lod.slang
new file mode 100644
index 000000000..cdb48fba0
--- /dev/null
+++ b/tests/bugs/sample-grad-clamp-lod.slang
@@ -0,0 +1,18 @@
+//TEST:CROSS_COMPILE: -profile glsl_460+GL_EXT_ray_tracing -stage miss -entry main -target spirv-assembly
+
+Texture2DArray t2D;
+SamplerState samplerState;
+
+struct ShadowRay
+{
+ float hitDistance;
+};
+
+void main(in out ShadowRay ray)
+{
+ float3 uv = float3(ray.hitDistance * 0.2, ray.hitDistance * 0.3f, 0.2f);
+
+ float4 val = t2D.SampleGrad(samplerState, uv, float2(0,0), float2(0,0), 0, 0.5f);
+
+ ray.hitDistance = dot(val, val);
+}
diff --git a/tests/bugs/sample-grad-clamp-lod.slang.glsl b/tests/bugs/sample-grad-clamp-lod.slang.glsl
new file mode 100644
index 000000000..b91fb8668
--- /dev/null
+++ b/tests/bugs/sample-grad-clamp-lod.slang.glsl
@@ -0,0 +1,29 @@
+//TEST_IGNORE_FILE:
+#version 460
+#extension GL_EXT_ray_tracing : require
+#extension GL_ARB_sparse_texture_clamp : require
+layout(row_major) uniform;
+layout(row_major) buffer;
+
+layout(binding = 0)
+uniform texture2DArray t2D_0;
+
+layout(binding = 1)
+uniform sampler samplerState_0;
+
+struct ShadowRay_0
+{
+ float hitDistance_0;
+};
+
+rayPayloadInEXT ShadowRay_0 _S1;
+
+void main()
+{
+ vec4 val_0 = (textureGradOffsetClampARB(sampler2DArray(t2D_0,samplerState_0), (vec3(_S1.hitDistance_0 * 0.20000000000000001110, _S1.hitDistance_0 * 0.29999999999999998890, 0.20000000000000001110)), (vec2(float(0), float(0))), (vec2(float(0), float(0))), (ivec2(0)), (0.50000000000000000000)));
+
+ float _S2 = dot(val_0, val_0);
+
+ _S1.hitDistance_0 = _S2;
+ return;
+}