Slang support for Shader Debugging

Hi,

In 2024.2’s shader debugging feature that is in beta, does it support slang? When I use frame debugging, I can see the GLSL/HLSL (Spirv-Cross) transpiled from slang, but when I try to use shader debugging, all I can see is Spirv disassembly/binary, and SASS, and so I can’t place any breakpoints. I am using vulkan + slang.

Thanks

Hi EiffelOberon,

There are some internal case for tracking the support of slang on Shader Debugger, but I can’t tell/promise any plan.

Actually, you are talking about two different features:

When I use frame debugging, I can see the GLSL/HLSL (Spirv-Cross) transpiled from slang

We are also working on show the slang source code directly when doing frame debugging.

when I try to use shader debugging, all I can see is Spirv disassembly/binary, and SASS, and so I can’t place any breakpoints

Shader Debugger support of slang is another different feature.

By the way, you should be able to set breakpoint on SASS if you set ‘Just-In-Time debug shader recompilation’ to ‘No’.

Thanks
An

1 Like

Thank you for your reply.

I have one more question, and hopefully you can answer this. In GPU Trace Profiler, for vulkan, I noticed that in the vk_raytrace sample, it largely works with ray tracing pipelines showing top stall #1, input dependencies, self instruction mix, etc…

However, when I run the GPU Trace Profiler on my slang ray tracing pipelines, I get a blank window with Flame Graph/Self Instruction Mix/Input Dependencies, etc…, but it works properly with my slang compute pipelines and graphics pipelines.

Is this expected that there’s a difference in what statistics are shown between the different types of pipelines written in slang? I just find it a little odd that the statistics behavior can vary on the same API but different shading languages that get compiled into SPIRV anyway, but perhaps there is a little bit more going on under the hood that I am not aware of.

Thanks again

Hi,

However, when I run the GPU Trace Profiler on my slang ray tracing pipelines, I get a blank window with Flame Graph/Self Instruction Mix/Input Dependencies, etc…, but it works properly with my slang compute pipelines and graphics pipelines.

  • Flame Graph
    • This needs shader source correlation as you can see it needs function info from shader source. We are still working on slang’s shader source correlation support, so ‘blank window’ is some kind of expected.
  • Self Instruction Mix
    • That’s weird, this works based on SASS instructions, if you can see slang’s SASS, it should work. Actually, I have a slang raytracing sample on hand, Self Instruction Mix works fine in my machine.
  • Input Dependencies
    • This is the same as Self Instruction Mix

Thanks
An

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.