diff --git a/GPU/D3D11/StateMappingD3D11.cpp b/GPU/D3D11/StateMappingD3D11.cpp index c0ce1d4b59..b6266dbdcf 100644 --- a/GPU/D3D11/StateMappingD3D11.cpp +++ b/GPU/D3D11/StateMappingD3D11.cpp @@ -221,6 +221,7 @@ void DrawEngineD3D11::ApplyDrawState(int prim) { if (gstate_c.Supports(GPU_SUPPORTS_LOGIC_OP)) { // Logic Ops if (gstate.isLogicOpEnabled() && gstate.getLogicOp() != GE_LOGIC_COPY) { + keys_.blend.blendEnable = false; // Can't have both blend & logic op - although I think the PSP can! keys_.blend.logicOpEnable = true; keys_.blend.logicOp = logicOps[gstate.getLogicOp()]; } diff --git a/ext/native/thin3d/thin3d_d3d11.cpp b/ext/native/thin3d/thin3d_d3d11.cpp index 40a0016185..480fdcaf40 100644 --- a/ext/native/thin3d/thin3d_d3d11.cpp +++ b/ext/native/thin3d/thin3d_d3d11.cpp @@ -206,7 +206,9 @@ D3D11DrawContext::D3D11DrawContext(ID3D11Device *device, ID3D11DeviceContext *de HRESULT result = device_->CheckFeatureSupport(D3D11_FEATURE_D3D11_OPTIONS, &options, sizeof(options)); if (SUCCEEDED(result)) { if (options.OutputMergerLogicOp) { - caps_.logicOpSupported = true; + // Actually, need to check that the format supports logic ops as well. + // Which normal UNORM formats don't seem to do. So meh. + // caps_.logicOpSupported = true; } }