Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 28 Jul 1999
Offline Last Active Aug 14 2016 04:05 PM

Posts I've Made

In Topic: Per-Pixel eye vectors for fullscreen quad

06 July 2016 - 12:07 AM

That behaves much more like i'd expect.  Thanks!

In Topic: [D3D12] Ping Pong Rendering

16 May 2016 - 02:57 PM

Huh.  So then what is the difference between a GroupMemoryBarrier and a DeviceMemoryBarrier?  The latter talks about blocking for "device memory accesses", which I took to mean things like RWStructuredBuffers, RWTexture2Ds, etc.

In Topic: [D3D12] Ping Pong Rendering

16 May 2016 - 11:04 AM

I put together a pretty basic set up (three passes, one that writes red, one that writes green, and a blue) and verified that ping-ponging back and forth with the PS method works properly.  I've got something else going on in my original approach that's messing me up.


I'm still wondering why the CS method doesn't work though.  If I have a RWStructuredBuffer that contains all my texture data, and my various threadgroups are sampling from that buffer, shouldn't a call to DeviceMemoryBarrierWithGroupSync sync all the thread groups after writing to the "other" buffer, such that the next iteration of the loop will have a completely filled out buffer as its source data?

In Topic: [D3D12] Compute Shader copy from RWStructuredBuffer to RWTexture2D?

15 May 2016 - 04:25 PM

Well damn if that wasn't the exact right question to ask.  Yes one dispatch, but while looking at it I realized I was calling Dispatch(32, 32, 1), and my CS was declared with [numthreads(16, 16, 1)].  My texture is 256x256 but that would result in a 512x512.  I scaled it back to Dispatch(16, 16, 1) and it works as expected.

Thanks Adam.

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

14 May 2016 - 03:10 PM

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!