TextureCache: load all mipmap levels from custom textures

This drops the "feature" to load level 0 from the custom texture
and all other levels from the native one if the size matches.
But in my opinion, when a custom texture only provide one level,
no more should be used at all.
This commit is contained in:
degasus
2015-03-01 13:04:48 +01:00
parent 8c46bd2d1d
commit 35373c5185
12 changed files with 44 additions and 34 deletions

View File

@ -1154,7 +1154,7 @@ void Renderer::SetDitherMode()
// TODO: Set dither mode to bpmem.blendmode.dither
}
void Renderer::SetSamplerState(int stage, int texindex)
void Renderer::SetSamplerState(int stage, int texindex, bool custom_tex)
{
const FourTexUnits &tex = bpmem.tex[texindex];
const TexMode0 &tm0 = tex.texMode0[stage];
@ -1179,6 +1179,12 @@ void Renderer::SetSamplerState(int stage, int texindex)
gx_state.sampler[stage].max_lod = (u32)tm1.max_lod;
gx_state.sampler[stage].min_lod = (u32)tm1.min_lod;
gx_state.sampler[stage].lod_bias = (s32)tm0.lod_bias;
// custom textures may have higher resolution, so disable the max_lod
if (custom_tex)
{
gx_state.sampler[stage].max_lod = 255;
}
}
void Renderer::SetInterlacingMode()