From 4d14f88455783b785daba3756eef57c5cf474768 Mon Sep 17 00:00:00 2001 From: raven02 Date: Tue, 26 Nov 2013 11:34:33 +0800 Subject: [PATCH] Alternative consistent fix --- GPU/GLES/ShaderManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GPU/GLES/ShaderManager.cpp b/GPU/GLES/ShaderManager.cpp index 5036d2cb6..f07089858 100644 --- a/GPU/GLES/ShaderManager.cpp +++ b/GPU/GLES/ShaderManager.cpp @@ -426,12 +426,14 @@ void LinkedShader::UpdateUniforms(u32 vertType) { // Not sure what GE_TEXMAP_UNKNOWN is, but seen in Riviera. Treating the same as GE_TEXMAP_TEXTURE_COORDS works. static const float rescale[4] = {1.0f, 2*127.5f/128.f, 2*32767.5f/32768.f, 1.0f}; float factor = rescale[(vertType & GE_VTYPE_TC_MASK) >> GE_VTYPE_TC_SHIFT]; - uvscaleoff[0] = gstate_c.uv.uScale * factor * widthFactor; - uvscaleoff[1] = gstate_c.uv.vScale * factor * heightFactor; if (gstate.getUVGenMode() == GE_TEXMAP_TEXTURE_COORDS || gstate.getUVGenMode() == GE_TEXMAP_UNKNOWN) { + uvscaleoff[0] = gstate_c.uv.uScale * factor * widthFactor; + uvscaleoff[1] = gstate_c.uv.vScale * factor * heightFactor; uvscaleoff[2] = gstate_c.uv.uOff * widthFactor; uvscaleoff[3] = gstate_c.uv.vOff * heightFactor; } else { + uvscaleoff[0] = factor * widthFactor; + uvscaleoff[1] = factor * heightFactor; uvscaleoff[2] = 0.0f; uvscaleoff[3] = 0.0f; }