summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvenkataram-nv <vedavamadath@nvidia.com>2024-07-01 15:00:50 -0700
committerGitHub <noreply@github.com>2024-07-01 15:00:50 -0700
commit6262569c6305468afac8067112b61cc42780464c (patch)
tree4754ba263844411a0079ff6d80b230dc3759510e
parent6e550430cf24a6324ce22f821181f2cab904d543 (diff)
Supply SPIRV capability for textureQueryLod (#4522)
-rw-r--r--source/slang/glsl.meta.slang2
-rw-r--r--tests/spirv/texture-query-lod.slang14
2 files changed, 16 insertions, 0 deletions
diff --git a/source/slang/glsl.meta.slang b/source/slang/glsl.meta.slang
index cf314fcdc..ae6fbd67c 100644
--- a/source/slang/glsl.meta.slang
+++ b/source/slang/glsl.meta.slang
@@ -1890,6 +1890,7 @@ public vec2 textureQueryLod(__TextureImpl<
__intrinsic_asm "textureQueryLod";
case spirv:
return spirv_asm {
+ OpCapability ImageQuery;
result:$$float2 = OpImageQueryLod $sampler $p
};
default:
@@ -1922,6 +1923,7 @@ public vec2 textureQueryLod(__TextureImpl<
__intrinsic_asm "textureQueryLod";
case spirv:
return spirv_asm {
+ OpCapability ImageQuery;
result:$$float2 = OpImageQueryLod $sampler $p
};
default:
diff --git a/tests/spirv/texture-query-lod.slang b/tests/spirv/texture-query-lod.slang
new file mode 100644
index 000000000..ad2597466
--- /dev/null
+++ b/tests/spirv/texture-query-lod.slang
@@ -0,0 +1,14 @@
+//TEST:SIMPLE(filecheck=CHK): -target spirv -entry main -stage fragment
+//TEST:SIMPLE(filecheck=CHK): -target spirv-asm -entry main -stage fragment
+
+#version 450 core
+
+layout (location = 0) in highp vec2 uv;
+layout (location = 0) out mediump vec4 fragment;
+layout (set = 0, binding = 0) uniform highp isampler2D sampler;
+
+void main()
+{
+ // CHK: OpCapability ImageQuery
+ fragment = vec4(textureQueryLod(sampler, uv), 0.0, 1.0);
+}