3 Replies Latest reply on Jan 24, 2017 12:28 PM by Taz1024

    Vulkan dual-source blending broken?




      vkCreateGraphicsPipelines appears to be failing (w/ VK_ERROR_INITIALIZATION_FAILED) whenever the fragment program is outputting to index 1. The blend state doesn't seem to have anything to do with it, it fails regardless of SRC1 blend modes being used or not. There are no validation errors.


      I also reproduced the issue in the vulkan sdk cube demo by just adding an extra fragment out on index 1 and adding dual-source blend feature to device creation.


      I.e., just change the last bit of cube.frag to:


      layout (location = 0, index=0) out vec4 uFragColor0;

      layout (location = 0, index=1) out vec4 uFragColor1;

      void main() {

         uFragColor0 = texture(tex, texcoord.xy);

         uFragColor1 = texture(tex, texcoord.xy);


      ..and recompile the cube-frag.spv.


      I'm using a rx480, win7 x64, sdk 1.0.30, dec19 driver. (16.12.2?)


      Edit: on gtx1080 pipeline creation 'works' but SRC1 blend factor appear to be 0. hmm...

      Edit2: It works on gtx1080 after updating driver so their dualsrc blending was broken as well.