From 374edd4edc496e817c49d949b7f8f487db94a168 Mon Sep 17 00:00:00 2001 From: Exverge Date: Thu, 11 Jul 2024 11:48:51 -0400 Subject: [PATCH] Latte: Disable blending integer formats Despite being disabled in InitBlendState, this still causes errors on MoltenVk, so just skip it altogether Seemingly fixes Cemu-project/Cemu#396 (there's a multitude of errors there in the comments, specifically referring to the issue), however I don't own BOTW and can't confirm --- src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineCompiler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineCompiler.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineCompiler.cpp index ce582b9acf..5cd29941a1 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineCompiler.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineCompiler.cpp @@ -988,7 +988,8 @@ bool PipelineCompiler::Compile(bool forceCompile, bool isRenderThread, bool show pipelineInfo.pDynamicState = &dynamicState; pipelineInfo.pRasterizationState = &rasterizer; pipelineInfo.pMultisampleState = &multisampling; - pipelineInfo.pColorBlendState = &colorBlending; + if (!_IsVkIntegerFormat(m_renderPassObj->GetColorFormat(0))) + pipelineInfo.pColorBlendState = &colorBlending; pipelineInfo.layout = m_pipeline_layout; pipelineInfo.renderPass = m_renderPassObj->m_renderPass; pipelineInfo.pDepthStencilState = &depthStencilState;