diff --git a/GPU/Software/SamplerX86.cpp b/GPU/Software/SamplerX86.cpp index 9c34bd7b34..9ceb2f68e6 100644 --- a/GPU/Software/SamplerX86.cpp +++ b/GPU/Software/SamplerX86.cpp @@ -3087,9 +3087,16 @@ bool SamplerJitCache::Jit_Decode5650Quad(const SamplerID &id, Rasterizer::RegCac // Now shift and mask temp2 for swizzle. PSRLD(temp2Reg, 6); PAND(temp2Reg, M(const5650Swizzle_)); - // And then OR that in too. We're done. + // And then OR that in too. Only alpha left now. POR(quadReg, R(temp2Reg)); + if (id.useTextureAlpha) { + // Just put a fixed FF in. Maybe we could even avoid this and act like it's FF later... + PCMPEQD(temp2Reg, R(temp2Reg)); + PSLLD(temp2Reg, 24); + POR(quadReg, R(temp2Reg)); + } + regCache_.Release(temp1Reg, RegCache::VEC_TEMP1); regCache_.Release(temp2Reg, RegCache::VEC_TEMP2); return true;