+#ifdef PCSX
+
+#define ENH_BUF_TABLE_STEP (1024 / sizeof(psx_gpu->enhancement_buf_by_x16))
+
+static void update_enhancement_buf_table_from_hres(psx_gpu_struct *psx_gpu)
+{
+ u32 b, x, s;
+
+ b = 0;
+ s = psx_gpu->enhancement_x_threshold;
+ for (x = 0; x < sizeof(psx_gpu->enhancement_buf_by_x16); x++)
+ {
+ if (b < 3 && x * ENH_BUF_TABLE_STEP >= s - ENH_BUF_TABLE_STEP - 1)
+ {
+ s += psx_gpu->enhancement_x_threshold;
+ b++;
+ }
+ psx_gpu->enhancement_buf_by_x16[x] = b;
+ }
+}
+
+static void update_enhancement_buf_table_from_x(psx_gpu_struct *psx_gpu,
+ u32 x0, u32 len)
+{
+ u32 x, b;
+
+ for (x = x0, b = 0; x >= len; b++)
+ x -= len;
+ if (b > 3)
+ b = 3;
+
+ memset(psx_gpu->enhancement_buf_by_x16 + x0 / ENH_BUF_TABLE_STEP,
+ b, (len + ENH_BUF_TABLE_STEP - 1) / ENH_BUF_TABLE_STEP);
+}
+
+#define select_enhancement_buf(psx_gpu) \
+ psx_gpu->enhancement_current_buf_ptr = \
+ select_enhancement_buf_ptr(psx_gpu, psx_gpu->saved_viewport_start_x)
+