summaryrefslogtreecommitdiff
path: root/tests/metal/texture-sampler-less.slang
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2025-01-08 22:50:57 -0500
committerGitHub <noreply@github.com>2025-01-08 19:50:57 -0800
commit2249d6ffb19e4db8580c76ccb04ab4ca3ddc8394 (patch)
treea5d975e79c60fe735a5d9f5948a5534e3a37ec5b /tests/metal/texture-sampler-less.slang
parent63b8d9e1d0b0bba66f13013aa6b80bd9fab4036b (diff)
Add SampleCmpLevel intrinsics (#6004)
* add SampleCmpLevel intrinsics * update tests * fix typo * fix broken glsl test * refactor SampleCmpLevelZero * fix metallib test * fix broken test on dx12 --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tests/metal/texture-sampler-less.slang')
-rw-r--r--tests/metal/texture-sampler-less.slang27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/metal/texture-sampler-less.slang b/tests/metal/texture-sampler-less.slang
index 188b15469..78d092e17 100644
--- a/tests/metal/texture-sampler-less.slang
+++ b/tests/metal/texture-sampler-less.slang
@@ -448,6 +448,33 @@ bool TEST_texture_float()
// METALLIB: call {{.*}}.sample_compare_depth_2d.f32(
&& float(1) == d2D.SampleCmpLevelZero(float2(u2, u), 0, int2(0, 0))
+ // ===================================
+ // float SampleCmpLevel()
+ // ===================================
+
+ // METAL: d2D{{.*}}.sample_compare(
+ // METALLIB: call {{.*}}.sample_compare_depth_2d.f32(
+ && float(1) == d2D.SampleCmpLevel(float2(u, u), 0, 1.0)
+
+ // METAL: d2DArray{{.*}}.sample_compare(
+ // METALLIB: call {{.*}}.sample_compare_depth_2d_array.f32(
+ && float(1) == d2DArray.SampleCmpLevel(float3(u, u, 0), 0, 1.0)
+
+ // METAL: dCube{{.*}}.sample_compare(
+ // METALLIB: call {{.*}}.sample_compare_depth_cube.f32(
+ && float(1) == dCube.SampleCmpLevel(normalize(float3(u, 1 - u, u)), 0, 1.0)
+
+ // METAL: dCubeArray{{.*}}.sample_compare(
+ // METALLIB: call {{.*}}.sample_compare_depth_cube_array.f32(
+ && float(1) == dCubeArray.SampleCmpLevel(float4(normalize(float3(u, 1-u, u)), 0), 0, 1.0)
+
+ // Offset variant
+
+ // METAL: d2D{{.*}}.sample_compare(
+ // METALLIB: call {{.*}}.sample_compare_depth_2d.f32(
+ && float(1) == d2D.SampleCmpLevel(float2(u2, u), 0, 1.0, int2(0, 0))
+
+
// ==================================
// vector<T,4> Gather()
// ==================================