- disable_main_render = cbs->gpu_neon.enhancement_no_main;
- if (egpu.enhancement_buf_ptr != NULL && cbs->gpu_neon.enhancement_enable
- && !enhancement_was_on)
+ if (egpu.enhancement_scanout_x[egpu.enhancement_scanout_select] != x)
+ {
+ // maybe triple buffering?
+ for (i = 0; i < max_bufs; i++)
+ if (egpu.enhancement_scanout_x[i] == x)
+ break;
+ if (i == max_bufs)
+ need_update = 1;
+
+ egpu.enhancement_scanout_x[egpu.enhancement_scanout_select] = x;
+ }
+ egpu.enhancement_scanout_select++;
+ egpu.enhancement_scanout_select &= max_bufs - 1;
+ if (need_update)