mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-03 15:42:32 +00:00
Alternative consistent fix
This commit is contained in:
parent
a8d9796010
commit
4d14f88455
@ -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.
|
// 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};
|
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];
|
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) {
|
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[2] = gstate_c.uv.uOff * widthFactor;
|
||||||
uvscaleoff[3] = gstate_c.uv.vOff * heightFactor;
|
uvscaleoff[3] = gstate_c.uv.vOff * heightFactor;
|
||||||
} else {
|
} else {
|
||||||
|
uvscaleoff[0] = factor * widthFactor;
|
||||||
|
uvscaleoff[1] = factor * heightFactor;
|
||||||
uvscaleoff[2] = 0.0f;
|
uvscaleoff[2] = 0.0f;
|
||||||
uvscaleoff[3] = 0.0f;
|
uvscaleoff[3] = 0.0f;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user