From f1f43caf7e26a84dbacd4e5d7d47c8b4e4982836 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 28 Dec 2007 16:12:11 -0500 Subject: [PATCH] EDID 1.4: Allow for gamma definition in extension blocks. Section 3.6.3, Table 3.13: Display Transfer Characteristics (Gamma) --- hw/xfree86/ddc/edid.h | 2 +- hw/xfree86/ddc/print_edid.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) 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); }