diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 69c9d980..57fdb157 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -1082,14 +1082,25 @@ namespace dxvk { cClearAspect = clearAspect, cClearValue = clearValue ] (DxvkContext* ctx) { + const VkImageUsageFlags rtUsage = + VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + VkOffset3D offset = { 0, 0, 0 }; VkExtent3D extent = cImageView->mipLevelExtent(0); - ctx->clearImageView( - cImageView, - offset, extent, - cClearAspect, - cClearValue); + if (cImageView->info().usage & rtUsage) { + ctx->clearRenderTarget( + cImageView, + cClearAspect, + cClearValue); + } else { + ctx->clearImageView( + cImageView, + offset, extent, + cClearAspect, + cClearValue); + } }); } }