Jump to content
  • Advertisement
xhcao

DX11 How to handle incoherent memory access in Direct3D 11

Recommended Posts

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.

Share this post


Link to post
Share on other sites
Advertisement

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 :) 

Share this post


Link to post
Share on other sites

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. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!