From 5c672cef1f6ac6b5cd6cd71bd47489b7b7331adb Mon Sep 17 00:00:00 2001 From: "Sami Kiminki (NVIDIA)" <235843927+skiminki-nv@users.noreply.github.com> Date: Fri, 10 Oct 2025 19:39:13 +0300 Subject: 8503 wgsl depth texture (#8645) Add built-in type aliases for DepthTexture* and unify Sampler*Shadow Add the following type aliases: - DepthTexture1D, DepthTexture1DArray - DepthTexture2D, DepthTexture2DArray - DepthTexture2DMS, DepthTexture2DMSArray - DepthTexture3D - DepthTextureCube, DepthTextureCubeArray These match with the type aliases for non-depth textures. Also, unify the Sampler*Shadow type aliases with DepthTexture* ones. This adds the following: - Sampler2DMSShadow - Sampler2DMSArrayShadow and removes the Sampler3DArrayShadow type alias. As a side-effect, the descriptions of Sampler*ArrayShadow type aliases are fixed ("texture-sampler for shadow" ==> "texture-sampler array for shadow"). Update the slang tests to use the newly introduced type aliases instead of the custom type aliases that use _Texture<> directly. Add DepthTexture testing in hlsl-intrinsic/texture/texture-intrinsics. Do this by extracting the test logic of computeMain() in a separate function and parametrize it for non-depth/depth texture types. This adds basic coverage for the following types: - DepthTexture1D - DepthTexture2D - DepthTexture3D - DepthTextureCube - DepthTexture1DArray - DepthTexture2DArray - DepthTextureCubeArray Issue #6166 Issue #8503 --- tests/wgsl/texture-gather.slang | 60 +++-------------------------------- tests/wgsl/texture-load.slang | 45 ++------------------------ tests/wgsl/texture-sampler-less.slang | 60 +++-------------------------------- tests/wgsl/texture.slang | 60 +++-------------------------------- 4 files changed, 15 insertions(+), 210 deletions(-) (limited to 'tests/wgsl') diff --git a/tests/wgsl/texture-gather.slang b/tests/wgsl/texture-gather.slang index d0772994e..bb5851159 100644 --- a/tests/wgsl/texture-gather.slang +++ b/tests/wgsl/texture-gather.slang @@ -68,66 +68,14 @@ TextureCubeArray tCubeArray_u32v4; // depth -__generic -typealias Depth2D = _Texture< - float, - __Shape2D, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias Depth2DArray = _Texture< - float, - __Shape2D, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias DepthCube = _Texture< - float, - __ShapeCube, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias DepthCubeArray = _Texture< - float, - __ShapeCube, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - //TEST_INPUT: Texture2D(size=4, content = zero):name d2D -Depth2D d2D; +DepthTexture2D d2D; //TEST_INPUT: TextureCube(size=4, content = zero):name dCube -DepthCube dCube; +DepthTextureCube dCube; //TEST_INPUT: Texture2D(size=4, content = zero, arrayLength=2):name d2DArray -Depth2DArray d2DArray; +DepthTexture2DArray d2DArray; //TEST_INPUT: TextureCube(size=4, content = zero, arrayLength=2):name dCubeArray -DepthCubeArray dCubeArray; +DepthTextureCubeArray dCubeArray; //TEST_INPUT: Sampler:name samplerState SamplerState samplerState; diff --git a/tests/wgsl/texture-load.slang b/tests/wgsl/texture-load.slang index 9be7cd2eb..f03a17443 100644 --- a/tests/wgsl/texture-load.slang +++ b/tests/wgsl/texture-load.slang @@ -80,51 +80,12 @@ Texture2DArray t2DArray_u32v4; // depth -__generic -typealias Depth2D = _Texture< - float, - __Shape2D, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias Depth2DMS = _Texture< - float, - __Shape2D, - 0, // isArray - 1, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias Depth2DArray = _Texture< - float, - __Shape2D, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - //TEST_INPUT: Texture2D(size=4, content = zero):name d2D -Depth2D d2D; +DepthTexture2D d2D; //TEST_INPUT: Texture2D(size=4, content = zero):name d2DMS -Depth2DMS d2DMS; +DepthTexture2DMS d2DMS; //TEST_INPUT: Texture2D(size=4, content = zero, arrayLength=2):name d2DArray -Depth2DArray d2DArray; +DepthTexture2DArray d2DArray; bool TEST_textureLoad( diff --git a/tests/wgsl/texture-sampler-less.slang b/tests/wgsl/texture-sampler-less.slang index 7868a9bcf..7048714b8 100644 --- a/tests/wgsl/texture-sampler-less.slang +++ b/tests/wgsl/texture-sampler-less.slang @@ -43,66 +43,14 @@ Sampler2DArray t2DArray_f32v4; //TEST_INPUT: TextureSamplerCube(size=4, content = zero, arrayLength=2):name tCubeArray_f32v4 SamplerCubeArray tCubeArray_f32v4; -__generic -typealias CombinedDepth2d = _Texture< - T, - __Shape2D, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 1, // isCombined - format ->; - -__generic -typealias CombinedDepth2d_array = _Texture< - T, - __Shape2D, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 1, // isCombined - format ->; - -__generic -typealias CombinedDepthcube = _Texture< - T, - __ShapeCube, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 1, // isCombined - format ->; - -__generic -typealias CombinedDepthcube_array = _Texture< - T, - __ShapeCube, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 1, // isCombined - format ->; - //TEST_INPUT: TextureSampler2D(size=4, content = zero):name d2D -CombinedDepth2d d2D; +Sampler2DShadow d2D; //TEST_INPUT: TextureSamplerCube(size=4, content = zero):name dCube -CombinedDepthcube dCube; +SamplerCubeShadow dCube; //TEST_INPUT: TextureSampler2D(size=4, content = zero, arrayLength=2):name d2DArray -CombinedDepth2d_array d2DArray; +Sampler2DArrayShadow d2DArray; //TEST_INPUT: TextureSamplerCube(size=4, content = zero, arrayLength=2):name dCubeArray -CombinedDepthcube_array dCubeArray; +SamplerCubeArrayShadow dCubeArray; //TEST_INPUT: ubuffer(data=[0], stride=4):out,name outputBuffer RWStructuredBuffer outputBuffer; diff --git a/tests/wgsl/texture.slang b/tests/wgsl/texture.slang index 1a14fec32..b49f14e07 100644 --- a/tests/wgsl/texture.slang +++ b/tests/wgsl/texture.slang @@ -35,66 +35,14 @@ Texture2DArray t2DArray_f32v4; //TEST_INPUT: TextureCube(size=4, content = zero, arrayLength=2):name tCubeArray_f32v4 TextureCubeArray tCubeArray_f32v4; -__generic -typealias depth2d = _Texture< - T, - __Shape2D, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias depth2d_array = _Texture< - T, - __Shape2D, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias depthcube = _Texture< - T, - __ShapeCube, - 0, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - -__generic -typealias depthcube_array = _Texture< - T, - __ShapeCube, - 1, // isArray - 0, // isMS - sampleCount, - 0, // access - 1, // isShadow - 0, // isCombined - format ->; - //TEST_INPUT: Texture2D(size=4, content = zero):name d2D -depth2d d2D; +DepthTexture2D d2D; //TEST_INPUT: TextureCube(size=4, content = zero):name dCube -depthcube dCube; +DepthTextureCube dCube; //TEST_INPUT: Texture2D(size=4, content = zero, arrayLength=2):name d2DArray -depth2d_array d2DArray; +DepthTexture2DArray d2DArray; //TEST_INPUT: TextureCube(size=4, content = zero, arrayLength=2):name dCubeArray -depthcube_array dCubeArray; +DepthTextureCubeArray dCubeArray; //TEST_INPUT: Sampler:name samplerState SamplerState samplerState; -- cgit v1.2.3