Archived

This topic is now archived and is closed to further replies.

OuncleJulien

D3D Shader Debugger?

Recommended Posts

I''m having trouble getting my apps (and the samples) to work the the d3d debugger. When I set a break point it says "Break point will not currently be hit" I have the debug version of directx installed, the directx extensions are installed correctly, I''m debugging in the direct3d debugger, and I have "enable shader debugger" turned on. I don''t get why I can''t set a breakpoint in the shader file. It makes it impossible to write shaders ;/ Does anyone know of any solution to get the D3D Shader Debugger to work? Thanks everyone!

Share this post


Link to post
Share on other sites
The reason you can''t set a break point in your shader is probably because of the flags you used when you created your D3D device. Here''s a quote from the SDK docs:

"When using a HAL device, only vertex shaders created for software vertex processing can be debugged. Pixel shaders cannot be debugged at all. No debugging whatsoever is supported for "pure" HAL devices.
When using a reference device, any vertex or pixel shader may be debugged. Debugging of "pure" reference devices works the same as it does for "non-pure" reference devices."

What this is basically telling you is that to be able to debug all of your shaders (vertex and pixel) you have to be running the REF device. The reason for this is pretty simple once you think about it. When you''re using the GPU to do everything, all of the variables and info that the shaders use is on the GPU. The debugger has no way of getting at that info so that you can see it in your Watch windows or anything. But if you use the REF device, then all that data is on the CPU so the debugger can actually see it.

Go to the SDK docs and look at DirectX Graphics->Tools->Shader Debugger Tool and you''ll see all the steps you need to take to debug your shaders.

Hope this helps,
neneboricua

Share this post


Link to post
Share on other sites