"NVVM compilation failed: 1" errors on Vulkan graphics pipeline creation

Hi,
Let me know if there is a better forum for this bug report, but we’re getting pipeline compilation errors with some shaders on latest and beta drivers on Windows. Can you provide some feedback if that can be fixed with a driver update, or if we can apply any workarounds to avoid the failures?

This happens on different nvidia systems, but the details for the one I’m currently using is:

nvidia-smi

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.99                 Driver Version: 555.99         CUDA Version: 12.5     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA T1200 Laptop GPU      WDDM  |   00000000:01:00.0  On |                  N/A |
| N/A   47C    P8              5W /   60W |    1440MiB /   4096MiB |      2%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

I’ll add the api dump for the vulkan call and shader files in the comments.

api dump for vkCreateGraphicsPipelines call:

vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines) returns VkResult VK_ERROR_UNKNOWN (-13):
    device:                         VkDevice = 00000160C200E880
    pipelineCache:                  VkPipelineCache = 00000160A39B7C00
    createInfoCount:                uint32_t = 1
    pCreateInfos:                   const VkGraphicsPipelineCreateInfo* = 00000160C964D9D8
        pCreateInfos[0]:                const VkGraphicsPipelineCreateInfo = 00000160C964D9D8:
            sType:                          VkStructureType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO (28)
            pNext:                          const void* = NULL
            flags:                          VkPipelineCreateFlags = 0
            stageCount:                     uint32_t = 2
            pStages:                        const VkPipelineShaderStageCreateInfo* = 00000160C964DA68
                pStages[0]:                     const VkPipelineShaderStageCreateInfo = 00000160C964DA68:
                    sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO (18)
                    pNext:                          const void* = NULL
                    flags:                          VkPipelineShaderStageCreateFlags = 0
                    stage:                          VkShaderStageFlagBits = 1 (VK_SHADER_STAGE_VERTEX_BIT)
                    module:                         VkShaderModule = 0000016134B5FC20
                    pName:                          const char* = "main"
                    pSpecializationInfo:            const VkSpecializationInfo* = 00000160C964DAD0:
                        mapEntryCount:                  uint32_t = 2
                        pMapEntries:                    const VkSpecializationMapEntry* = 00000160C964DAF0
                            pMapEntries[0]:                 const VkSpecializationMapEntry = 00000160C964DAF0:
                                constantID:                     uint32_t = 0
                                offset:                         uint32_t = 0
                                size:                           size_t = 4
                            pMapEntries[1]:                 const VkSpecializationMapEntry = 00000160C964DB00:
                                constantID:                     uint32_t = 1
                                offset:                         uint32_t = 4
                                size:                           size_t = 4
                        dataSize:                       size_t = 8
                        pData:                          const void* = 00000160C964DB10
                pStages[1]:                     const VkPipelineShaderStageCreateInfo = 00000160C964DA98:
                    sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO (18)
                    pNext:                          const void* = NULL
                    flags:                          VkPipelineShaderStageCreateFlags = 0
                    stage:                          VkShaderStageFlagBits = 16 (VK_SHADER_STAGE_FRAGMENT_BIT)
                    module:                         VkShaderModule = 0000016134B60520
                    pName:                          const char* = "main"
                    pSpecializationInfo:            const VkSpecializationInfo* = 00000160C964DB20:
                        mapEntryCount:                  uint32_t = 2
                        pMapEntries:                    const VkSpecializationMapEntry* = 00000160C964DB40
                            pMapEntries[0]:                 const VkSpecializationMapEntry = 00000160C964DB40:
                                constantID:                     uint32_t = 0
                                offset:                         uint32_t = 0
                                size:                           size_t = 4
                            pMapEntries[1]:                 const VkSpecializationMapEntry = 00000160C964DB50:
                                constantID:                     uint32_t = 1
                                offset:                         uint32_t = 4
                                size:                           size_t = 4
                        dataSize:                       size_t = 8
                        pData:                          const void* = 00000160C964DB60
            pVertexInputState:              const VkPipelineVertexInputStateCreateInfo* = 00000160C964DB68:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO (19)
                pNext:                          const void* = NULL
                flags:                          VkPipelineVertexInputStateCreateFlags = 0
                vertexBindingDescriptionCount:  uint32_t = 2
                pVertexBindingDescriptions:     const VkVertexInputBindingDescription* = 00000160C964DB98
                    pVertexBindingDescriptions[0]:  const VkVertexInputBindingDescription = 00000160C964DB98:
                        binding:                        uint32_t = 0
                        stride:                         uint32_t = 36
                        inputRate:                      VkVertexInputRate = VK_VERTEX_INPUT_RATE_VERTEX (0)
                    pVertexBindingDescriptions[1]:  const VkVertexInputBindingDescription = 00000160C964DBA4:
                        binding:                        uint32_t = 3
                        stride:                         uint32_t = 36
                        inputRate:                      VkVertexInputRate = VK_VERTEX_INPUT_RATE_VERTEX (0)
                vertexAttributeDescriptionCount: uint32_t = 2
                pVertexAttributeDescriptions:   const VkVertexInputAttributeDescription* = 00000160C964DBB0
                    pVertexAttributeDescriptions[0]: const VkVertexInputAttributeDescription = 00000160C964DBB0:
                        location:                       uint32_t = 0
                        binding:                        uint32_t = 0
                        format:                         VkFormat = VK_FORMAT_R32G32B32_SFLOAT (106)
                        offset:                         uint32_t = 0
                    pVertexAttributeDescriptions[1]: const VkVertexInputAttributeDescription = 00000160C964DBC0:
                        location:                       uint32_t = 3
                        binding:                        uint32_t = 3
                        format:                         VkFormat = VK_FORMAT_R32G32_SFLOAT (103)
                        offset:                         uint32_t = 0
            pInputAssemblyState:            const VkPipelineInputAssemblyStateCreateInfo* = 00000160C964DBD0:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO (20)
                pNext:                          const void* = NULL
                flags:                          VkPipelineInputAssemblyStateCreateFlags = 0
                topology:                       VkPrimitiveTopology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST (3)
                primitiveRestartEnable:         VkBool32 = 0
            pTessellationState:             const VkPipelineTessellationStateCreateInfo* = NULL
            pViewportState:                 const VkPipelineViewportStateCreateInfo* = 00000160C964DBF0:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO (22)
                pNext:                          const void* = NULL
                flags:                          VkPipelineViewportStateCreateFlags = 0
                viewportCount:                  uint32_t = 1
                pViewports:                     const VkViewport* = UNUSED
                scissorCount:                   uint32_t = 1
                pScissors:                      const VkRect2D* = UNUSED
            pRasterizationState:            const VkPipelineRasterizationStateCreateInfo* = 00000160C964DC20:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO (23)
                pNext:                          const void* = VkPipelineRasterizationLineStateCreateInfoKHR
                flags:                          VkPipelineRasterizationStateCreateFlags = 0
                depthClampEnable:               VkBool32 = 0
                rasterizerDiscardEnable:        VkBool32 = 0
                polygonMode:                    VkPolygonMode = VK_POLYGON_MODE_FILL (0)
                cullMode:                       VkCullModeFlags = 0 (VK_CULL_MODE_NONE)
                frontFace:                      VkFrontFace = VK_FRONT_FACE_CLOCKWISE (1)
                depthBiasEnable:                VkBool32 = 0
                depthBiasConstantFactor:        float = 0
                depthBiasClamp:                 float = 0
                depthBiasSlopeFactor:           float = 0
                lineWidth:                      float = 0
            pNext:                          VkPipelineRasterizationLineStateCreateInfoKHR = 00000160C964DC68:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR (1000259001)
                pNext:                          const void* = VkPipelineRasterizationProvokingVertexStateCreateInfoEXT
                lineRasterizationMode:          VkLineRasterizationModeKHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR (2)
                stippledLineEnable:             VkBool32 = 0
                lineStippleFactor:              uint32_t = 0
                lineStipplePattern:             uint16_t = 0
            pNext:                          VkPipelineRasterizationProvokingVertexStateCreateInfoEXT = 00000160C964DC90:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT (1000254001)
                pNext:                          const void* = VkPipelineRasterizationStateStreamCreateInfoEXT
                provokingVertexMode:            VkProvokingVertexModeEXT = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT (1)
            pNext:                          VkPipelineRasterizationStateStreamCreateInfoEXT = 00000160C964DCB0:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT (1000028002)
                pNext:                          const void* = NULL
                flags:                          VkPipelineRasterizationStateStreamCreateFlagsEXT = 0
                rasterizationStream:            uint32_t = 0
            pMultisampleState:              const VkPipelineMultisampleStateCreateInfo* = 00000160C964DCC8:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO (24)
                pNext:                          const void* = NULL
                flags:                          VkPipelineMultisampleStateCreateFlags = 0
                rasterizationSamples:           VkSampleCountFlagBits = 1 (VK_SAMPLE_COUNT_1_BIT)
                sampleShadingEnable:            VkBool32 = 0
                minSampleShading:               float = 1
                pSampleMask:                    const VkSampleMask* = 00000160C964DCF8
                    pSampleMask[0]:                 const VkSampleMask = 65535
                alphaToCoverageEnable:          VkBool32 = 0
                alphaToOneEnable:               VkBool32 = 0
            pDepthStencilState:             const VkPipelineDepthStencilStateCreateInfo* = 00000160C964DD00:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO (25)
                pNext:                          const void* = NULL
                flags:                          VkPipelineDepthStencilStateCreateFlags = 0
                depthTestEnable:                VkBool32 = 1
                depthWriteEnable:               VkBool32 = 0
                depthCompareOp:                 VkCompareOp = VK_COMPARE_OP_GREATER_OR_EQUAL (6)
                depthBoundsTestEnable:          VkBool32 = 0
                stencilTestEnable:              VkBool32 = 0
                front:                          VkStencilOpState = 00000160C964DD28:
                    failOp:                         VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    passOp:                         VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    depthFailOp:                    VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    compareOp:                      VkCompareOp = VK_COMPARE_OP_ALWAYS (7)
                    compareMask:                    uint32_t = 0
                    writeMask:                      uint32_t = 0
                    reference:                      uint32_t = 0
                back:                           VkStencilOpState = 00000160C964DD44:
                    failOp:                         VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    passOp:                         VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    depthFailOp:                    VkStencilOp = VK_STENCIL_OP_KEEP (0)
                    compareOp:                      VkCompareOp = VK_COMPARE_OP_ALWAYS (7)
                    compareMask:                    uint32_t = 0
                    writeMask:                      uint32_t = 0
                    reference:                      uint32_t = 0
                minDepthBounds:                 float = 0
                maxDepthBounds:                 float = 0
            pColorBlendState:               const VkPipelineColorBlendStateCreateInfo* = 00000160C964DD68:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO (26)
                pNext:                          const void* = NULL
                flags:                          VkPipelineColorBlendStateCreateFlags = 0
                logicOpEnable:                  VkBool32 = 0
                logicOp:                        VkLogicOp = VK_LOGIC_OP_COPY (3)
                attachmentCount:                uint32_t = 1
                pAttachments:                   const VkPipelineColorBlendAttachmentState* = 00000160C964DDA0
                    pAttachments[0]:                const VkPipelineColorBlendAttachmentState = 00000160C964DDA0:
                        blendEnable:                    VkBool32 = 1
                        srcColorBlendFactor:            VkBlendFactor = VK_BLEND_FACTOR_ONE (1)
                        dstColorBlendFactor:            VkBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA (7)
                        colorBlendOp:                   VkBlendOp = VK_BLEND_OP_ADD (0)
                        srcAlphaBlendFactor:            VkBlendFactor = VK_BLEND_FACTOR_ONE (1)
                        dstAlphaBlendFactor:            VkBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA (7)
                        alphaBlendOp:                   VkBlendOp = VK_BLEND_OP_ADD (0)
                        colorWriteMask:                 VkColorComponentFlags = 15 (VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT)
                blendConstants:                 float[4] = 00000160C964DD90
                    blendConstants[0]:              float = 0
                    blendConstants[1]:              float = 0
                    blendConstants[2]:              float = 0
                    blendConstants[3]:              float = 0
            pDynamicState:                  const VkPipelineDynamicStateCreateInfo* = 00000160C964DDC0:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO (27)
                pNext:                          const void* = NULL
                flags:                          VkPipelineDynamicStateCreateFlags = 0
                dynamicStateCount:              uint32_t = 9
                pDynamicStates:                 const VkDynamicState* = 00000160C964DDE0
                    pDynamicStates[0]:              const VkDynamicState = VK_DYNAMIC_STATE_VIEWPORT (0)
                    pDynamicStates[1]:              const VkDynamicState = VK_DYNAMIC_STATE_SCISSOR (1)
                    pDynamicStates[2]:              const VkDynamicState = VK_DYNAMIC_STATE_LINE_WIDTH (2)
                    pDynamicStates[3]:              const VkDynamicState = VK_DYNAMIC_STATE_DEPTH_BIAS (3)
                    pDynamicStates[4]:              const VkDynamicState = VK_DYNAMIC_STATE_DEPTH_BOUNDS (5)
                    pDynamicStates[5]:              const VkDynamicState = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK (6)
                    pDynamicStates[6]:              const VkDynamicState = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK (7)
                    pDynamicStates[7]:              const VkDynamicState = VK_DYNAMIC_STATE_STENCIL_REFERENCE (8)
                    pDynamicStates[8]:              const VkDynamicState = VK_DYNAMIC_STATE_BLEND_CONSTANTS (4)
            layout:                         VkPipelineLayout = 00000160FF4C7380
            renderPass:                     VkRenderPass = 00000160C8E4C7C0
            subpass:                        uint32_t = 0
            basePipelineHandle:             VkPipeline = 0000000000000000
            basePipelineIndex:              int32_t = 0
    pAllocator:                     const VkAllocationCallbacks* = NULL
    pPipelines:                     VkPipeline* = 00000160C964DE08
        pPipelines[0]:                  VkPipeline = 0000000000000000

I don’t see a way to attach binary files, let me know you need raw spv files and there is a way to send them to you, but here is VS and PS glsl files converted using spirv-cross:

#version 320 es

layout(constant_id = 0) const bool _63 = false;

struct _66
{
    mat4 _m0;
    mat3 _m1;
    int _m2;
    int _m3;
    int _m4;
    float _m5;
    vec4 _m6[8];
};

struct _185
{
    vec2 _m0;
    vec4 _m1;
    vec4 _m2;
};

layout(set = 2, binding = 0, std140) uniform _51_70
{
    _66 _m0[64];
} _70;

layout(set = 2, binding = 1, std140) uniform _52_80
{
    mat4 _m0;
    mat4 _m1;
    mat4 _m2;
    mat4 _m3;
    mat4 _m4[4];
    mat4 _m5;
    mat4 _m6;
    vec4 _m7;
    vec2 _m8;
    float _m9;
    float _m10;
    vec4 _m11;
    vec4 _m12;
    vec2 _m13;
    vec2 _m14;
    mediump float _m15;
    mediump float _m16;
    mediump vec2 _m17;
    float _m18;
    float _m19;
    float _m20;
    float _m21;
    mediump float _m22;
    mediump float _m23;
    mediump float _m24;
    mediump float _m25;
    mediump vec4 _m26;
    mediump uvec3 _m27;
    mediump int _m28;
    mediump vec2 _m29;
    mediump float _m30;
    mediump float _m31;
    mediump vec3 _m32[9];
    vec3 _m33;
    mediump float _m34;
    mediump vec4 _m35;
    mediump vec4 _m36;
    vec2 _m37;
    mediump int _m38;
    mediump float _m39;
    vec4 _m40;
    mediump int _m41;
    mediump float _m42;
    vec2 _m43;
    mediump float _m44;
    mediump float _m45;
    mediump float _m46;
    mediump uint _m47;
    vec3 _m48;
    float _m49;
    mediump float _m50;
    uint _m51;
    float _m52;
    float _m53;
    mediump vec3 _m54;
    mediump float _m55;
    float _m56;
    mediump float _m57;
    float _m58;
    float _m59;
    mat3 _m60;
    mat4 _m61;
    mat4 _m62;
    mediump float _m63;
    mediump float _m64;
    mediump float _m65;
    mediump float _m66;
    vec4 _m67[4];
    mediump int _m68;
    mediump float _m69;
    mediump float _m70;
    mediump float _m71;
    mediump vec4 _m72[40];
} _80;

layout(set = 2, binding = 2, std140) uniform _53_82
{
    mediump mat3 _m0;
    mediump float _m1;
    mediump float _m2;
    uint _m3;
    mediump vec4 _m4;
    mediump vec2 _m5;
    mediump float _m6;
    mediump float _m7;
    mediump vec2 _m8;
    mediump vec2 _m9;
    mediump mat3 _m10;
    uint _m11;
    mediump vec3 _m12;
    mediump mat4 _m13;
} _82;

layout(push_constant, std430) uniform _35_100
{
    uvec2 _m0;
    vec2 _m1;
    uint _m2;
    uint _m3;
    uint _m4;
    uint _m5;
} _100;

layout(location = 0) in vec4 _54;
layout(location = 3) in vec2 _55;
layout(location = 4) flat out int _56;
layout(location = 3) out vec2 _57;
layout(location = 0) out vec4 _58;
layout(location = 1) out vec4 _59;
layout(location = 2) out vec4 _60;
int _88;
mat4 _90;
mat3 _92;
int _93;
int _94;
int _95;
float _97;
vec4 _42;

void _102()
{
    int _106 = _88;
    _90 = _70._m0[_106]._m0;
    _92 = _70._m0[_106]._m1;
    _93 = _70._m0[_106]._m2;
    _94 = _70._m0[_106]._m3;
    _95 = _70._m0[_106]._m4;
    _97 = _70._m0[_106]._m5;
}

mat4 _135()
{
    return _90;
}

vec4 _139()
{
    vec4 _143 = _54;
    return _143;
}

vec4 _148(mat4 _149, vec3 _150)
{
    return (_149[0u] * _150.x) + ((_149[1u] * _150.y) + ((_149[2u] * _150.z) + _149[3u]));
}

vec4 _173()
{
    mat4 _176 = _135();
    vec3 _179 = _139().xyz;
    mat4 _180 = _176;
    vec3 _182 = _179;
    return _148(_180, _182);
}

void _188(inout _185 _189)
{
    _189._m0 = vec2(_55.x, 1.0 - _55.y);
    _189._m1 = vec4(0.0);
    _189._m2 = _173();
}

vec3 _206(mat4 _207, vec3 _208)
{
    mat4 _210 = _207;
    vec3 _212 = _208;
    vec3 _216 = _148(_210, _212).xyz;
    return _216;
}

void _218(inout _185 _219)
{
    if (_82._m11 != 0u)
    {
        mat4 _231 = _82._m13;
        vec3 _234 = _139().xyz;
        mat4 _235 = _231;
        vec3 _237 = _234;
        _219._m1 = vec4(_206(_235, _237), 0.0);
    }
}

mat4 _246()
{
    return _80._m4[0u];
}

vec4 _251(_185 _252)
{
    return _252._m2;
}

vec4 _22(vec4 _257)
{
    uint _266 = _100._m3;
    mediump uint mp_copy_266 = _266;
    return vec4(mix(_257.xy, _257.yx, bvec2(_63)) * unpackSnorm4x8(mp_copy_266).zw, (((_100._m5 >> 20u) & 1u) != 0u) ? ((_257.z + _257.w) * 0.5) : _257.z, _257.w);
}

void main()
{
    _56 = gl_InstanceIndex;
    _88 = _56;
    _102();
    _185 _294;
    _185 _295 = _294;
    _188(_295);
    _294 = _295;
    _185 _300 = _294;
    _185 _302 = _300;
    _185 _303 = _302;
    _218(_303);
    _302 = _303;
    _300 = _302;
    _57 = _300._m0;
    _58 = _300._m1;
    _59.x = _300._m2.x;
    _59.y = _300._m2.y;
    _59.z = _300._m2.z;
    _185 _323 = _300;
    vec4 _327 = _246() * _251(_323);
    _60 = _327;
    _327.z = (_327.z * _80._m8.x) + (_327.w * _80._m8.y);
    gl_Position = _327;
    gl_Position = _22(gl_Position);
}
#version 320 es
precision mediump float;
precision highp int;

layout(constant_id = 1) const uint _62 = 0u;

struct _65
{
    highp mat4 _m0;
    highp mat3 _m1;
    int _m2;
    int _m3;
    int _m4;
    highp float _m5;
    highp vec4 _m6[8];
};

struct _181
{
    vec4 _m0;
    vec4 _m1;
    float _m2;
    float _m3;
    float _m4;
    vec3 _m5;
};

const float _641[4] = float[](-0.01171875, 0.00390625, 0.01171875, -0.00390625);

layout(set = 2, binding = 0, std140) uniform _51_69
{
    _65 _m0[64];
} _69;

layout(set = 2, binding = 1, std140) uniform _52_79
{
    highp mat4 _m0;
    highp mat4 _m1;
    highp mat4 _m2;
    highp mat4 _m3;
    highp mat4 _m4[4];
    highp mat4 _m5;
    highp mat4 _m6;
    highp vec4 _m7;
    highp vec2 _m8;
    highp float _m9;
    highp float _m10;
    highp vec4 _m11;
    highp vec4 _m12;
    highp vec2 _m13;
    highp vec2 _m14;
    float _m15;
    float _m16;
    vec2 _m17;
    highp float _m18;
    highp float _m19;
    highp float _m20;
    highp float _m21;
    float _m22;
    float _m23;
    float _m24;
    float _m25;
    vec4 _m26;
    mediump uvec3 _m27;
    mediump int _m28;
    vec2 _m29;
    float _m30;
    float _m31;
    vec3 _m32[9];
    highp vec3 _m33;
    float _m34;
    vec4 _m35;
    vec4 _m36;
    highp vec2 _m37;
    mediump int _m38;
    float _m39;
    highp vec4 _m40;
    mediump int _m41;
    float _m42;
    highp vec2 _m43;
    float _m44;
    float _m45;
    float _m46;
    mediump uint _m47;
    highp vec3 _m48;
    highp float _m49;
    float _m50;
    uint _m51;
    highp float _m52;
    highp float _m53;
    vec3 _m54;
    float _m55;
    highp float _m56;
    float _m57;
    highp float _m58;
    highp float _m59;
    highp mat3 _m60;
    highp mat4 _m61;
    highp mat4 _m62;
    float _m63;
    float _m64;
    float _m65;
    float _m66;
    highp vec4 _m67[4];
    mediump int _m68;
    float _m69;
    float _m70;
    float _m71;
    vec4 _m72[40];
} _79;

layout(set = 2, binding = 2, std140) uniform _53_81
{
    mat3 _m0;
    float _m1;
    float _m2;
    uint _m3;
    vec4 _m4;
    vec2 _m5;
    float _m6;
    float _m7;
    vec2 _m8;
    vec2 _m9;
    mat3 _m10;
    uint _m11;
    vec3 _m12;
    mat4 _m13;
} _81;

layout(push_constant, std430) uniform _35_106
{
    uvec2 _m0;
    highp vec2 _m1;
    uint _m2;
    uint _m3;
    uint _m4;
    uint _m5;
} _106;

layout(set = 1, binding = 0) uniform mediump sampler2D _54;

layout(location = 3) in highp vec2 _55;
layout(location = 1) in highp vec4 _56;
layout(location = 2) in highp vec4 _57;
layout(location = 0) in highp vec4 _58;
layout(location = 4) flat in int _59;
layout(location = 0) out vec4 _60;
int _88;
highp mat4 _90;
highp mat3 _92;
int _93;
int _94;
int _95;
highp float _97;
highp vec3 _99;
vec3 _100;
highp vec2 _102;
float _103;
float _657;
uint _661;

void _108()
{
    int _112 = _88;
    _90 = _69._m0[_112]._m0;
    _92 = _69._m0[_112]._m1;
    _93 = _69._m0[_112]._m2;
    _94 = _69._m0[_112]._m3;
    _95 = _69._m0[_112]._m4;
    _97 = _69._m0[_112]._m5;
}

bool _142()
{
    return _79._m2[2u].w != 0.0;
}

void _148()
{
    _99 = _56.xyz;
    highp vec3 _153;
    if (_142())
    {
        _153 = _79._m1[3u].xyz - _99;
    }
    else
    {
        _153 = _79._m1[2u].xyz;
    }
    highp vec3 _168 = _153;
    _100 = normalize(_168);
    _102 = (_57.xy * (0.5 / _57.w)) + vec2(0.5);
}

void _184(inout _181 _185)
{
    _185._m0 = vec4(1.0);
    _185._m1 = vec4(0.0, 0.0, 0.0, 1.0);
}

void _193(_181 _194)
{
}

highp vec2 _197()
{
    return _55;
}

float _201(vec3 _202, vec3 _203)
{
    vec3 _209 = _203 - abs(_202);
    bool _215 = _209.x >= 0.0;
    bool _216;
    if (_215)
    {
        _216 = _209.y >= 0.0;
    }
    else
    {
        _216 = _215;
    }
    bool _225;
    if (_216)
    {
        _225 = _209.z >= 0.0;
    }
    else
    {
        _225 = _216;
    }
    return float(_225);
}

float _239(highp vec2 _240, highp vec2 _241, highp float _242)
{
    highp vec2 _252 = abs(_240) - ((_241 * 0.5) - vec2(_242));
    float _259 = min(max(_252.x, _252.y), 0.0);
    float _264 = length(max(_252, vec2(0.0)));
    float _270 = (_259 + _264) - _242;
    return _270;
}

float _272(highp vec2 _273, highp vec2 _274, highp float _275)
{
    vec2 _281 = (_273 - vec2(0.5)) * _274;
    highp vec2 _283 = _281;
    highp vec2 _285 = _274;
    highp float _287 = _275;
    highp vec2 _288 = _283;
    highp vec2 _290 = _285;
    highp float _292 = _287;
    return _239(_288, _290, _292);
}

float _296(highp vec2 _297, highp vec2 _298, highp float _299, highp vec2 _300, highp vec2 _301)
{
    vec2 _309 = ((_297 - vec2(0.5)) * _298) + _301;
    highp vec2 _311 = _309;
    highp vec2 _313 = _300;
    highp float _315 = _299;
    highp vec2 _316 = _311;
    highp vec2 _318 = _313;
    highp float _320 = _315;
    return _239(_316, _318, _320);
}

float _324(float _325)
{
    return exp2(_325) - 1.0;
}

float _330(float _331)
{
    float _335 = max(0.0, _331);
    float _337 = _335;
    float _338 = _337;
    return (_324(_338) - (_335 * 0.693147003650665283203125)) * 3.25889110565185546875;
}

highp vec3 _348(highp vec3 _349)
{
    float _353 = _349.x;
    float _356 = _349.y;
    float _359 = _349.z;
    float _360 = _353;
    float _363 = _356;
    float _366 = _359;
    highp vec3 _370 = vec3(_330(_360), _330(_363), _330(_366));
    return _370;
}

highp vec3 _372(inout highp vec3 _373)
{
    _373 = _81._m10 * _373;
    return clamp(_373, vec3(0.0), vec3(1.0));
}

highp vec3 _384(inout highp vec3 _385)
{
    highp vec3 _388 = _385;
    highp vec3 _389 = _388;
    _385 = _348(_389);
    highp vec3 _393 = _385;
    highp vec3 _394 = _393;
    highp vec3 _396 = _372(_394);
    _393 = _394;
    highp vec3 _398 = _396;
    _385 = _398;
    return _385;
}

void _401(inout _181 _402)
{
    float _497 = -0.00200000009499490261077880859375;
    float _530 = -0.00200000009499490261077880859375;
    _181 _404 = _402;
    _193(_404);
    highp vec2 _408 = _197();
    highp vec3 _414 = vec3(_408.x, _408.y, 1.0);
    highp vec3 _419 = _81._m0 * _414;
    highp vec2 _425 = vec2(_419.x, _419.y);
    vec4 _426;
    if (_81._m3 != 0u)
    {
        _426 = _81._m4;
    }
    else
    {
        _426 = texture(_54, _425, _103);
    }
    vec4 _441 = _426;
    vec3 _445 = max(_441.xyz, vec3(0.0));
    _426.x = _445.x;
    _426.y = _445.y;
    _426.z = _445.z;
    float _455;
    if (_81._m11 != 0u)
    {
        vec3 _465 = _58.xyz;
        vec3 _470 = _81._m12;
        vec3 _471 = _465;
        vec3 _473 = _470;
        _455 = _201(_471, _473);
    }
    else
    {
        _455 = 1.0;
    }
    float _477 = _455;
    highp vec2 _479 = _197();
    highp vec2 _483 = _81._m5;
    highp float _487 = _81._m6;
    highp vec2 _488 = _479;
    highp vec2 _490 = _483;
    highp float _492 = _487;
    float _495 = _272(_488, _490, _492);
    float _502 = 1.0 - smoothstep(_497, 0.0, _495);
    highp vec2 _504 = _197();
    highp vec2 _507 = _81._m5;
    highp float _511 = _81._m7;
    highp vec2 _514 = _81._m8;
    highp vec2 _517 = _81._m9;
    highp vec2 _518 = _504;
    highp vec2 _520 = _507;
    highp float _522 = _511;
    highp vec2 _524 = _514;
    highp vec2 _526 = _517;
    float _529 = _296(_518, _520, _522, _524, _526);
    float _535 = 1.0 - smoothstep(_530, 0.0, _529);
    highp vec3 _538 = _426.xyz;
    highp vec3 _539 = _538;
    highp vec3 _541 = _384(_539);
    _538 = _539;
    highp vec3 _543 = _541;
    highp vec3 _545 = _543;
    _402._m0 = ((((vec4(_545, _426.w) * _81._m1) * _81._m2) * _477) * _502) * _535;
}

void _567(vec4 _568)
{
}

void _571(_181 _572, vec4 _573)
{
}

vec4 _576(vec4 _577)
{
    return _577;
}

vec4 _581(_181 _582)
{
    vec4 _586 = _582._m0;
    vec4 _588 = _586;
    _181 _589 = _582;
    vec4 _591 = _588;
    _571(_589, _591);
    _586 = _588;
    vec4 _596 = _586;
    vec4 _597 = _596;
    return _576(_597);
}

void main()
{
    vec3 _662 = vec3(0.0);
    _103 = _79._m15;
    _88 = _59;
    _108();
    _148();
    _181 _608;
    _181 _609 = _608;
    _184(_609);
    _608 = _609;
    _181 _614 = _608;
    _181 _616 = _614;
    _181 _617 = _616;
    _401(_617);
    _616 = _617;
    _614 = _616;
    vec4 _624 = _614._m0;
    vec4 _625 = _624;
    _567(_625);
    _614._m0 = _624;
    _181 _630 = _614;
    _60 = _581(_630);
    if (_62 != 0u)
    {
        _657 = _641[((uint(gl_FragCoord.x) & 1u) << 1u) | (uint(gl_FragCoord.y) & 1u)];
        _661 = (_62 >> 0u) & 3u;
        switch (_661)
        {
            case 1u:
            {
                _662 = vec3(_657 * 2.0);
                break;
            }
            case 2u:
            {
                _662 = vec3(_657);
                break;
            }
            case 3u:
            {
                _662 = vec3(_657, _657 * 0.5, _657);
                break;
            }
        }
        vec3 _682 = _60.xyz + _662;
        _60 = vec4(_682.x, _682.y, _682.z, _60.w);
    }
}

More system information:

Operating System: Windows 10 Enterprise 64-bit (10.0, Build 19045)

I hope this is helpful enough to identify the possible issue, let me know if you need any other information.

Thanks