Advertisement

How to handle incoherent memory access in Direct3D 11

Started by January 15, 2018 04:46 AM
2 comments, last by Hodgman 7 years ago

Is Direct3D 11 an api function like glMemoryBarrier in OpenGL? For example, if binds a texture to compute shader, compute shader writes some values to texture, then dispatchCompute, after that, read texture content to CPU side. I know, In OpenGL, we could call glMemoryBarrier before reading to assure that texture all content has been updated by compute shader.

How to handle incoherent memory access in Direct3D 11? Thank you.

As far as I know, memory transaction order is handled by the API itself which is why you don't have memory barriers on the CPU side :) 

Advertisement

Yeah D3D11 is safe in that situation by default. To get the unsafe behaviour of D3D12/Vulkan/GL, you can use the overlapping UAV extension from AGS/NVAPI. 

This topic is closed to new replies.

Advertisement