summaryrefslogtreecommitdiffstats
path: root/tests/reflection
diff options
context:
space:
mode:
authorDevon <devonrutledge03@gmail.com>2025-03-20 00:38:52 -0600
committerGitHub <noreply@github.com>2025-03-20 06:38:52 +0000
commit30068d75fb97fecc163253fb331daddbb09234e6 (patch)
tree6e1a5b757db538a58c2397de4980618d280783d4 /tests/reflection
parent404e95cdd02830ba0fb215081e826025609c4d14 (diff)
Make image format reflection easier (#6550)
* image format json reflection * format code * use direct include --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Diffstat (limited to 'tests/reflection')
-rw-r--r--tests/reflection/texture-resource-type.slang7
-rw-r--r--tests/reflection/texture-resource-type.slang.expected104
-rw-r--r--tests/reflection/used-parameters.slang.expected16
3 files changed, 108 insertions, 19 deletions
diff --git a/tests/reflection/texture-resource-type.slang b/tests/reflection/texture-resource-type.slang
index 2455ba611..36f7ff8d2 100644
--- a/tests/reflection/texture-resource-type.slang
+++ b/tests/reflection/texture-resource-type.slang
@@ -1,12 +1,13 @@
// texture-resource-type.slang
-// Tests reflection of inner texture type.
+// Tests reflection of inner texture type and formats.
//TEST:REFLECTION:-stage compute -entry main -target hlsl
Texture2D NoParameters;
Texture2D<float> FloatTexture;
Texture2D<float2> FloatTwoTexture;
+Texture2D<float3> FloatThreeTexture;
Texture2D<float4> FloatFourTexture;
Texture2D<int> IntTexture;
Texture2D<int2> IntTwoTexture;
@@ -14,6 +15,10 @@ Texture2D<int4> IntFourTexture;
Texture2D<uint> UintTexture;
Texture2D<uint2> UintTwoTexture;
Texture2D<uint4> UintFourTexture;
+[format("r11f_g11f_b10f")]
+Texture2D R11G11B10Texture;
+[format("rgb10_a2ui")]
+Texture2D<uint3> RGB10_A2_UI_Texture;
[numthreads(1, 1, 1)]
void main(uint3 dispatchThreadID : SV_DispatchThreadID)
diff --git a/tests/reflection/texture-resource-type.slang.expected b/tests/reflection/texture-resource-type.slang.expected
index 48d1f0f79..c318a8330 100644
--- a/tests/reflection/texture-resource-type.slang.expected
+++ b/tests/reflection/texture-resource-type.slang.expected
@@ -49,13 +49,29 @@ standard output = {
}
},
{
- "name": "FloatFourTexture",
+ "name": "FloatThreeTexture",
"binding": {"kind": "shaderResource", "index": 3},
"type": {
"kind": "resource",
"baseShape": "texture2D",
"resultType": {
"kind": "vector",
+ "elementCount": 3,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ }
+ }
+ },
+ {
+ "name": "FloatFourTexture",
+ "binding": {"kind": "shaderResource", "index": 4},
+ "type": {
+ "kind": "resource",
+ "baseShape": "texture2D",
+ "resultType": {
+ "kind": "vector",
"elementCount": 4,
"elementType": {
"kind": "scalar",
@@ -66,7 +82,8 @@ standard output = {
},
{
"name": "IntTexture",
- "binding": {"kind": "shaderResource", "index": 4},
+ "binding": {"kind": "shaderResource", "index": 5},
+ "format": "r32i",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -78,7 +95,8 @@ standard output = {
},
{
"name": "IntTwoTexture",
- "binding": {"kind": "shaderResource", "index": 5},
+ "binding": {"kind": "shaderResource", "index": 6},
+ "format": "rg32i",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -94,7 +112,8 @@ standard output = {
},
{
"name": "IntFourTexture",
- "binding": {"kind": "shaderResource", "index": 6},
+ "binding": {"kind": "shaderResource", "index": 7},
+ "format": "rgba32i",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -110,7 +129,8 @@ standard output = {
},
{
"name": "UintTexture",
- "binding": {"kind": "shaderResource", "index": 7},
+ "binding": {"kind": "shaderResource", "index": 8},
+ "format": "r32ui",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -122,7 +142,8 @@ standard output = {
},
{
"name": "UintTwoTexture",
- "binding": {"kind": "shaderResource", "index": 8},
+ "binding": {"kind": "shaderResource", "index": 9},
+ "format": "rg32ui",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -138,7 +159,25 @@ standard output = {
},
{
"name": "UintFourTexture",
- "binding": {"kind": "shaderResource", "index": 9},
+ "binding": {"kind": "shaderResource", "index": 10},
+ "format": "rgba32ui",
+ "type": {
+ "kind": "resource",
+ "baseShape": "texture2D",
+ "resultType": {
+ "kind": "vector",
+ "elementCount": 4,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "uint32"
+ }
+ }
+ }
+ },
+ {
+ "name": "R11G11B10Texture",
+ "binding": {"kind": "shaderResource", "index": 11},
+ "format": "r11f_g11f_b10f",
"type": {
"kind": "resource",
"baseShape": "texture2D",
@@ -147,6 +186,23 @@ standard output = {
"elementCount": 4,
"elementType": {
"kind": "scalar",
+ "scalarType": "float32"
+ }
+ }
+ }
+ },
+ {
+ "name": "RGB10_A2_UI_Texture",
+ "binding": {"kind": "shaderResource", "index": 12},
+ "format": "rgb10_a2ui",
+ "type": {
+ "kind": "resource",
+ "baseShape": "texture2D",
+ "resultType": {
+ "kind": "vector",
+ "elementCount": 3,
+ "elementType": {
+ "kind": "scalar",
"scalarType": "uint32"
}
}
@@ -186,32 +242,52 @@ standard output = {
"binding": {"kind": "shaderResource", "index": 2, "used": 0}
},
{
- "name": "FloatFourTexture",
+ "name": "FloatThreeTexture",
"binding": {"kind": "shaderResource", "index": 3, "used": 0}
},
{
- "name": "IntTexture",
+ "name": "FloatFourTexture",
"binding": {"kind": "shaderResource", "index": 4, "used": 0}
},
{
+ "name": "IntTexture",
+ "binding": {"kind": "shaderResource", "index": 5, "used": 0},
+ "format": "r32i"
+ },
+ {
"name": "IntTwoTexture",
- "binding": {"kind": "shaderResource", "index": 5, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 6, "used": 0},
+ "format": "rg32i"
},
{
"name": "IntFourTexture",
- "binding": {"kind": "shaderResource", "index": 6, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 7, "used": 0},
+ "format": "rgba32i"
},
{
"name": "UintTexture",
- "binding": {"kind": "shaderResource", "index": 7, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 8, "used": 0},
+ "format": "r32ui"
},
{
"name": "UintTwoTexture",
- "binding": {"kind": "shaderResource", "index": 8, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 9, "used": 0},
+ "format": "rg32ui"
},
{
"name": "UintFourTexture",
- "binding": {"kind": "shaderResource", "index": 9, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 10, "used": 0},
+ "format": "rgba32ui"
+ },
+ {
+ "name": "R11G11B10Texture",
+ "binding": {"kind": "shaderResource", "index": 11, "used": 0},
+ "format": "r11f_g11f_b10f"
+ },
+ {
+ "name": "RGB10_A2_UI_Texture",
+ "binding": {"kind": "shaderResource", "index": 12, "used": 0},
+ "format": "rgb10_a2ui"
}
]
}
diff --git a/tests/reflection/used-parameters.slang.expected b/tests/reflection/used-parameters.slang.expected
index 0a4fba104..59b1ae14d 100644
--- a/tests/reflection/used-parameters.slang.expected
+++ b/tests/reflection/used-parameters.slang.expected
@@ -137,6 +137,7 @@ standard output = {
{
"name": "UsedBuffer",
"binding": {"kind": "shaderResource", "index": 2},
+ "format": "r32ui",
"type": {
"kind": "resource",
"baseShape": "textureBuffer"
@@ -145,6 +146,7 @@ standard output = {
{
"name": "UnusedBuffer",
"binding": {"kind": "shaderResource", "index": 3},
+ "format": "r32ui",
"type": {
"kind": "resource",
"baseShape": "textureBuffer"
@@ -211,6 +213,7 @@ standard output = {
{
"name": "UsedRWBuffer",
"binding": {"kind": "unorderedAccess", "index": 2},
+ "format": "r32ui",
"type": {
"kind": "resource",
"baseShape": "textureBuffer",
@@ -220,6 +223,7 @@ standard output = {
{
"name": "UnusedRWBuffer",
"binding": {"kind": "unorderedAccess", "index": 3},
+ "format": "r32ui",
"type": {
"kind": "resource",
"baseShape": "textureBuffer",
@@ -321,11 +325,13 @@ standard output = {
},
{
"name": "UsedBuffer",
- "binding": {"kind": "shaderResource", "index": 2, "used": 1}
+ "binding": {"kind": "shaderResource", "index": 2, "used": 1},
+ "format": "r32ui"
},
{
"name": "UnusedBuffer",
- "binding": {"kind": "shaderResource", "index": 3, "used": 0}
+ "binding": {"kind": "shaderResource", "index": 3, "used": 0},
+ "format": "r32ui"
},
{
"name": "UsedStructuredBuffer",
@@ -345,11 +351,13 @@ standard output = {
},
{
"name": "UsedRWBuffer",
- "binding": {"kind": "unorderedAccess", "index": 2, "used": 1}
+ "binding": {"kind": "unorderedAccess", "index": 2, "used": 1},
+ "format": "r32ui"
},
{
"name": "UnusedRWBuffer",
- "binding": {"kind": "unorderedAccess", "index": 3, "used": 0}
+ "binding": {"kind": "unorderedAccess", "index": 3, "used": 0},
+ "format": "r32ui"
},
{
"name": "UsedRWStructuredBuffer",