diff options
| author | Jay Kwak <82421531+jkwak-work@users.noreply.github.com> | 2025-07-11 13:47:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-11 20:47:33 +0000 |
| commit | 1dc32b8bf8dd14e607d306c160b1bedf46067910 (patch) | |
| tree | a38800f7b0cf65c0bdcb554c4031d2617478d676 /tests/spirv/debug-variable-scope.slang | |
| parent | e3afef145e67e74e054407606320be0e42a6aa63 (diff) | |
Add DebugGlobalVariable instructions to SPIR-V output (#7686)
* Add DebugGlobalVariable instructions to SPIR-V output
Implements generation of DebugGlobalVariable instructions for global variables
like Texture2D and SamplerState in SPIR-V debug information output. Adds debug
type support for texture and sampler types using DebugTypeComposite.
* Handle two more types for DebugGlobalVariable
kIROp_RaytracingAccelerationStructureType and
kIROp_SamplerComparisonStateType had to be handled in
`emitDebugTypeImpl()`
* Fix format
* Refactor debug type emission to reduce duplication
Use IRSamplerStateTypeBase type check and fallback pattern instead of
separate cases for each opcode type.
* Fix compiler warning
* Simplify `emitDebugTypeImpl()` more
Diffstat (limited to 'tests/spirv/debug-variable-scope.slang')
| -rw-r--r-- | tests/spirv/debug-variable-scope.slang | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/spirv/debug-variable-scope.slang b/tests/spirv/debug-variable-scope.slang new file mode 100644 index 000000000..946c1a08b --- /dev/null +++ b/tests/spirv/debug-variable-scope.slang @@ -0,0 +1,23 @@ +//TEST:SIMPLE(filecheck=CHECK):-target spirv-asm -entry main -stage fragment -g2 -emit-spirv-directly + +Texture2D testTex : register(t0); +SamplerState testSampler : register(s0); + +struct PSIn +{ + float4 pos : SV_Position; +}; + +float4 main(PSIn input) : SV_TARGET +{ + uint4 testPos = input.pos; + float bias = -1.0; + float2 tc = testPos.xy / 32.0; + float4 colVal = testTex.SampleBias(testSampler, tc, bias); + return float4(colVal.xyz, 1.0); +} + +// CHECK: %[[COMPILATION_UNIT_ID:[0-9]+]] = OpExtInst %void {{.*}} DebugCompilationUnit +// CHECK: %[[FUNC_ID:[0-9]+]] = OpExtInst %void {{.*}} DebugFunction %{{[0-9]+}} +// CHECK: DebugLocalVariable %{{[0-9]+}} %{{[0-9]+}} %{{[0-9]+}} %{{.*}} %{{.*}} %[[FUNC_ID]] +// CHECK: DebugGlobalVariable %{{[0-9]+}} %{{[0-9]+}} %{{[0-9]+}} %{{.*}} %{{.*}} %[[COMPILATION_UNIT_ID]] |
