[Vulkan]: Remove AMD logic_op workaround
This commit is contained in:
parent
eea7d44990
commit
9d5b1ea86e
1 changed files with 1 additions and 22 deletions
|
|
@ -952,28 +952,7 @@ void RasterizerVulkan::UpdateDynamicStates() {
|
||||||
UpdateDepthBiasEnable(regs);
|
UpdateDepthBiasEnable(regs);
|
||||||
}
|
}
|
||||||
if (device.IsExtExtendedDynamicState3EnablesSupported()) {
|
if (device.IsExtExtendedDynamicState3EnablesSupported()) {
|
||||||
const auto old = regs.logic_op.enable;
|
UpdateLogicOpEnable(regs);
|
||||||
|
|
||||||
if (device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE ||
|
|
||||||
device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR) {
|
|
||||||
struct In {
|
|
||||||
const Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type d;
|
|
||||||
In(Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type n) : d(n) {}
|
|
||||||
bool operator()(Tegra::Engines::Maxwell3D::Regs::VertexAttribute n) const {
|
|
||||||
return n.type == d;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
auto has_float = std::any_of(
|
|
||||||
regs.vertex_attrib_format.begin(), regs.vertex_attrib_format.end(),
|
|
||||||
In(Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::Float));
|
|
||||||
|
|
||||||
regs.logic_op.enable = static_cast<u32>(!has_float);
|
|
||||||
UpdateLogicOpEnable(regs);
|
|
||||||
regs.logic_op.enable = old;
|
|
||||||
} else {
|
|
||||||
UpdateLogicOpEnable(regs);
|
|
||||||
}
|
|
||||||
UpdateDepthClampEnable(regs);
|
UpdateDepthClampEnable(regs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue