diff --git a/GPU/Common/TextureCacheCommon.cpp b/GPU/Common/TextureCacheCommon.cpp index f3d685a8c4..6360b56e37 100644 --- a/GPU/Common/TextureCacheCommon.cpp +++ b/GPU/Common/TextureCacheCommon.cpp @@ -261,6 +261,10 @@ SamplerCacheKey TextureCacheCommon::GetSamplingParams(int maxLevel, const TexCac } } + if (gstate_c.renderMode == FB_MODE_COLOR_TO_DEPTH) { + forceFiltering = TEX_FILTER_FORCE_NEAREST; + } + switch (forceFiltering) { case TEX_FILTER_AUTO: break; diff --git a/GPU/GPUState.h b/GPU/GPUState.h index c572ae7515..2d8db478b9 100644 --- a/GPU/GPUState.h +++ b/GPU/GPUState.h @@ -561,7 +561,7 @@ struct GPUStateCache { if (mode != renderMode) { // This mode modifies the fragment shader to write depth, the depth state to write without testing, and the blend state to write nothing to color. // So we need to re-evaluate those states. - Dirty(DIRTY_FRAGMENTSHADER_STATE | DIRTY_BLEND_STATE | DIRTY_DEPTHSTENCIL_STATE); + Dirty(DIRTY_FRAGMENTSHADER_STATE | DIRTY_BLEND_STATE | DIRTY_DEPTHSTENCIL_STATE | DIRTY_TEXTURE_PARAMS); renderMode = mode; } }