Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Mali G57 vkCreateGraphicsPipelines crashes with Tessellation shaders

Hi!

I use Tessellation shaders for creating VkPipeline. But during calling vkCreateGraphicsPipelines I got crash

Vulkan driver info: Conformance Version: 1.2.2.0 ID: VK_DRIVER_ID_ARM_PROPRIETARY Name: Mali-G57 MC2 Info: v1.r26p0-01eac0.db14d76a92163ae64c7b9e4d58c437a5

I attached Debug APK

I attached shaders original + spirv (old)

I attached Android Studio project with source and shaders

See VkPipelineAndroid_template\app\src\main\shaderSources

Small test apk

I can provide additional information.

Parents
  • Hi,

    Mali Best Practice is not to have Tessellation shaders (they give bad performance), but in this case there's also likely a bug you're hitting, in the HLSL->DXC->SPIR-V process.  DXC-compiled tessellation shaders don't work on Mali (since R26), they create a problematic pattern.

    A proposed workaround exists: 

    -> round-trip the SPIR-V through GLSL (using SPIRV-Cross) and back to SPIR-V again. 

    There are DXC patterns that SPIRV-Cross can't cope with either, so depends whether you hit those (it didn't work for another developer who hit this issue). In that case it might just need the SPIR-V to be patched.

Reply
  • Hi,

    Mali Best Practice is not to have Tessellation shaders (they give bad performance), but in this case there's also likely a bug you're hitting, in the HLSL->DXC->SPIR-V process.  DXC-compiled tessellation shaders don't work on Mali (since R26), they create a problematic pattern.

    A proposed workaround exists: 

    -> round-trip the SPIR-V through GLSL (using SPIRV-Cross) and back to SPIR-V again. 

    There are DXC patterns that SPIRV-Cross can't cope with either, so depends whether you hit those (it didn't work for another developer who hit this issue). In that case it might just need the SPIR-V to be patched.

Children