xserver-xorg-video-ati: Changes to 'ubuntu'
debian/changelog | 7 ++++
debian/patches/xmir.patch | 72 +++++++++++++++++++++++-----------------------
2 files changed, 44 insertions(+), 35 deletions(-)
New commits:
commit ddb3136a7dfa537181681e8e9e09ffbd596d7e1d
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Fri Aug 2 21:00:31 2013 +1000
Fix flushing for XMir
diff --git a/debian/changelog b/debian/changelog
index ee8f4ef..30fd8a2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-ati (1:7.1.0+git20130801.g2ae6bb1-0ubuntu2) saucy; urgency=low
+
+ * xmir.patch: Flush rendering before submitting to Mir. Fixes occasional missing
+ rendering.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com> Fri, 02 Aug 2013 21:00:11 +1000
+
xserver-xorg-video-ati (1:7.1.0+git20130801.g2ae6bb1-0ubuntu1) saucy; urgency=low
* "In the finest traditions of the Watch"
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index 59606ac..87b7956 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -8,8 +8,8 @@ Date: Mon Jul 22 17:02:17 2013 +1000
Index: xf86-video-ati/src/drmmode_display.c
===================================================================
---- xf86-video-ati.orig/src/drmmode_display.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/drmmode_display.c 2013-08-01 20:43:13.060922426 +1000
+--- xf86-video-ati.orig/src/drmmode_display.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/drmmode_display.c 2013-08-02 20:57:42.467265083 +1000
@@ -1887,7 +1887,7 @@
if (!miCreateDefColormap(pScreen))
return FALSE;
@@ -21,8 +21,8 @@ Index: xf86-video-ati/src/drmmode_display.c
#if 0 /* This option messes up text mode! (eich@suse.de) */
Index: xf86-video-ati/src/radeon.h
===================================================================
---- xf86-video-ati.orig/src/radeon.h 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon.h 2013-08-01 20:43:13.060922426 +1000
+--- xf86-video-ati.orig/src/radeon.h 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon.h 2013-08-02 20:57:42.467265083 +1000
@@ -87,6 +87,13 @@
#include "picturestr.h"
#endif
@@ -52,8 +52,8 @@ Index: xf86-video-ati/src/radeon.h
/* radeon_accel.c */
Index: xf86-video-ati/src/radeon_bo_helper.c
===================================================================
---- xf86-video-ati.orig/src/radeon_bo_helper.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_bo_helper.c 2013-08-01 20:43:13.060922426 +1000
+--- xf86-video-ati.orig/src/radeon_bo_helper.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_bo_helper.c 2013-08-02 20:57:42.467265083 +1000
@@ -201,19 +201,25 @@
}
@@ -113,8 +113,8 @@ Index: xf86-video-ati/src/radeon_bo_helper.c
Index: xf86-video-ati/src/radeon_bo_helper.h
===================================================================
---- xf86-video-ati.orig/src/radeon_bo_helper.h 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_bo_helper.h 2013-08-01 20:43:13.064922426 +1000
+--- xf86-video-ati.orig/src/radeon_bo_helper.h 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_bo_helper.h 2013-08-02 20:57:42.467265083 +1000
@@ -33,6 +33,7 @@
extern Bool
@@ -126,8 +126,8 @@ Index: xf86-video-ati/src/radeon_bo_helper.h
#endif /* RADEON_BO_HELPER_H */
Index: xf86-video-ati/src/radeon_dri2.c
===================================================================
---- xf86-video-ati.orig/src/radeon_dri2.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_dri2.c 2013-08-01 20:43:13.064922426 +1000
+--- xf86-video-ati.orig/src/radeon_dri2.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_dri2.c 2013-08-02 20:57:42.471265083 +1000
@@ -1535,6 +1535,18 @@
#endif /* USE_DRI2_SCHEDULING */
@@ -170,8 +170,8 @@ Index: xf86-video-ati/src/radeon_dri2.c
dri2_info.CreateBuffer2 = radeon_dri2_create_buffer2;
Index: xf86-video-ati/src/radeon_exa.c
===================================================================
---- xf86-video-ati.orig/src/radeon_exa.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_exa.c 2013-08-01 20:43:13.064922426 +1000
+--- xf86-video-ati.orig/src/radeon_exa.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_exa.c 2013-08-02 20:57:42.471265083 +1000
@@ -326,12 +326,12 @@
Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *fd_handle)
{
@@ -189,8 +189,8 @@ Index: xf86-video-ati/src/radeon_exa.c
#endif
Index: xf86-video-ati/src/radeon_glamor.c
===================================================================
---- xf86-video-ati.orig/src/radeon_glamor.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_glamor.c 2013-08-01 20:43:13.064922426 +1000
+--- xf86-video-ati.orig/src/radeon_glamor.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_glamor.c 2013-08-02 20:57:42.471265083 +1000
@@ -277,14 +277,15 @@
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
struct radeon_surface surface;
@@ -212,8 +212,8 @@ Index: xf86-video-ati/src/radeon_glamor.c
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
Index: xf86-video-ati/src/radeon_kms.c
===================================================================
---- xf86-video-ati.orig/src/radeon_kms.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_kms.c 2013-08-01 20:44:14.872922340 +1000
+--- xf86-video-ati.orig/src/radeon_kms.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_kms.c 2013-08-02 20:58:45.655262323 +1000
@@ -220,7 +220,11 @@
return FALSE;
pScreen->CreateScreenResources = RADEONCreateScreenResources_KMS;
@@ -227,7 +227,7 @@ Index: xf86-video-ati/src/radeon_kms.c
return FALSE;
drmmode_uevent_init(pScrn, &info->drmmode);
-@@ -285,6 +289,100 @@
+@@ -285,6 +289,102 @@
}
#endif
@@ -264,6 +264,8 @@ Index: xf86-video-ati/src/radeon_kms.c
+ pScrn->virtualX, pScrn->virtualY);
+ info->accel_state->exa->DoneCopy (dst);
+
++ radeon_cs_flush_indirect(pScrn);
++
+cleanup_dst:
+ pScreen->DestroyPixmap(dst);
+ } else if (0) {
@@ -328,7 +330,7 @@ Index: xf86-video-ati/src/radeon_kms.c
static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
{
SCREEN_PTR(arg);
-@@ -302,6 +400,8 @@
+@@ -302,6 +402,8 @@
#ifdef RADEON_PIXMAP_SHARING
radeon_dirty_update(pScreen);
#endif
@@ -337,7 +339,7 @@ Index: xf86-video-ati/src/radeon_kms.c
}
static void
-@@ -606,6 +706,24 @@
+@@ -606,6 +708,24 @@
dev->domain, dev->bus, dev->dev, dev->func);
#endif
@@ -362,7 +364,7 @@ Index: xf86-video-ati/src/radeon_kms.c
info->dri2.drm_fd = drmOpen("radeon", busid);
if (info->dri2.drm_fd == -1) {
-@@ -835,6 +953,14 @@
+@@ -835,6 +955,14 @@
if (!RADEONPreInitChipType_KMS(pScrn))
goto fail;
@@ -377,7 +379,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (radeon_open_drm_master(pScrn) == FALSE) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n");
goto fail;
-@@ -913,6 +1039,10 @@
+@@ -913,6 +1041,10 @@
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"SwapBuffers wait for vsync: %sabled\n", info->swapBuffersWait ? "en" : "dis");
@@ -388,7 +390,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (drmmode_pre_init(pScrn, &info->drmmode, pScrn->bitsPerPixel / 8) == FALSE) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n");
goto fail;
-@@ -922,7 +1052,10 @@
+@@ -922,7 +1054,10 @@
pRADEONEnt->HasCRTC2 = FALSE;
else
pRADEONEnt->HasCRTC2 = TRUE;
@@ -400,7 +402,7 @@ Index: xf86-video-ati/src/radeon_kms.c
/* fix up cloning on rn50 cards
* since they only have one crtc sometimes the xserver doesn't assign
-@@ -1122,6 +1255,11 @@
+@@ -1122,6 +1257,11 @@
if (info->accel_state->use_vbos)
radeon_vbo_free_lists(pScrn);
@@ -412,7 +414,7 @@ Index: xf86-video-ati/src/radeon_kms.c
drmDropMaster(info->dri2.drm_fd);
drmmode_fini(pScrn, &info->drmmode);
-@@ -1157,7 +1295,7 @@
+@@ -1157,7 +1297,7 @@
int subPixelOrder = SubPixelUnknown;
char* s;
void *front_ptr;
@@ -421,7 +423,7 @@ Index: xf86-video-ati/src/radeon_kms.c
pScrn->fbOffset = 0;
-@@ -1168,7 +1306,8 @@
+@@ -1168,7 +1308,8 @@
pScrn->defaultVisual)) return FALSE;
miSetPixmapDepths ();
@@ -431,7 +433,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (ret) {
ErrorF("Unable to retrieve master\n");
return FALSE;
-@@ -1185,7 +1324,8 @@
+@@ -1185,7 +1326,8 @@
"failed to initialise GEM buffer manager");
return FALSE;
}
@@ -441,7 +443,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (!info->csm)
info->csm = radeon_cs_manager_gem_ctor(info->dri2.drm_fd);
-@@ -1259,6 +1399,9 @@
+@@ -1259,6 +1401,9 @@
/* Must be after RGB order fixed */
fbPictureInit (pScreen, 0, 0);
@@ -451,7 +453,7 @@ Index: xf86-video-ati/src/radeon_kms.c
#ifdef RENDER
if ((s = xf86GetOptValString(info->Options, OPTION_SUBPIXEL_ORDER))) {
if (strcmp(s, "RGB") == 0) subPixelOrder = SubPixelHorizontalRGB;
-@@ -1309,7 +1452,7 @@
+@@ -1309,7 +1454,7 @@
/* Cursor setup */
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
@@ -460,7 +462,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (RADEONCursorInit_KMS(pScreen)) {
}
}
-@@ -1385,13 +1528,13 @@
+@@ -1385,13 +1530,13 @@
{
SCRN_INFO_PTR(arg);
RADEONInfoPtr info = RADEONPTR(pScrn);
@@ -477,7 +479,7 @@ Index: xf86-video-ati/src/radeon_kms.c
if (ret)
ErrorF("Unable to retrieve master\n");
info->accel_state->XInited3D = FALSE;
-@@ -1399,7 +1542,9 @@
+@@ -1399,7 +1544,9 @@
pScrn->vtSema = TRUE;
@@ -488,7 +490,7 @@ Index: xf86-video-ati/src/radeon_kms.c
return FALSE;
return TRUE;
-@@ -1540,6 +1685,7 @@
+@@ -1540,6 +1687,7 @@
}
info->front_surface = surface;
}
@@ -498,8 +500,8 @@ Index: xf86-video-ati/src/radeon_kms.c
int c;
Index: xf86-video-ati/src/radeon_probe.c
===================================================================
---- xf86-video-ati.orig/src/radeon_probe.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_probe.c 2013-08-01 20:43:13.068922426 +1000
+--- xf86-video-ati.orig/src/radeon_probe.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_probe.c 2013-08-02 20:57:42.471265083 +1000
@@ -40,6 +40,7 @@
* KMS support - Dave Airlie <airlied@redhat.com>
*/
@@ -606,8 +608,8 @@ Index: xf86-video-ati/src/radeon_probe.c
Index: xf86-video-ati/src/radeon_video.c
===================================================================
---- xf86-video-ati.orig/src/radeon_video.c 2013-08-01 20:43:13.072922426 +1000
-+++ xf86-video-ati/src/radeon_video.c 2013-08-01 20:43:13.068922426 +1000
+--- xf86-video-ati.orig/src/radeon_video.c 2013-08-02 20:57:42.475265082 +1000
++++ xf86-video-ati/src/radeon_video.c 2013-08-02 20:57:42.471265083 +1000
@@ -70,7 +70,10 @@
Bool radeon_crtc_is_enabled(xf86CrtcPtr crtc)
{
Reply to: