Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Ashton <joshua@froggi.es>2020-02-14 02:31:48 +0300
committerJoshua Ashton <joshua@froggi.es>2020-02-14 02:43:18 +0300
commit98834413c3e1598d5b8d581c2680fbb77e5a9f49 (patch)
tree0301279cde21210372ff2eea7f200b3b97b3d8c8
parent14d6717f4c659b18b43b9619d0082680849817fc (diff)
[d3d9] Fix ColorFill using sampler views for partial extentsd3d9-colorfill-fix
Closes #1434
-rw-r--r--src/d3d9/d3d9_device.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp
index dbfbaf21..37756e62 100644
--- a/src/d3d9/d3d9_device.cpp
+++ b/src/d3d9/d3d9_device.cpp
@@ -1058,17 +1058,16 @@ namespace dxvk {
&& extent == mipExtent;
}
- Rc<DxvkImageView> imageView = dst->GetImageView(false);
- Rc<DxvkImageView> renderTargetView = dst->GetRenderTargetView(false);
+ Rc<DxvkImageView> rtView = dst->GetRenderTargetView(false);
VkClearValue clearValue;
DecodeD3DCOLOR(Color, clearValue.color.float32);
// Fast path for games that may use this as an
// alternative to Clear on render targets.
- if (isFullExtent && renderTargetView != nullptr) {
+ if (isFullExtent && rtView != nullptr) {
EmitCs([
- cImageView = renderTargetView,
+ cImageView = rtView,
cClearValue = clearValue
] (DxvkContext* ctx) {
ctx->clearRenderTarget(
@@ -1077,8 +1076,11 @@ namespace dxvk {
cClearValue);
});
} else {
+ if (unlikely(rtView == nullptr))
+ Logger::err(str::format("D3D9DeviceEx::ColorFill: Unsupported format ", dstTextureInfo->Desc()->Format));
+
EmitCs([
- cImageView = imageView,
+ cImageView = rtView,
cOffset = offset,
cExtent = extent,
cClearValue = clearValue