From: Francisco Casas <fcasas@codeweavers.com> Otherwise we get Vulkan validation errors such as: VUID_Undefined(ERROR / SPEC): msgNum: 2044605652 - Validation Error: [ VUID_Undefined ] | MessageID = 0x79de34d4 | vkCmdSetColorBlendEnableEXT(): attachmentCount must be greater than 0. --- dlls/wined3d/context_vk.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c index 96d8c15ad7c..f70990eaac2 100644 --- a/dlls/wined3d/context_vk.c +++ b/dlls/wined3d/context_vk.c @@ -2694,8 +2694,11 @@ static void wined3d_context_vk_set_dynamic_blend_state(const struct wined3d_cont static const VkColorComponentFlags default_write_mask[WINED3D_MAX_RENDER_TARGETS] = {X, X, X, X, X, X, X, X}; #undef X - VK_CALL(vkCmdSetColorBlendEnableEXT(vk_command_buffer, 0, rt_count, default_enable)); - VK_CALL(vkCmdSetColorWriteMaskEXT(vk_command_buffer, 0, rt_count, default_write_mask)); + if (rt_count) + { + VK_CALL(vkCmdSetColorBlendEnableEXT(vk_command_buffer, 0, rt_count, default_enable)); + VK_CALL(vkCmdSetColorWriteMaskEXT(vk_command_buffer, 0, rt_count, default_write_mask)); + } return; } @@ -2713,9 +2716,12 @@ static void wined3d_context_vk_set_dynamic_blend_state(const struct wined3d_cont blend_equation_from_wined3d(context_vk, &equations[i], rt, state->fb.render_targets[i]); } - VK_CALL(vkCmdSetColorBlendEnableEXT(vk_command_buffer, 0, rt_count, enable)); - VK_CALL(vkCmdSetColorWriteMaskEXT(vk_command_buffer, 0, rt_count, write_mask)); - VK_CALL(vkCmdSetColorBlendEquationEXT(vk_command_buffer, 0, rt_count, equations)); + if (rt_count) + { + VK_CALL(vkCmdSetColorBlendEnableEXT(vk_command_buffer, 0, rt_count, enable)); + VK_CALL(vkCmdSetColorWriteMaskEXT(vk_command_buffer, 0, rt_count, write_mask)); + VK_CALL(vkCmdSetColorBlendEquationEXT(vk_command_buffer, 0, rt_count, equations)); + } } static VkFormat vk_format_from_component_type(enum wined3d_component_type component_type) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11688