mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
PGXP depth: no cost when off; render-thread-safe setters; Smooth motion honours depth
- gpu.c sends gr_set_depth_triangle only while a PGXP renderer feature is on (gl_renderer_pgxp_render_wanted): no RTH_DEPTH per triangle otherwise. - The SZ rides in the textured vertex's unused colour alpha, so TEXV stays 26 floats for every title. - gl_renderer_set_pgxp_depth / _threshold / pgxp_render_stats sync with a live render thread (GL_RT_SYNC) like their neighbours. - A depth-mode change is its own batch-break reason (7); batch_diag returns all eight reasons. - Smooth-motion in-between frames replay RTH_DEPTH and test depth from their own clear; gl_frame_gen_test gains a PGXP pass (overlapping 3D triangles out of painter order) where the in-between frame must match the real one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -267,6 +267,9 @@ float gl_renderer_get_post_gamma(void);
|
||||
void gl_renderer_set_wide_fast(int on);
|
||||
/* PGXP renderer features (docs/ENHANCEMENTS.md G1.14), all off by default:
|
||||
* depth buffer for opaque 3D polygons and the depth clear threshold in SZ units (DuckStation's default 4096). */
|
||||
/* Nonzero when a PGXP renderer feature is on: only then does gpu.c send
|
||||
* gr_set_depth_triangle (no extra command per triangle otherwise). Any thread. */
|
||||
int gl_renderer_pgxp_render_wanted(void);
|
||||
void gl_renderer_set_pgxp_depth(int on);
|
||||
int gl_renderer_get_pgxp_depth(void);
|
||||
void gl_renderer_set_pgxp_depth_threshold(float sz);
|
||||
@@ -489,7 +492,7 @@ void gl_renderer_draw_projected_triangle(const PSXProjectedVertex vertices[3],
|
||||
int perspective);
|
||||
/* Cumulative textured-batch diagnostics: total, then flushes caused by
|
||||
* isolation, blend-mode, mask, filter, backdrop-gate, texture-window, capacity. */
|
||||
void gl_renderer_batch_diag(uint64_t out[8]);
|
||||
void gl_renderer_batch_diag(uint64_t out[9]);
|
||||
|
||||
/* Texture-window batching ([video] texture_window_batching; default off).
|
||||
* On: textured prims with different GP0(E2h) texture windows share a batch
|
||||
|
||||
Reference in New Issue
Block a user