mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
Splines: Skip the float U-line pre-tessellation on the exact Bezier path
The exact path evaluates its own columns, so the float SampleU results went unused. Pursuit Force's frame dump replays 16% faster in the software renderer. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
5de2a5070f
commit
e6843b376f
1 file changed
+10
-8
@@ -633,14 +633,16 @@ public:
|
||||
const int index_u = surface.GetIndexU(patch_u, tile_u);
|
||||
const Weight &wu = weights.u[index_u];
|
||||
|
||||
// Pre-tessellate U lines
|
||||
tess_pos.SampleU(wu.basis);
|
||||
if constexpr (sampleCol)
|
||||
tess_col.SampleU(wu.basis);
|
||||
if constexpr (sampleTex)
|
||||
tess_tex.SampleU(wu.basis);
|
||||
if constexpr (sampleNrm)
|
||||
tess_nrm.SampleU(wu.deriv);
|
||||
// Pre-tessellate U lines (the exact path evaluates its own columns).
|
||||
if (!exactBezier) {
|
||||
tess_pos.SampleU(wu.basis);
|
||||
if constexpr (sampleCol)
|
||||
tess_col.SampleU(wu.basis);
|
||||
if constexpr (sampleTex)
|
||||
tess_tex.SampleU(wu.basis);
|
||||
if constexpr (sampleNrm)
|
||||
tess_nrm.SampleU(wu.deriv);
|
||||
}
|
||||
|
||||
for (int tile_v = start_v; tile_v <= surface.tess_v; ++tile_v) {
|
||||
const int index_v = surface.GetIndexV(patch_v, tile_v);
|
||||
|
||||
Reference in new issue
Block a user