diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 4f9c313e..aab7dd52 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -713,17 +713,17 @@ namespace dxvk { GetSubresourceFromIndex(srcFormatInfo.aspect, srcTextureInfo->image->info().mipLevels, SrcSubresource); + const VkImageSubresourceLayers dstSubresourceLayers = { + dstSubresource.aspectMask, + dstSubresource.mipLevel, + dstSubresource.arrayLayer, 1 }; + + const VkImageSubresourceLayers srcSubresourceLayers = { + srcSubresource.aspectMask, + srcSubresource.mipLevel, + srcSubresource.arrayLayer, 1 }; + if (srcDesc.SampleDesc.Count == 1) { - const VkImageSubresourceLayers dstSubresourceLayers = { - dstSubresource.aspectMask, - dstSubresource.mipLevel, - dstSubresource.arrayLayer, 1 }; - - const VkImageSubresourceLayers srcSubresourceLayers = { - srcSubresource.aspectMask, - srcSubresource.mipLevel, - srcSubresource.arrayLayer, 1 }; - EmitCs([ cDstImage = dstTextureInfo->image, cSrcImage = srcTextureInfo->image, @@ -736,22 +736,12 @@ namespace dxvk { cDstImage->mipLevelExtent(cDstLayers.mipLevel)); }); } else if (!srcFormatInfo.flags.test(DxgiFormatFlag::Typeless) - && !srcFormatInfo.flags.test(DxgiFormatFlag::Typeless)) { + && !srcFormatInfo.flags.test(DxgiFormatFlag::Typeless)) { if (dstDesc.Format != srcDesc.Format) { Logger::err("D3D11: ResolveSubresource: Incompatible formats"); return; } - const VkImageSubresourceLayers dstSubresourceLayers = { - dstSubresource.aspectMask, - dstSubresource.mipLevel, - dstSubresource.arrayLayer, 1 }; - - const VkImageSubresourceLayers srcSubresourceLayers = { - srcSubresource.aspectMask, - srcSubresource.mipLevel, - srcSubresource.arrayLayer, 1 }; - EmitCs([ cDstImage = dstTextureInfo->image, cSrcImage = srcTextureInfo->image,