From d74001f4fa34a88eb1b8affe6a03a2f24de07232 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 23 Jan 2022 07:24:10 -0800 Subject: [PATCH] softgpu: Reuse transform state. --- GPU/Software/TransformUnit.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/GPU/Software/TransformUnit.cpp b/GPU/Software/TransformUnit.cpp index e4b08d75b5..e58b0e59e0 100644 --- a/GPU/Software/TransformUnit.cpp +++ b/GPU/Software/TransformUnit.cpp @@ -503,8 +503,11 @@ void TransformUnit::SubmitPrimitive(void* vertices, void* indices, GEPrimitiveTy binner_->UpdateState(); - TransformState transformState; - ComputeTransformState(&transformState, vreader); + static TransformState transformState; + if (binner_->HasDirty(SoftDirty::LIGHT_ALL | SoftDirty::TRANSFORM_ALL)) { + ComputeTransformState(&transformState, vreader); + binner_->ClearDirty(SoftDirty::LIGHT_ALL | SoftDirty::TRANSFORM_ALL); + } bool outside_range_flag = false; switch (prim_type) {