[PATCH 1/2] winex11: Introduce GAMMA_RAMP_SIZE.

Józef Kucia jkucia at codeweavers.com
Mon May 28 03:26:42 CDT 2018


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/winex11.drv/x11drv.h   |  8 +++++---
 dlls/winex11.drv/xvidmode.c | 12 ++++++------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 6781d6073a7d..85a05a904aae 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -114,11 +114,13 @@ typedef struct
     int           exposures;   /* count of graphics exposures operations */
 } X11DRV_PDEVICE;
 
+#define GAMMA_RAMP_SIZE 256
+
 struct x11drv_gamma_ramp
 {
-    WORD red[256];
-    WORD green[256];
-    WORD blue[256];
+    WORD red[GAMMA_RAMP_SIZE];
+    WORD green[GAMMA_RAMP_SIZE];
+    WORD blue[GAMMA_RAMP_SIZE];
 };
 
 static inline X11DRV_PDEVICE *get_x11drv_dev( PHYSDEV dev )
diff --git a/dlls/winex11.drv/xvidmode.c b/dlls/winex11.drv/xvidmode.c
index 0020b08e70b3..63282e727bc9 100644
--- a/dlls/winex11.drv/xvidmode.c
+++ b/dlls/winex11.drv/xvidmode.c
@@ -202,7 +202,7 @@ void X11DRV_XF86VM_Init(void)
       pXF86VidModeGetGammaRampSize(gdi_display, DefaultScreen(gdi_display),
                                    &xf86vm_gammaramp_size);
       if (X11DRV_check_error()) xf86vm_gammaramp_size = 0;
-      if (xf86vm_gammaramp_size == 256)
+      if (xf86vm_gammaramp_size == GAMMA_RAMP_SIZE)
           xf86vm_use_gammaramp = TRUE;
   }
 #endif /* X_XF86VidModeSetGammaRamp */
@@ -250,16 +250,16 @@ sym_not_found:
 
 #ifdef X_XF86VidModeSetGamma
 
-static void GenerateRampFromGamma(WORD ramp[256], float gamma)
+static void GenerateRampFromGamma(WORD ramp[GAMMA_RAMP_SIZE], float gamma)
 {
   float r_gamma = 1/gamma;
   unsigned i;
   TRACE("gamma is %f\n", r_gamma);
-  for (i=0; i<256; i++)
+  for (i=0; i<GAMMA_RAMP_SIZE; i++)
     ramp[i] = pow(i/255.0, r_gamma) * 65535.0;
 }
 
-static BOOL ComputeGammaFromRamp(WORD ramp[256], float *gamma)
+static BOOL ComputeGammaFromRamp(WORD ramp[GAMMA_RAMP_SIZE], float *gamma)
 {
   float r_x, r_y, r_lx, r_ly, r_d, r_v, r_e, g_avg, g_min, g_max;
   unsigned i, f, l, g_n, c;
@@ -342,7 +342,7 @@ static BOOL X11DRV_XF86VM_GetGammaRamp(struct x11drv_gamma_ramp *ramp)
   if (xf86vm_major < 2) return FALSE; /* no gamma control */
 #ifdef X_XF86VidModeSetGammaRamp
   if (xf86vm_use_gammaramp)
-      return pXF86VidModeGetGammaRamp(gdi_display, DefaultScreen(gdi_display), 256,
+      return pXF86VidModeGetGammaRamp(gdi_display, DefaultScreen(gdi_display), GAMMA_RAMP_SIZE,
                                       ramp->red, ramp->green, ramp->blue);
 #endif
   if (pXF86VidModeGetGamma(gdi_display, DefaultScreen(gdi_display), &gamma))
@@ -367,7 +367,7 @@ static BOOL X11DRV_XF86VM_SetGammaRamp(struct x11drv_gamma_ramp *ramp)
       !ComputeGammaFromRamp(ramp->blue,  &gamma.blue)) return FALSE;
 #ifdef X_XF86VidModeSetGammaRamp
   if (xf86vm_use_gammaramp)
-      return pXF86VidModeSetGammaRamp(gdi_display, DefaultScreen(gdi_display), 256,
+      return pXF86VidModeSetGammaRamp(gdi_display, DefaultScreen(gdi_display), GAMMA_RAMP_SIZE,
                                       ramp->red, ramp->green, ramp->blue);
 #endif
   return pXF86VidModeSetGamma(gdi_display, DefaultScreen(gdi_display), &gamma);
-- 
2.16.1




More information about the wine-devel mailing list