diff --git a/plugins/GSdx/GSRendererHW.cpp b/plugins/GSdx/GSRendererHW.cpp index c361268d2b..68d0a5564d 100644 --- a/plugins/GSdx/GSRendererHW.cpp +++ b/plugins/GSdx/GSRendererHW.cpp @@ -491,7 +491,7 @@ void GSRendererHW::Draw() //gd.sel.mmin = (context->TEX1.MMIN & 1) + 1; // 1: round, 2: tri int mxl = std::min((int)m_context->TEX1.MXL, 6); - int k = (m_context->TEX1.K >> 4); + int k = (m_context->TEX1.K + 8) >> 4; int lcm = m_context->TEX1.LCM; if ((int)m_vt.m_lod.x >= mxl) { @@ -510,7 +510,7 @@ void GSRendererHW::Draw() lod = std::max(std::min(k, mxl), 0); } else { // Not constant but who care ! - lod = std::max((int)m_vt.m_lod.x, 0); + lod = std::max((int)round(m_vt.m_lod.x), 0); } MIP_CLAMP.MINU >>= lod;