I am using Nsight 3.0 (build 3.0.0.13027) with Visual Studio 2010. I am using the release candidate version because it allows shader debugging locally with a single GPU.
According to the documentation, all I have to do to be able to debug my shaders is to compile them "using D3DXCompileShader, D3DX10CompileFromFile, etc. " with the flags D3DXSHADER_PREFER_FLOW_CONTROL | D3DXSHADER_DEBUG | D3DXSHADER_SKIPOPTIMIZATION. Since I am using DirectX 11, I am compiling my shaders with D3DX11CompileFromFileA as follows:
DWORD dwShaderFlags = D3DCOMPILE_ENABLE_STRICTNESS;
dwShaderFlags |= D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION | D3DCOMPILE_WARNINGS_ARE_ERRORS |
D3DXSHADER_DEBUG | D3DXSHADER_SKIPOPTIMIZATION | D3DXSHADER_PREFER_FLOW_CONTROL;
D3DX11CompileFromFileA(
fileName,
defines,
nullptr,
entryPoint,
shaderModel,
dwShaderFlags,
0,
nullptr,
ppBlobOut,
&pErrorBlob,
nullptr
);
Everything compiles and runs, but, when in Graphics Debugging mode, I cannot make my shaders appear in the Graphics Focus Picker after selecting them from the Shaders window.
Any help would be appreciated. Thx in advance.