diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index dd6d1e04b9..fa22c381a2 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -2559,7 +2559,7 @@ int sceKernelChangeCurrentThreadAttr(u32 clearAttr, u32 setAttr) // Seems like this is the only allowed attribute? if ((clearAttr & ~PSP_THREAD_ATTR_VFPU) != 0 || (setAttr & ~PSP_THREAD_ATTR_VFPU) != 0) { - ERROR_LOG_REPORT(SCEKERNEL, "0 = sceKernelChangeCurrentThreadAttr(clear = %08x, set = %08x): invalid attr", clearAttr, setAttr); + ERROR_LOG_REPORT(SCEKERNEL, "sceKernelChangeCurrentThreadAttr(clear = %08x, set = %08x): invalid attr", clearAttr, setAttr); return SCE_KERNEL_ERROR_ILLEGAL_ATTR; } diff --git a/GPU/Directx9/GPU_DX9.cpp b/GPU/Directx9/GPU_DX9.cpp index 02bd8b1faa..c2bace2de4 100644 --- a/GPU/Directx9/GPU_DX9.cpp +++ b/GPU/Directx9/GPU_DX9.cpp @@ -1658,13 +1658,7 @@ void DIRECTX9_GPU::Execute_Generic(u32 op, u32 diff) { break; case GE_CMD_LOGICOPENABLE: - if (data != 0) - ERROR_LOG_REPORT_ONCE(logicOpEnable, G3D, "Unsupported logic op enabled: %x", data); - break; - case GE_CMD_LOGICOP: - if (data != 0) - ERROR_LOG_REPORT_ONCE(logicOp, G3D, "Unsupported logic op: %06x", data); break; case GE_CMD_ANTIALIASENABLE: diff --git a/GPU/Directx9/StateMappingDX9.cpp b/GPU/Directx9/StateMappingDX9.cpp index c4523cc678..6c702a80ee 100644 --- a/GPU/Directx9/StateMappingDX9.cpp +++ b/GPU/Directx9/StateMappingDX9.cpp @@ -313,6 +313,10 @@ void TransformDrawEngineDX9::ApplyBlendState() { break; } + if (gstate.isLogicOpEnabled() && gstate.getLogicOp() != GE_LOGIC_COPY) { + WARN_LOG_REPORT_ONCE(logicOpBlend, G3D, "Logic op and blend enabled, unsupported."); + } + dxstate.blend.enable(); dxstate.blendSeparate.enable(); ResetShaderBlending();