AnsweredAssumed Answered

Vulkan dual-source blending broken?

Question asked by Taz1024 on Jan 7, 2017
Latest reply on Jan 24, 2017 by Taz1024

Hi,

 

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.

Outcomes