Jump to content

  • Log In with Google      Sign In   
  • Create Account


[VS2012] Debugging pixel shader


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 TiagoCosta   Crossbones+   -  Reputation: 1913

Like
1Likes
Like

Posted 18 May 2013 - 04:34 AM

Hi,

 

I'm trying to debug a pixel shader in VS2012 but I can't access the pixel history because "This draw call is using system-value semantics and interferes with pixel history computation"

 

The vertex shader generates a fullscreen triangle using SV_VertexID...

 

Is it impossible to debug pixel shaders associated with vertex shaders that use SV_VertexID?

 

Thanks


Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

Sponsor:

#2 Jason Z   Crossbones+   -  Reputation: 4846

Like
2Likes
Like

Posted 23 May 2013 - 08:11 PM

Hi Tiago,

 

I found out that it is indeed not possible to do the pixel history when a pipeline configuration uses SV_InstanceID, SV_PrimitiveID, or SV_VertexID.  This is due to the fact that these are generated on the GPU rather than by the driver, complicating the ability to recreate the pixel history.  Apparently PIX had the same issue, although nobody was sure if it has been documented prior to this.

 

That's probably not the answer you wanted to hear, but at least you know what to expect in these three cases now.  I hope that helps...



#3 TiagoCosta   Crossbones+   -  Reputation: 1913

Like
0Likes
Like

Posted 24 May 2013 - 12:43 PM

Thanks for the answer.

 

I'll just use CPU generated fullscreen triangles in debug builds.

 

In PIX there was an warning (or error) message but it was possible to debug pixel shaders.


Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

#4 Jason Z   Crossbones+   -  Reputation: 4846

Like
0Likes
Like

Posted 30 May 2013 - 04:45 AM

You can still debug pixel shaders, but you have to select them from the pipeline view.  The difference is that you can't select a specific primitive to debug - the debugger will just pick the first invocation.  That doesn't give you the granularity in debugging, but it will give you a chance to see your shader executing at least on one invocation so you can see how it is behaving.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS