xf86-video-amdgpu: Branch 'master'

Michel Dänzer daenzer at kemper.freedesktop.org
Fri Jul 20 09:55:37 UTC 2018


 src/drmmode_display.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit b8d8416792488f7b15c94234d7e0e35d5ce10ed9
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Jul 19 11:36:19 2018 +0200

    Free previous xf86CrtcRec gamma LUT memory
    
    We were leaking it.
    
    Also, don't bother allocating new memory if it's already the expected
    size.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 2222022..e127593 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -3649,13 +3649,18 @@ Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn)
 
 			for (i = 0; i < xf86_config->num_crtc; i++) {
 				xf86CrtcPtr crtc = xf86_config->crtc[i];
-				void *gamma = malloc(1024 * 3 * sizeof(CARD16));
+				void *gamma;
 
+				if (crtc->gamma_size == 1024)
+					continue;
+
+				gamma = malloc(1024 * 3 * sizeof(CARD16));
 				if (!gamma) {
 					ErrorF("Failed to allocate gamma LUT memory\n");
 					return FALSE;
 				}
 
+				free(crtc->gamma_red);
 				crtc->gamma_size = 1024;
 				crtc->gamma_red = gamma;
 				crtc->gamma_green = crtc->gamma_red + crtc->gamma_size;


More information about the xorg-commit mailing list