• Advertisement
Sign in to follow this  

[D3D12] MRT only updates the first texture (kinda)?

This topic is 712 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a weird situation.  I am trying to use a single shader to write to two textures simultaneously.  These textures are both dynamic; I pass in a time value and the textures change based on that.  I've ensured that my call to OMSetRenderTargets is correct, and indeed when I look at the first texture I can see it changing as I'd expect.  When I look at the second texture, it doesn't change.  But if I set a breakpoint, let the code stop, clear the breakpoint and continue running... I see that the second texture has changed.

 

It seems like when I run I just see the first iteration of the second texture.  Then when I break, I give the GPU time to complete it's work, and running again shows me that updated texture.  But it's static again, until I do another break, etc.  Both textures have ResourceBarrier Transitions inserted into the command list before being used as render targets or pixel shader resources.

 

I'm at a loss for how to proceed...

Share this post


Link to post
Share on other sites
Advertisement

Have you tried WARP?

Are you drawing the textures to the screen after they've been rendered to? Is that what you mean when you say you're "looking" at them?

Share this post


Link to post
Share on other sites

I get "The specified device interface or feature level is not supported on this system" when I try to use a WARP device.

 

I am drawing the texture to a quad, yes.

Share this post


Link to post
Share on other sites

Yes!  Which led me to realize that I was creating the Pipeline State with 1 Render Target.  That is some sharp remote debugging sir.  Thank you!

Edited by Funkymunky

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement