From 626e81478f2bcf759567975a3c94478374d1811d Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Thu, 12 Dec 2024 14:52:14 +0800 Subject: Bump spirv-header/tools/glslang (#5834) * Back out "Update SPIRV submodules (#5815)" This backs out commit e50aac13e2c161d672b137a62f6d66820d0f9ff1. * Use upstream spirv-tools * Fix bump-glslang.sh for newer versions of spirv-tools * Use upstream glslang * Add --do-fetch option to bump glslang * Bump glslang and friends Supersedes https://github.com/shader-slang/slang/pull/5815 * Regenerate glslang and spirv-tools outputs * Fixes to slang-glslang * Correct spirv intrinsic for OpImageSampleFootprintNV Note that this currently fails validation with the following error: ``` error: line 145: Result from OpSampledImage instruction must not appear as operand for OpImageSampleFootprintNV, since it is not specified as taking an OpTypeSampledImage. Found result '55[%sampledImage]' as an operand of '56[%resultVal]'. %sampledImage = OpSampledImage %54 %51 %40 ``` This seems to be in error as the spec for *SPV_NV_shader_image_footprint* states that "Sampled Image must be an object whose type is OpTypeSampledImage" https://refined-github-html-preview.kidonng.workers.dev/KhronosGroup/SPIRV-Registry/raw/refs/heads/main/extensions/NV/SPV_NV_shader_image_footprint.html glslang also seems to fail with the same validation error * Fix spv storage class test --- tests/bindings/binding-spv-storage-class.slang | 32 +++++++-------- .../footprint/nv-shader-texture-footprint.slang | 46 +++++++++++++++------- 2 files changed, 47 insertions(+), 31 deletions(-) (limited to 'tests') diff --git a/tests/bindings/binding-spv-storage-class.slang b/tests/bindings/binding-spv-storage-class.slang index 5e93a1fbd..bb0ad3af3 100644 --- a/tests/bindings/binding-spv-storage-class.slang +++ b/tests/bindings/binding-spv-storage-class.slang @@ -35,21 +35,21 @@ void main(out float3 pos) pos.xy, 0); } -// SPIRV: OpDecorate %myStruct1{{.*}} Binding 1 -// SPIRV: OpDecorate %myStruct1{{.*}} DescriptorSet 1 -// SPIRV: OpDecorate %myStruct2{{.*}} Binding 2 -// SPIRV: OpDecorate %myStruct2{{.*}} DescriptorSet 1 -// SPIRV: OpDecorate %texture{{.*}} Binding 3 -// SPIRV: OpDecorate %texture{{.*}} DescriptorSet 1 -// SPIRV: OpDecorate %sampler{{.*}} Binding 4 -// SPIRV: OpDecorate %sampler{{.*}} DescriptorSet 1 +// SPIRV-DAG: OpDecorate %myStruct1{{.*}} Binding 1 +// SPIRV-DAG: OpDecorate %myStruct1{{.*}} DescriptorSet 1 +// SPIRV-DAG: OpDecorate %myStruct2{{.*}} Binding 2 +// SPIRV-DAG: OpDecorate %myStruct2{{.*}} DescriptorSet 1 +// SPIRV-DAG: OpDecorate %texture{{.*}} Binding 3 +// SPIRV-DAG: OpDecorate %texture{{.*}} DescriptorSet 1 +// SPIRV-DAG: OpDecorate %sampler{{.*}} Binding 4 +// SPIRV-DAG: OpDecorate %sampler{{.*}} DescriptorSet 1 // // -// GL-SPIRV: OpDecorate %myStruct1{{.*}} DescriptorSet 1 -// GL-SPIRV: OpDecorate %myStruct1{{.*}} Binding 1 -// GL-SPIRV: OpDecorate %myStruct2{{.*}} DescriptorSet 1 -// GL-SPIRV: OpDecorate %myStruct2{{.*}} Binding 2 -// GL-SPIRV: OpDecorate %texture{{.*}} DescriptorSet 1 -// GL-SPIRV: OpDecorate %texture{{.*}} Binding 3 -// GL-SPIRV: OpDecorate %sampler{{.*}} DescriptorSet 1 -// GL-SPIRV: OpDecorate %sampler{{.*}} Binding 4 +// GL-SPIRV-DAG: OpDecorate %myStruct1{{.*}} DescriptorSet 1 +// GL-SPIRV-DAG: OpDecorate %myStruct1{{.*}} Binding 1 +// GL-SPIRV-DAG: OpDecorate %myStruct2{{.*}} DescriptorSet 1 +// GL-SPIRV-DAG: OpDecorate %myStruct2{{.*}} Binding 2 +// GL-SPIRV-DAG: OpDecorate %texture{{.*}} DescriptorSet 1 +// GL-SPIRV-DAG: OpDecorate %texture{{.*}} Binding 3 +// GL-SPIRV-DAG: OpDecorate %sampler{{.*}} DescriptorSet 1 +// GL-SPIRV-DAG: OpDecorate %sampler{{.*}} Binding 4 diff --git a/tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang b/tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang index fbef718de..55181a383 100644 --- a/tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang +++ b/tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang @@ -1,5 +1,5 @@ //TEST:SIMPLE(filecheck=SPIRV):-target spirv-assembly -emit-spirv-via-glsl -entry fragmentMain -stage fragment -DENABLE_CLAMP -//TEST:SIMPLE(filecheck=SPIRV):-target spirv -entry fragmentMain -stage fragment -DENABLE_CLAMP -O0 +//TEST:SIMPLE(filecheck=SPIRV):-target spirv -entry fragmentMain -stage fragment -DENABLE_CLAMP //DISABLED_TEST:SIMPLE(filecheck=SPIRV):-target spirv-assembly -entry fragmentMain -stage fragment -DENABLE_CLAMP -emit-spirv-directly //DISABLED_TEST:SIMPLE(filecheck=DXIL):-target dxil-assembly -entry fragmentMain -stage fragment @@ -148,41 +148,57 @@ CLAMP( accumulate##ND(r, texture##ND.queryFootprint##COARSE_OR_FINE##GradClamp TEST_2D(Coarse); -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]]{{$}} +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] // HLSL-DAG: NvFootprintCoarse{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] Bias % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] Bias // HLSL-DAG: NvFootprintCoarseBias{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] MinLod % -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] Bias|MinLod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] MinLod -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] Lod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] Bias|MinLod + +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] Lod // HLSL-DAG: NvFootprintCoarseLevel{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] Grad % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] Grad // HLSL-DAG: NvFootprintCoarseGrad{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[TRUE]] Grad|MinLod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[TRUE]] Grad|MinLod TEST_2D(Fine); -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]]{{$}} +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] // HLSL-DAG: NvFootprintFine{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] Bias % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] Bias // HLSL-DAG: NvFootprintFineBias{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] MinLod % -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] Bias|MinLod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] MinLod -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] Lod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] Bias|MinLod + +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] Lod // HLSL-DAG: NvFootprintFineLevel{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] Grad % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] Grad // HLSL-DAG: NvFootprintFineGrad{{.*}}NV_EXTN_TEXTURE_2D -// SPIRV-DAG: OpImageSampleFootprintNV {{.*}} [[FALSE]] Grad|MinLod % +// SPIRV: OpImageSampleFootprintNV +// SPIRV-SAME: [[FALSE]] Grad|MinLod } -- cgit v1.2.3