Latte : Temporarily disable blending for integer format color attachments

This commit is contained in:
Exverge 2024-08-08 14:54:38 -04:00
parent 86b477ae12
commit ee7c08e147

View File

@ -988,8 +988,6 @@ bool PipelineCompiler::Compile(bool forceCompile, bool isRenderThread, bool show
pipelineInfo.pDynamicState = &dynamicState; pipelineInfo.pDynamicState = &dynamicState;
pipelineInfo.pRasterizationState = &rasterizer; pipelineInfo.pRasterizationState = &rasterizer;
pipelineInfo.pMultisampleState = &multisampling; pipelineInfo.pMultisampleState = &multisampling;
if (!_IsVkIntegerFormat(m_renderPassObj->GetColorFormat(0)))
pipelineInfo.pColorBlendState = &colorBlending;
pipelineInfo.layout = m_pipeline_layout; pipelineInfo.layout = m_pipeline_layout;
pipelineInfo.renderPass = m_renderPassObj->m_renderPass; pipelineInfo.renderPass = m_renderPassObj->m_renderPass;
pipelineInfo.pDepthStencilState = &depthStencilState; pipelineInfo.pDepthStencilState = &depthStencilState;
@ -998,6 +996,17 @@ bool PipelineCompiler::Compile(bool forceCompile, bool isRenderThread, bool show
pipelineInfo.flags = 0; pipelineInfo.flags = 0;
if (!forceCompile) if (!forceCompile)
pipelineInfo.flags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT; pipelineInfo.flags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT;
#ifdef __APPLE__
for (int i = 0; i < Latte::GPU_LIMITS::NUM_COLOR_ATTACHMENTS; ++i)
{
if (_IsVkIntegerFormat(m_renderPassObj->GetColorFormat(i)))
break;
if (i == Latte::GPU_LIMITS::NUM_COLOR_ATTACHMENTS - 1)
pipelineInfo.pColorBlendState = &colorBlending;
}
#else
pipelineInfo.pColorBlendState = &colorBlending;
#endif
VkPipelineCreationFeedbackCreateInfoEXT creationFeedbackInfo; VkPipelineCreationFeedbackCreateInfoEXT creationFeedbackInfo;
VkPipelineCreationFeedbackEXT creationFeedback; VkPipelineCreationFeedbackEXT creationFeedback;