mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-07 16:54:14 +01:00
[d3d9] Fix ColorFill using sampler views for partial extents
Closes #1434
This commit is contained in:
parent
02c79d892c
commit
2096a95262
@ -1058,17 +1058,16 @@ namespace dxvk {
|
|||||||
&& extent == mipExtent;
|
&& extent == mipExtent;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rc<DxvkImageView> imageView = dst->GetImageView(false);
|
Rc<DxvkImageView> rtView = dst->GetRenderTargetView(false);
|
||||||
Rc<DxvkImageView> renderTargetView = dst->GetRenderTargetView(false);
|
|
||||||
|
|
||||||
VkClearValue clearValue;
|
VkClearValue clearValue;
|
||||||
DecodeD3DCOLOR(Color, clearValue.color.float32);
|
DecodeD3DCOLOR(Color, clearValue.color.float32);
|
||||||
|
|
||||||
// Fast path for games that may use this as an
|
// Fast path for games that may use this as an
|
||||||
// alternative to Clear on render targets.
|
// alternative to Clear on render targets.
|
||||||
if (isFullExtent && renderTargetView != nullptr) {
|
if (isFullExtent && rtView != nullptr) {
|
||||||
EmitCs([
|
EmitCs([
|
||||||
cImageView = renderTargetView,
|
cImageView = rtView,
|
||||||
cClearValue = clearValue
|
cClearValue = clearValue
|
||||||
] (DxvkContext* ctx) {
|
] (DxvkContext* ctx) {
|
||||||
ctx->clearRenderTarget(
|
ctx->clearRenderTarget(
|
||||||
@ -1077,8 +1076,11 @@ namespace dxvk {
|
|||||||
cClearValue);
|
cClearValue);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
if (unlikely(rtView == nullptr))
|
||||||
|
Logger::err(str::format("D3D9DeviceEx::ColorFill: Unsupported format ", dstTextureInfo->Desc()->Format));
|
||||||
|
|
||||||
EmitCs([
|
EmitCs([
|
||||||
cImageView = imageView,
|
cImageView = rtView,
|
||||||
cOffset = offset,
|
cOffset = offset,
|
||||||
cExtent = extent,
|
cExtent = extent,
|
||||||
cClearValue = clearValue
|
cClearValue = clearValue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user