Skip to main content
GameDev.net gamedev.net
🔒 Locked

Shaders are never available for debug

Started by pankajsachdeva85 Mar 2, 2012 at 6:13 AM 7 replies 3.5k views
Original Post
pankajsachdeva85
pankajsachdeva85

Hi,

I am trying to debug the shaders using the NVIDIA Parallel Nsight 2.1 but I am unable to do so. As soon as I start debug with Nsight there is a message in Shaders window "Shader Debugger is not available". So, I googled this problem and found this link. I have tried all the options that are discussed into the above thread, still no success.

If any of you guys have any experience of debugging shaders, then please help me with this problem.

Thanks,

Pankaj

Nik02
Nik02
Do you have a two-machine configuration? In order to do live shader debugging on actual hardware, the driver and GPU need to be interrupted and this means that the debugger itself cannot run on the same machine (because it would effectively be stopped too). Hence the need for the second machine to host the debugger.

Do you use D3D? Microsoft's PIX tool lets you debug shaders using the reference device (emulator) and you can inspect and step thru any primitive.
Niko Suni
pankajsachdeva85
pankajsachdeva85
Hi Niko Suni,

Is it necessary to have two separate computers (workstations) or we can do the debugging with a single computer with two graphics cards? BTW, I have a laptop. What would you recommend for the best setup for game development?

Thank You,
Pankaj
MJP
MJP
The docs say that you have to be using a remote debugging session to run the shader debugger.
pankajsachdeva85
pankajsachdeva85

The docs say that you have to be using a remote debugging session to run the shader debugger.




Yes, I have set up the remote debugging session. In those settings I have set the Remote Command as the executable path on my machine and set the Remote Server Name as my computer's name but no success there. Still I see the "Shader Debugger is not available" in shader list.

Thanks,
Pankaj
21st Century Moose
21st Century Moose
That's not "remote" - "remote" means a second machine.
Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls. 
mohitvashistha
mohitvashistha

Hi Niko Suni,

Is it necessary to have two separate computers (workstations) or we can do the debugging with a single computer with two graphics cards? BTW, I have a laptop. What would you recommend for the best setup for game development?

Thank You,
Pankaj



Do you have a optimus enabled card for your laptop. You cannot debug a shader at optimus enabled laptop yet. Requirements are specified here.
Nik02
Nik02
The live shader debugging does require a whole separate machine, because the video system (and probably more) is completely paused on the machine that is being debugged and therefore you couldn't actually use the debugger program on said machine. For an analogy, consider a debug break on an ordinary desktop program - the only thing that a breaked thread responds to is the debugger itself. PIX debugging is a lot easier because the emulator does not need to do any system-wide locks; it is simply an user-mode software module and other running programs do not care if it freezes.
Niko Suni
pankajsachdeva85
pankajsachdeva85
Thank you all I figured out why I wasn't able to debug the shaders. I was using the optimus graphics card and because of which I wasn't able to debug the shaders.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.