[runtime] fixup rasterizer (#139)

- missing RGBA5551 to RGBA8888 conversion in lookupClut
- round depth up for triangles (Code Veronica text bug)
This commit is contained in:
tealalchemist
2026-06-24 13:07:47 -04:00
committed by GitHub
parent 9bf9c08d9d
commit a111059a70
+3 -3
View File
@@ -573,9 +573,9 @@ uint32_t GSRasterizer::lookupCLUT(GS *gs,
case GS_PSM_CT24:
return applyTexa(gs->m_texa, cpsm, GSMem::ReadCT24(gs->m_vram, cbp, clutWidth, clutX, clutY));
case GS_PSM_CT16:
return applyTexa(gs->m_texa, cpsm, GSMem::ReadCT16(gs->m_vram, cbp, clutWidth, clutX, clutY));
return applyTexa(gs->m_texa, cpsm, Rgba5551ToRgba8888(GSMem::ReadCT16(gs->m_vram, cbp, clutWidth, clutX, clutY)));
case GS_PSM_CT16S:
return applyTexa(gs->m_texa, cpsm, GSMem::ReadCT16S(gs->m_vram, cbp, clutWidth, clutX, clutY));
return applyTexa(gs->m_texa, cpsm, Rgba5551ToRgba8888(GSMem::ReadCT16S(gs->m_vram, cbp, clutWidth, clutX, clutY)));
default:
break;
}
@@ -935,7 +935,7 @@ void GSRasterizer::drawTriangle(GS *gs)
a = color.a;
}
writePixel(gs, x, y, static_cast<u32>(z), r, g, b, a);
writePixel(gs, x, y, static_cast<u32>(z + 0.5), r, g, b, a);
}
}
}