Workaround AMD bug on logic op with float framebuffer (#6852)

* Workaround AMD bug on logic op with float framebuffer

* Format whitespace

* Update comment
This commit is contained in:
gdkchan 2024-05-23 01:05:32 -03:00 committed by GitHub
parent c1ed150949
commit e65effcb05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 55 additions and 3 deletions

View file

@ -560,10 +560,14 @@ namespace Ryujinx.Graphics.Vulkan
}
}
// AMD has a bug where it enables logical operations even for float formats,
// so we need to force disable them here.
bool logicOpEnable = LogicOpEnable && (gd.Vendor != Vendor.Amd || Internal.LogicOpsAllowed);
var colorBlendState = new PipelineColorBlendStateCreateInfo
{
SType = StructureType.PipelineColorBlendStateCreateInfo,
LogicOpEnable = LogicOpEnable,
LogicOpEnable = logicOpEnable,
LogicOp = LogicOp,
AttachmentCount = ColorBlendAttachmentStateCount,
PAttachments = pColorBlendAttachmentState,