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 >
Maybe Matching 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)