diff --git a/hw/xfree86/ddc/edid.h b/hw/xfree86/ddc/edid.h index 25163a69f..198794eaa 100644 --- a/hw/xfree86/ddc/edid.h +++ b/hw/xfree86/ddc/edid.h @@ -129,7 +129,7 @@ #define BPC _BPC(GET(D_INPUT)) #define _DIGITAL_INTERFACE(x) (x & 0x0F) #define DIGITAL_INTERFACE _DIGITAL_INTERFACE(GET(D_INPUT)) -#define _GAMMA(x) (x == 0xff ? 1.0 : ((x + 100.0)/100.0)) +#define _GAMMA(x) (x == 0xff ? 0.0 : ((x + 100.0)/100.0)) #define GAMMA _GAMMA(GET(D_GAMMA)) #define HSIZE_MAX GET(D_HSIZE) #define VSIZE_MAX GET(D_VSIZE) diff --git a/hw/xfree86/ddc/print_edid.c b/hw/xfree86/ddc/print_edid.c index 59d414fc7..880ca073c 100644 --- a/hw/xfree86/ddc/print_edid.c +++ b/hw/xfree86/ddc/print_edid.c @@ -191,7 +191,11 @@ print_display(int scrnIndex, struct disp_features *disp, xf86DrvMsg(scrnIndex, X_INFO, "Indeterminate output size\n"); } - xf86DrvMsg(scrnIndex, X_INFO, "Gamma: %.2f\n", disp->gamma); + if (!gamma && v->revision >= 1.4) + xf86DrvMsg(scrnIndex, X_INFO, "Gamma defined in extension block\n"); + else + xf86DrvMsg(scrnIndex, X_INFO, "Gamma: %.2f\n", disp->gamma); + print_dpms_features(scrnIndex, disp, v); print_whitepoint(scrnIndex, disp); }