diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2022-04-05 09:47:52 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-05 09:47:52 -0400 |
| commit | f58f36eedac6c11e30d60201f43bb4fb1be70bee (patch) | |
| tree | 0c4b9a84b9f532b55c16fba511b813e73010bbd0 /tests | |
| parent | 2ddd252db192ab4376994d34cb9be862f97b5449 (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.slang | 18 | ||||
| -rw-r--r-- | tests/bugs/sample-grad-clamp-lod.slang.glsl | 29 |
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; +} |
