Shader reflection data is not available in NSight
Hi, I am using NSight to debug my DX12 application. When I focus on a draw primitive and look at API inspector->PS, it shows "Shader reflection data is not available" and I can't inspect Shader Resource Views and others. If I debug the MS DX12 sample, the API inspector works fine. Does anyone know why it happens like that and how I can make "shader reflection data" available? thanks.
Hi,
I am using NSight to debug my DX12 application. When I focus on a draw primitive and look at API inspector->PS, it shows "Shader reflection data is not available" and I can't inspect Shader Resource Views and others. If I debug the MS DX12 sample, the API inspector works fine. Does anyone know why it happens like that and how I can make "shader reflection data" available? thanks.

#1
Posted 09/12/2016 10:26 PM   
Hi, Are you using some game engine? Can you see your textures or resources in Nsight->Window->Root Parameters? Shader codes contain some meta data which can be inspect by reflection API, I think you need to check your shader compile logic. Thanks An
Hi,

Are you using some game engine? Can you see your textures or resources in Nsight->Window->Root Parameters?

Shader codes contain some meta data which can be inspect by reflection API, I think you need to check your shader compile logic.

Thanks
An

#2
Posted 09/13/2016 07:39 AM   
I am using lumberyard engine. The shaders are compiled with D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION. Nsight->Window->Root Parameters shows the list of resources when I click on draw event. But the API Inspector doesn't work. thanks.
I am using lumberyard engine. The shaders are compiled with D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION.
Nsight->Window->Root Parameters shows the list of resources when I click on draw event. But the API Inspector doesn't work.

thanks.

#3
Posted 09/13/2016 05:20 PM   
Hi, These flags D3DCOMPILE_DEBUG or D3DCOMPILE_SKIP_OPTIMIZATION are used for Shader Debug of Nsight. I am not a expert of Lumberyard, but you might need to check your shader compile logic for strip data from shader bytecodes as I said in previous post. For example, fxc.exe has a parameter called '/Qstrip_reflect' that will strip reflection data from your shader bytecodes. or the D3DCompiler module of D3D also have some similar function like D3DStripShader(). Thanks An
Hi,

These flags D3DCOMPILE_DEBUG or D3DCOMPILE_SKIP_OPTIMIZATION are used for Shader Debug of Nsight.

I am not a expert of Lumberyard, but you might need to check your shader compile logic for strip data from shader bytecodes as I said in previous post.

For example, fxc.exe has a parameter called '/Qstrip_reflect' that will strip reflection data from your shader bytecodes. or the D3DCompiler module of D3D also have some similar function like D3DStripShader().

Thanks
An

#4
Posted 12/22/2016 10:25 AM   
Scroll To Top

Add Reply