1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-31 14:52:11 +01:00

[d3d9] Ignore NO_DIRTY_UPDATE for POOL_DEFAULT resources

Respecting it breaks Senren Banka because we never upload the texture.
This commit is contained in:
Robin Kertels 2021-07-18 14:04:23 +02:00 committed by Joshie
parent 584e1515b1
commit fa279eb8ad

View File

@ -4229,7 +4229,7 @@ namespace dxvk {
pResource->SetLocked(Subresource, true);
if (!(Flags & D3DLOCK_NO_DIRTY_UPDATE) && !(Flags & D3DLOCK_READONLY)) {
if ((desc.Pool == D3DPOOL_DEFAULT || !(Flags & D3DLOCK_NO_DIRTY_UPDATE)) && !(Flags & D3DLOCK_READONLY)) {
if (pBox && MipLevel != 0) {
D3DBOX scaledBox = *pBox;
scaledBox.Left <<= MipLevel;
@ -4485,7 +4485,7 @@ namespace dxvk {
uint32_t size = respectUserBounds ? std::min(SizeToLock, desc.Size - offset) : desc.Size;
D3D9Range lockRange = D3D9Range(offset, offset + size);
if (!(Flags & D3DLOCK_READONLY))
if ((desc.Pool == D3DPOOL_DEFAULT || !(Flags & D3DLOCK_NO_DIRTY_UPDATE)) && !(Flags & D3DLOCK_READONLY))
pResource->DirtyRange().Conjoin(lockRange);
Rc<DxvkBuffer> mappingBuffer = pResource->GetBuffer<D3D9_COMMON_BUFFER_TYPE_MAPPING>();