On Thu, Jan 8, 2015 at 2:10 PM, Keith Packard <[email protected]> wrote:
> Jason Ekstrand <[email protected]> writes: > > > + old_shadow = drmmode->shadow_bo; > > > > if (!drmmode_create_bo(drmmode, &drmmode->front_bo, > > width, height, scrn->bitsPerPixel)) > > @@ -1218,13 +1219,9 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int > width, int height) > > } > > > > if (drmmode->shadow_enable) { > > - uint32_t size = scrn->displayWidth * scrn->virtualY * > > - ((scrn->bitsPerPixel + 7) >> 3); > > - new_pixels = calloc(1, size); > > - if (new_pixels == NULL) > > + if (!drmmode_create_bo(drmmode, &drmmode->shadow_bo, > > + width, height, scrn->bitsPerPixel)) > > goto fail; > > - free(drmmode->shadow_fb); > > - drmmode->shadow_fb = new_pixels; > > } > > I don't see the old shadow_bo getting freed anywhere; did I miss > something? > The real answer is that, as far as I can tell, this code shouldn't be touching the shadow and the shadow shouldn't be in the drmmode structure at all. Unless I'm competely missing everything, shadows should be per-crtc. If that's correct, then the modesetting driver's shadow handling is just completely bogus. I'm reworking things again. This patch series just keeps getting longer... > > The rest of this patch looks good and is > > Reviewed-by: Keith Packard <[email protected]> > > -- > -keith >
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
