mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 04:29:15 +01:00
[d3d9] Mark texture dirty on SetLod
This commit is contained in:
parent
26516dc904
commit
64c4eea922
@ -5830,8 +5830,13 @@ namespace dxvk {
|
||||
m_dirtyTextures = 0;
|
||||
}
|
||||
|
||||
void D3D9DeviceEx::MarkSamplersDirty() {
|
||||
m_dirtySamplerStates = 0x001fffff; // 21 bits.
|
||||
void D3D9DeviceEx::MarkTextureBindingDirty(IDirect3DBaseTexture9* texture) {
|
||||
D3D9DeviceLock lock = LockDevice();
|
||||
|
||||
for (uint32_t i = 0; i < m_state.textures.size(); i++) {
|
||||
if (m_state.textures[i] == texture)
|
||||
m_dirtyTextures |= 1u << i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -842,7 +842,7 @@ namespace dxvk {
|
||||
|
||||
void UndirtyTextures();
|
||||
|
||||
void MarkSamplersDirty();
|
||||
void MarkTextureBindingDirty(IDirect3DBaseTexture9* texture);
|
||||
|
||||
D3D9DrawInfo GenerateDrawInfo(
|
||||
D3DPRIMITIVETYPE PrimitiveType,
|
||||
|
@ -60,7 +60,7 @@ namespace dxvk {
|
||||
|
||||
m_texture.CreateSampleView(LODNew);
|
||||
if (this->GetPrivateRefCount() > 0)
|
||||
this->m_parent->MarkSamplersDirty();
|
||||
this->m_parent->MarkTextureBindingDirty(this);
|
||||
|
||||
return oldLod;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user