diff --git a/DDrawCompat/D3dDdi/DeviceState.cpp b/DDrawCompat/D3dDdi/DeviceState.cpp index 12a7ae8..c387337 100644 --- a/DDrawCompat/D3dDdi/DeviceState.cpp +++ b/DDrawCompat/D3dDdi/DeviceState.cpp @@ -778,7 +778,11 @@ namespace D3dDdi if (resource) { resource->updatePalettizedTexture(stage); - resource->prepareForTextureRead(stage); + if (resource->prepareForTextureRead(stage) != m_current.textures[stage]) + { + m_changedStates |= CS_TEXTURE_STAGE; + m_maxChangedTextureStage = std::max(stage, m_maxChangedTextureStage); + } } } } diff --git a/DDrawCompat/D3dDdi/Resource.cpp b/DDrawCompat/D3dDdi/Resource.cpp index cea5fbd..5fbc9c0 100644 --- a/DDrawCompat/D3dDdi/Resource.cpp +++ b/DDrawCompat/D3dDdi/Resource.cpp @@ -1272,7 +1272,6 @@ namespace D3dDdi { return defaultResource; } - m_colorKey = appState.textureStageState[stage][D3DDDITSS_TEXTURECOLORKEYVAL] + 1; } if (!m_isColorKeyedSurfaceUpToDate ||