Ilia Mirkin
2019-Jan-20 18:51 UTC
[Nouveau] [PATCH] adapt to HAS_DIRTYTRACKING_DRAWABLE_SRC changes
Apparently it now wants a drawable. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- No idea about whether this is correct. Saw the new warnings though. src/drmmode_display.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 2480122..f677e24 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -697,7 +697,13 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) int c, total_width = 0, max_height = 0, this_x = 0; if (!ppix) { if (crtc->randr_crtc->scanout_pixmap) { - PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix); + PixmapStopDirtyTracking( +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC + &crtc->randr_crtc->scanout_pixmap->drawable, +#else + crtc->randr_crtc->scanout_pixmap, +#endif + screenpix); if (drmmode && drmmode->fb_id) { drmModeRmFB(drmmode->fd, drmmode->fb_id); drmmode->fb_id = 0; @@ -744,7 +750,13 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) } drmmode_crtc->scanout_pixmap_x = this_x; #ifdef HAS_DIRTYTRACKING_ROTATION - PixmapStartDirtyTracking(ppix, screenpix, 0, 0, this_x, 0, RR_Rotate_0); + PixmapStartDirtyTracking( +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC + &ppix->drawable, +#else + ppix, +#endif + screenpix, 0, 0, this_x, 0, RR_Rotate_0); #elif defined(HAS_DIRTYTRACKING2) PixmapStartDirtyTracking2(ppix, screenpix, 0, 0, this_x, 0); #else -- 2.19.2
Ilia Mirkin
2019-Jan-20 18:58 UTC
[Nouveau] [PATCH] adapt to HAS_DIRTYTRACKING_DRAWABLE_SRC changes
Probably needs more investigation. The relevant patch for amdgpu is https://lists.x.org/archives/xorg-devel/2017-April/053439.html -- needs checking to see what this is all talking about. On Sun, Jan 20, 2019 at 1:51 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:> > Apparently it now wants a drawable. > > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> > --- > > No idea about whether this is correct. Saw the new warnings though. > > src/drmmode_display.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/src/drmmode_display.c b/src/drmmode_display.c > index 2480122..f677e24 100644 > --- a/src/drmmode_display.c > +++ b/src/drmmode_display.c > @@ -697,7 +697,13 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) > int c, total_width = 0, max_height = 0, this_x = 0; > if (!ppix) { > if (crtc->randr_crtc->scanout_pixmap) { > - PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix); > + PixmapStopDirtyTracking( > +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC > + &crtc->randr_crtc->scanout_pixmap->drawable, > +#else > + crtc->randr_crtc->scanout_pixmap, > +#endif > + screenpix); > if (drmmode && drmmode->fb_id) { > drmModeRmFB(drmmode->fd, drmmode->fb_id); > drmmode->fb_id = 0; > @@ -744,7 +750,13 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) > } > drmmode_crtc->scanout_pixmap_x = this_x; > #ifdef HAS_DIRTYTRACKING_ROTATION > - PixmapStartDirtyTracking(ppix, screenpix, 0, 0, this_x, 0, RR_Rotate_0); > + PixmapStartDirtyTracking( > +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC > + &ppix->drawable, > +#else > + ppix, > +#endif > + screenpix, 0, 0, this_x, 0, RR_Rotate_0); > #elif defined(HAS_DIRTYTRACKING2) > PixmapStartDirtyTracking2(ppix, screenpix, 0, 0, this_x, 0); > #else > -- > 2.19.2 >
Apparently Analagous Threads
- [PATCH xserver] Make PixmapDirtyUpdateRec::src a DrawablePtr
- [PATCH xf86-video-nouveau] Properly cleanup fb for reverse-prime-offload
- [xf86-video-nouveau] Properly cleanup fb for reverse-prime-offload
- [PATCH xf86-video-amdgpu] Adapt to PixmapDirtyUpdateRec::src being a DrawablePtr
- [Bug 60369] New: src/nouveau_exa.c:142:31: error: 'CREATE_PIXMAP_USAGE_SHARED' undeclared (first use in this function)