softgpu: Turn more tri strips into rects.

This catches a common case in Valkyrie Profile.
Rotation is resolved by just always using tl/br.
This commit is contained in:
Unknown W. Brackets 2022-02-12 00:03:40 -08:00
parent 2381f355c2
commit 259b10d42a
3 changed files with 25 additions and 23 deletions

View file

@ -661,8 +661,9 @@ void TransformUnit::SubmitPrimitive(void* vertices, void* indices, GEPrimitiveTy
}
// If a strip is effectively a rectangle, draw it as such!
if (!outside_range_flag && Rasterizer::DetectRectangleFromThroughModeStrip(binner_->State(), data)) {
Clipper::ProcessRect(data[0], data[3], *binner_);
int tl = -1, br = -1;
if (!outside_range_flag && Rasterizer::DetectRectangleFromThroughModeStrip(binner_->State(), data, &tl, &br)) {
Clipper::ProcessRect(data[tl], data[br], *binner_);
break;
}
}