mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -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:
@@ -8574,11 +8574,11 @@ static void handle_frame_perf(int id, const char *json)
|
||||
double wcanon = wide[5] - wide[10]; if (wcanon < 0) wcanon = 0;
|
||||
double wmpp = wide[12] > 0 ? wide[10] * 1000.0 / wide[12] : 0.0;
|
||||
double tex_frac = 0.0; gl_renderer_perf_prim_split(&tex_frac);
|
||||
uint64_t br[8]; extern void gl_renderer_batch_diag(uint64_t out[8]);
|
||||
uint64_t br[9]; extern void gl_renderer_batch_diag(uint64_t out[9]);
|
||||
gl_renderer_batch_diag(br);
|
||||
send_fmt("{\"id\":%d,\"ok\":true,\"samples\":%d,\"wide_frames\":%d,\"frames_4_3\":%d,"
|
||||
"\"tex_frac\":%.3f,\"ws_ablate\":%d,"
|
||||
"\"batch_diag\":[%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu],"
|
||||
"\"batch_diag\":[%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu],"
|
||||
"\"all\":{\"total_ms_avg\":%.3f,\"total_ms_max\":%.3f,\"emu_cpu_ms_avg\":%.3f,"
|
||||
"\"present_wall_ms_avg\":%.3f,\"scene_gpu_ms_avg\":%.3f,\"scene_gpu_ms_max\":%.3f,"
|
||||
"\"present_gpu_ms_avg\":%.3f,\"present_gpu_ms_max\":%.3f,\"prims_avg\":%.0f},"
|
||||
@@ -8598,6 +8598,7 @@ static void handle_frame_perf(int id, const char *json)
|
||||
(unsigned long long)br[2], (unsigned long long)br[3],
|
||||
(unsigned long long)br[4], (unsigned long long)br[5],
|
||||
(unsigned long long)br[6], (unsigned long long)br[7],
|
||||
(unsigned long long)br[8],
|
||||
all[1], all[2], all[3], all[4], all[5], all[6], all[7], all[8], all[9],
|
||||
(int)wide[0], wide[1], wide[3], wide[5], wide[6], wide[7], wide[9], wpp,
|
||||
wide[10], wide[11], wcanon, wide[12], wmpp,
|
||||
|
||||
Reference in New Issue
Block a user