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, Thank you for you reply.

    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.

    I use glslang for creating SPIR-V from HLSL, see "Android studio project with source and shader":

    VkPipelineAndroid_template\app\src\main\shaderSources\compile_hull.cmd

    glslangValidator.exe -V -D -e hMain hs.tesc

    VkPipelineAndroid_template\app\src\main\shaderSources\compile_domain.cmd:

    glslangValidator.exe -V -D -e dMain ds.tese

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

    I think this is a strange solution, Will ARM fix driver's bug for new GPU or drivers ?

    Qualcomm will fix the same problem: developer.qualcomm.com/.../68860

Reply
  • Hi, Thank you for you reply.

    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.

    I use glslang for creating SPIR-V from HLSL, see "Android studio project with source and shader":

    VkPipelineAndroid_template\app\src\main\shaderSources\compile_hull.cmd

    glslangValidator.exe -V -D -e hMain hs.tesc

    VkPipelineAndroid_template\app\src\main\shaderSources\compile_domain.cmd:

    glslangValidator.exe -V -D -e dMain ds.tese

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

    I think this is a strange solution, Will ARM fix driver's bug for new GPU or drivers ?

    Qualcomm will fix the same problem: developer.qualcomm.com/.../68860

Children