softgpu: Correct decal doubling without alpha.

This commit is contained in:
Unknown W. Brackets 2022-01-09 11:33:54 -08:00
parent 72aa4be879
commit b915a82c41
2 changed files with 6 additions and 1 deletions

View file

@ -236,7 +236,10 @@ Vec4IntResult SOFTRAST_CALL GetTextureFunctionOutput(Vec4IntArg prim_color_in, V
else
out_rgb /= 256;
} else {
out_rgb = texcolor.rgb();
if (gstate.isColorDoublingEnabled())
out_rgb = texcolor.rgb() * 2;
else
out_rgb = texcolor.rgb();
}
out_a = prim_color.a();
break;

View file

@ -1578,6 +1578,8 @@ bool SamplerJitCache::Jit_ApplyTextureFunc(const SamplerID &id) {
PSRLW(resultReg, 7);
else
PSRLW(resultReg, 8);
} else if (id.useColorDoubling) {
PSLLW(resultReg, 1);
}
useAlphaFrom(primColorReg);
break;