+++ /dev/null
-From 0945bea5fc32eacb7bf42639efbd45dcd43e7ab5 Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Mon, 10 Jun 2013 17:31:31 +0000
-Subject: vmwgfx: update for XA API changes
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
----
-diff --git a/configure.ac b/configure.ac
-index 0631bcc..dccfb27 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,7 +118,7 @@ if test x$BUILD_VMWGFX = xyes; then
- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
- fi
- if test x$BUILD_VMWGFX = xyes; then
-- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],[],[BUILD_VMWGFX=no])
-+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no])
- fi
-
- DRIVER_NAME=vmware
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 7de0772..2f007f0 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -201,7 +201,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- }
-
- private->srf = srf;
-- if (xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0)
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &buffer->name, &buffer->pitch) != 0)
- return FALSE;
-
- buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8;
-@@ -222,7 +223,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap);
-
- if (--private->refcount == 0 && srf) {
-- xa_surface_destroy(srf);
-+ xa_surface_unref(srf);
- }
-
- /*
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 7863ba2..3002285 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -617,7 +617,8 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd,
- return FALSE;
- }
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) {
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0) {
- LogMessage(X_ERROR, "Could not get present surface handle.\n");
- return FALSE;
- }
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 63df3a1..ed3c1ee 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -140,7 +140,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix)
- vpix->malloc = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) {
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) {
-@@ -286,7 +286,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- if (vpix->gmr && vsaa->can_optimize_dma) {
- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
- to_hw) != 0)
-@@ -305,6 +306,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- (int) to_hw,
- (struct xa_box *) REGION_RECTS(reg),
- REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
- if (vpix->gmr)
- vmwgfx_dmabuf_unmap(vpix->gmr);
- if (ret)
-@@ -441,7 +444,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa,
- &spix->dirty_hw))
- return FALSE;
-
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
-
- /*
-@@ -683,7 +686,8 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa,
-
- (void) pScreen;
- if (src_vpix == dst_vpix || !src_vpix->hw ||
-- xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0)
-+ xa_surface_handle(src_vpix->hw, xa_handle_type_shared,
-+ &vsaa->src_handle, &dummy) != 0)
- return FALSE;
-
- REGION_NULL(pScreen, &vsaa->present_region);
-@@ -784,7 +788,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa,
- return TRUE;
-
- out_no_damage:
-- xa_surface_destroy(hw);
-+ xa_surface_unref(hw);
- return FALSE;
- }
-
-@@ -929,6 +933,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver,
-
- if (!vmwgfx_hw_validate(src_pixmap, src_reg)) {
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- return FALSE;
- }
-
-@@ -1029,6 +1034,7 @@ vmwgfx_copy_done(struct saa_driver *driver)
- return;
- }
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static Bool
-@@ -1175,6 +1181,7 @@ vmwgfx_composite_done(struct saa_driver *driver)
- struct vmwgfx_saa *vsaa = to_vmwgfx_saa(driver);
-
- xa_composite_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static void
-@@ -1436,7 +1443,8 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry)
- */
- if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL))
- goto out_err;
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- depth = xa_format_depth(xa_surface_format(vpix->hw));
-
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 449266b..2971ed7 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
-
- for (i=0; i<3; ++i) {
- if (priv->yuv[i]) {
-- xa_surface_destroy(priv->yuv[i]);
-+ xa_surface_unref(priv->yuv[i]);
- priv->yuv[i] = NULL;
- }
- for (j=0; j<2; ++j) {
-@@ -539,7 +539,8 @@ copy_packed_data(ScrnInfoPtr pScrn,
- REGION_RESET(pScrn->pScreen, ®, &box);
- }
-
-- if (xa_surface_handle(srf, &handle, &stride) != 0) {
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &handle, &stride) != 0) {
- ret = BadAlloc;
- break;
- }
---
-cgit v0.9.0.2-2-gbebe
+++ /dev/null
-From 4664412d7a5266d2b392957406b34abc5db95e48 Mon Sep 17 00:00:00 2001
-From: Stefan Dirsch <sndirsch@suse.de>
-Date: Tue, 7 Oct 2014 11:29:32 +0200
-Subject: xf86xv.h cannot be included without first including xorg-server.h.
-
-Without this the build fails on systems with the latest glibc,
-throwing this error:
-
-In file included from /usr/include/string.h:634:0,
- from /usr/include/xorg/os.h:53,
- from /usr/include/xorg/misc.h:115,
- from /usr/include/xorg/screenint.h:50,
- from /usr/include/xorg/scrnintstr.h:50,
- from /usr/include/xorg/xvdix.h:55,
- from /usr/include/xorg/xf86xv.h:32,
- from vmwgfx_overlay.c:38:
-/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
-strndup(const char *str, size_t n);
-
-This is caused by HAVE_STRNDUP not being set (it is set from xorg-server.h),
-causing os.h to redefine it.
-
-Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
-Reviewed-by: Daniel Stone <daniels@collabora.com>
-Acked-by: Thomas Hellstrom <thellstrom@vmware.com>
-
-diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c
-index ef1d541..2b05b0e 100644
---- a/vmwgfx/vmwgfx_overlay.c
-+++ b/vmwgfx/vmwgfx_overlay.c
-@@ -35,6 +35,7 @@
- */
-
-
-+#include "xorg-server.h"
- #include "xf86xv.h"
- #include "fourcc.h"
- #define debug_printf(...)
---
-cgit v0.10.2
-