Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
xorg-x11-server.33719
U_xfree86_remove_xf86RandR12CrtcGetGamma.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File U_xfree86_remove_xf86RandR12CrtcGetGamma.patch of Package xorg-x11-server.33719
Git-commit: 17213b74fd7fc4c4e2fe7a3781e7422dd482a0ab Author: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> Subject: [PATCH] xfree86/modes: Remove xf86RandR12CrtcGetGamma Patch-Mainline: Upstream References: fate#321052 Signed-off-by: Michal Srb <msrb@suse.com> This would normally return the same values the core RandR code passed to xf86RandR12CrtcSetGamma before, which is rather pointless. The only possible exception would be if a driver tried initializing crtc->gamma_red/green/blue to reflect the hardware LUT state on startup, but that can't work correctly if whatever set the LUT before the server started was running at a different depth. Even the pointless round-trip case will no longer work with the following change. Reviewed-by: Keith Packard <keithp@keithp.com> diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index 5b24ebb..e097fa7 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -1279,40 +1279,6 @@ xf86RandR12CrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr randr_crtc) return TRUE; } -static Bool -xf86RandR12CrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr randr_crtc) -{ - xf86CrtcPtr crtc = randr_crtc->devPrivate; - - if (!crtc->gamma_size) - return FALSE; - - if (!crtc->gamma_red || !crtc->gamma_green || !crtc->gamma_blue) - return FALSE; - - /* Realloc randr gamma if needed. */ - if (randr_crtc->gammaSize != crtc->gamma_size) { - CARD16 *tmp_ptr; - - tmp_ptr = reallocarray(randr_crtc->gammaRed, - crtc->gamma_size, 3 * sizeof(CARD16)); - if (!tmp_ptr) - return FALSE; - randr_crtc->gammaRed = tmp_ptr; - randr_crtc->gammaGreen = randr_crtc->gammaRed + crtc->gamma_size; - randr_crtc->gammaBlue = randr_crtc->gammaGreen + crtc->gamma_size; - } - randr_crtc->gammaSize = crtc->gamma_size; - memcpy(randr_crtc->gammaRed, crtc->gamma_red, - crtc->gamma_size * sizeof(CARD16)); - memcpy(randr_crtc->gammaGreen, crtc->gamma_green, - crtc->gamma_size * sizeof(CARD16)); - memcpy(randr_crtc->gammaBlue, crtc->gamma_blue, - crtc->gamma_size * sizeof(CARD16)); - - return TRUE; -} - static void init_one_component(CARD16 *comp, unsigned size, unsigned shift, float gamma) { @@ -2077,13 +2043,11 @@ xf86RandR12Init12(ScreenPtr pScreen) ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); rrScrPrivPtr rp = rrGetScrPriv(pScreen); XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); - int i; rp->rrGetInfo = xf86RandR12GetInfo12; rp->rrScreenSetSize = xf86RandR12ScreenSetSize; rp->rrCrtcSet = xf86RandR12CrtcSet; rp->rrCrtcSetGamma = xf86RandR12CrtcSetGamma; - rp->rrCrtcGetGamma = xf86RandR12CrtcGetGamma; rp->rrOutputSetProperty = xf86RandR12OutputSetProperty; rp->rrOutputValidateMode = xf86RandR12OutputValidateMode; #if RANDR_13_INTERFACE @@ -2124,9 +2088,6 @@ xf86RandR12Init12(ScreenPtr pScreen) if (!xf86RandR12InitGamma(pScrn, 256)) return FALSE; - for (i = 0; i < rp->numCrtcs; i++) { - xf86RandR12CrtcGetGamma(pScreen, rp->crtcs[i]); - } return TRUE; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor