vulkan failed to create pipeline on mali devices after using spirv shaders compiled by DXC

I'm working on a UE4 project. By default UE4 compile its shader to spirv binary by hlslcc + glslang, but in this way the generated spirv shader is suboptimal so I want to use shaderconductor(DXC) to compile hlsl directly to spirv (just like what UE5 does: Unreal Engine 5.0 Release Notes | Unreal Engine 5.0 Documentation)

After I use DXC, the project works pretty well on adreno devices, but it will crash on mali deviecs. I have tried these devices, the all failed to create pipeline (both compute ppl and graphics ppl) with VK_ERROR_INITIALIZATION_FAILED:

The khr spec states that create pipeline should only return the following errors:

and also adreno devices works well, so I guess this might be mali driver bugs.

I have no clue what's goes wrong with generated spirv binary and it seems I can't get enough error information from vulkan, so I need to ask help from mali experts.

I can send you the apk that can produce the failure so if you are interested please leave me a email address. Thanks in advance!

Parents Reply Children
No data