AnsweredAssumed Answered

AMD Driver Bug: Vulkan pipeline creation fails with multi entry-point SPIR-V modules

Question asked by crosire on Feb 6, 2020
Latest reply on Apr 30, 2020 by crosire

Attached are two SPIR-V modules (I have more which reproduce this, in case it becomes necessary), that when used to create a graphics pipeline cause vkCreateGraphicsPipelines to fail with a generic "VK_ERROR_OUT_OF_HOST_MEMORY".

These modules succeed validation via spirv-val and work with non-AMD hardware and drivers. On AMD however the aforementioned issue occurs.

 

Also interesting is that while this was discovered on Windows, I have users reporting that it works correctly with the open source amdvlk driver on Linux, but fails there too with the proprietary amdgpu-pro one.

 

I've attached a simple reproducer application which loads one of the modules and attempts to create a pipeline. On AMD it throws a "failed to create graphics pipeline!" exception. (repro_1.exe is built to load the repro_1.spv module, and repro_2.exe the repro_2.spv one, source code is in main.cpp and just a slightly modified copy of the vulkan-tutorial.com code for reproduction purposes)

Attachments

Outcomes