I've found that with some shaders, the ID3D11Device::CreateComputeShader function causes an access violation when the ID3D11Device in question is created with an AMD adapter. I've been able to repro this consistently and have put together a project to demonstrate the problem, linked here: https://bitbucket.org/bugreports00/dx11bugreport/src/master/
-the AV doesn't occur on the Microsoft Basic Render Driver.
-the AV can be reproduced with other shaders that use a similar nested if-pattern like the one found in the above project.
-the AV doesn't occur when using the DX12 api equivalent (WARP, AMD adapter, or otherwise).
The resolution of this error is of particular interest to me, as similar shaders of mine using this nested-if pattern have outperformed other patterns on DX12.
I'd greatly appreciate it if you could forward this to all relevant parties. Thank you!
Needed to look up what "D3D11Device " is. Found this from Microsoft Docs concerning that device: ID3D11Device (d3d11.h) | Microsoft Docs
You didn't mention what Windows version you are running nor any type of computer setup information.
Otherwise you can open an official AMD Support Service Request Ticket from here: Online Service Request | AMD .