diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 24cc953c..9acf4164 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -936,9 +936,11 @@ namespace dxvk { bool stretch = srcCopyExtent != dstCopyExtent; fastPath &= !stretch; - // We don't support compressed destination formats at the moment - if (dstFormatInfo->flags.test(DxvkFormatFlag::BlockCompressed)) - return D3DERR_INVALIDCALL; + if (!fastPath || needsResolve) { + // Compressed destination formats are forbidden for blits. + if (dstFormatInfo->flags.test(DxvkFormatFlag::BlockCompressed)) + return D3DERR_INVALIDCALL; + } if (fastPath) { if (needsResolve) {