summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common_compat.h13
-rw-r--r--src/vmware_bootstrap.c16
-rw-r--r--src/vmwarevideo.c14
-rw-r--r--vmwgfx/vmwgfx_overlay.c8
-rw-r--r--vmwgfx/vmwgfx_tex_video.c22
5 files changed, 55 insertions, 18 deletions
diff --git a/src/common_compat.h b/src/common_compat.h
index d7b4867..5c46a73 100644
--- a/src/common_compat.h
+++ b/src/common_compat.h
@@ -7,5 +7,18 @@
#define CONST_ABI_18_0
#endif
+#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 16)
+#define CONST_ABI_16_0 const
+#else
+#define CONST_ABI_16_0
+#endif
+
+#if ((GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 16) && \
+ (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 19))
+#define CONST_ABI_16_TO_19 const
+#else
+#define CONST_ABI_16_TO_19
+#endif
+
#endif
diff --git a/src/vmware_bootstrap.c b/src/vmware_bootstrap.c
index d7ab070..4f59e73 100644
--- a/src/vmware_bootstrap.c
+++ b/src/vmware_bootstrap.c
@@ -82,6 +82,10 @@
#define VMWARE_NAME "vmware"
#define VMWARE_DRIVER_NAME "vmware"
+
+static char vmware_name[] = VMWARE_NAME;
+static char vmware_driver_name[] = VMWARE_DRIVER_NAME;
+
#define VMWARE_DRIVER_VERSION \
(PACKAGE_VERSION_MAJOR * 65536 + PACKAGE_VERSION_MINOR * 256 + PACKAGE_VERSION_PATCHLEVEL)
#define VMWARE_DRIVER_VERSION_STRING \
@@ -255,8 +259,10 @@ VMwarePreinitStub(ScrnInfoPtr pScrn, int flags)
if (pciInfo == NULL)
return FALSE;
- pScrn->chipset = (char*)xf86TokenToString(VMWAREChipsets,
- DEVICE_ID(pciInfo));
+ pScrn->chipset = xstrdup(xf86TokenToString(VMWAREChipsets,
+ DEVICE_ID(pciInfo)));
+ if (pScrn->chipset == NULL)
+ return FALSE;
return (*pScrn->PreInit)(pScrn, flags);
};
@@ -274,8 +280,8 @@ VMwarePciProbe (DriverPtr drv,
NULL, NULL, NULL, NULL, NULL);
if (scrn != NULL) {
scrn->driverVersion = VMWARE_DRIVER_VERSION;
- scrn->driverName = VMWARE_DRIVER_NAME;
- scrn->name = VMWARE_NAME;
+ scrn->driverName = vmware_driver_name;
+ scrn->name = vmware_name;
scrn->Probe = NULL;
}
@@ -509,7 +515,7 @@ VMWareDriverFunc(ScrnInfoPtr pScrn,
_X_EXPORT DriverRec vmware = {
VMWARE_DRIVER_VERSION,
- VMWARE_DRIVER_NAME,
+ vmware_driver_name,
VMWAREIdentify,
#if XSERVER_LIBPCIACCESS
NULL,
diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c
index 634af69..3ba1dcd 100644
--- a/src/vmwarevideo.c
+++ b/src/vmwarevideo.c
@@ -44,6 +44,7 @@
#include "fourcc.h"
#include "svga_escape.h"
#include "svga_overlay.h"
+#include "common_compat.h"
#include <X11/extensions/Xv.h>
@@ -52,6 +53,8 @@
#include <xf86_libc.h>
#endif
+static CONST_ABI_16_0 char xv_adapt_name[] = "VMWare Overlay Video Engine";
+static CONST_ABI_16_0 char xv_image_name[] = "XV_IMAGE";
#define HAVE_FILLKEYHELPERDRAWABLE \
((GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 2) || \
@@ -90,7 +93,7 @@ static XF86VideoEncodingRec vmwareVideoEncodings[] =
{
{
0,
- "XV_IMAGE",
+ xv_image_name,
VMWARE_VID_MAX_WIDTH, VMWARE_VID_MAX_HEIGHT,
{1, 1}
}
@@ -111,6 +114,9 @@ static XF86ImageRec vmwareVideoImages[] =
XVIMAGE_UYVY
};
+static CONST_ABI_16_TO_19 char xv_colorkey_name[] = "XV_COLORKEY";
+static CONST_ABI_16_TO_19 char xv_autopaint_name[] = "XV_AUTOPAINT_COLORKEY";
+
#define VMWARE_VID_NUM_ATTRIBUTES 2
static XF86AttributeRec vmwareVideoAttributes[] =
{
@@ -118,13 +124,13 @@ static XF86AttributeRec vmwareVideoAttributes[] =
XvGettable | XvSettable,
0x000000,
0xffffff,
- "XV_COLORKEY"
+ xv_colorkey_name,
},
{
XvGettable | XvSettable,
0,
1,
- "XV_AUTOPAINT_COLORKEY"
+ xv_autopaint_name,
}
};
@@ -575,7 +581,7 @@ vmwareVideoSetup(ScrnInfoPtr pScrn)
adaptor->type = XvInputMask | XvImageMask | XvWindowMask;
adaptor->flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT;
- adaptor->name = "VMware Video Engine";
+ adaptor->name = xv_adapt_name;
adaptor->nEncodings = VMWARE_VID_NUM_ENCODINGS;
adaptor->pEncodings = vmwareVideoEncodings;
adaptor->nFormats = VMWARE_VID_NUM_FORMATS;
diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c
index 49bad73..c35cebd 100644
--- a/vmwgfx/vmwgfx_overlay.c
+++ b/vmwgfx/vmwgfx_overlay.c
@@ -61,6 +61,7 @@ typedef uint8_t uint8;
#include "../src/svga_reg.h"
#include "../src/svga_escape.h"
#include "../src/svga_overlay.h"
+#include "../src/common_compat.h"
#include <X11/extensions/Xv.h>
@@ -114,6 +115,9 @@ static XF86ImageRec vmwareVideoImages[] =
XVIMAGE_UYVY
};
+static CONST_ABI_16_TO_19 char xv_colorkey_name[] = "XV_COLORKEY";
+static CONST_ABI_16_TO_19 char xv_autopaint_name[] = "XV_AUTOPAINT_COLORKEY";
+
#define VMWARE_VID_NUM_ATTRIBUTES 2
static XF86AttributeRec vmwareVideoAttributes[] =
{
@@ -121,13 +125,13 @@ static XF86AttributeRec vmwareVideoAttributes[] =
XvGettable | XvSettable,
0x000000,
0xffffff,
- "XV_COLORKEY"
+ xv_colorkey_name,
},
{
XvGettable | XvSettable,
0,
1,
- "XV_AUTOPAINT_COLORKEY"
+ xv_autopaint_name,
}
};
diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
index f2cc813..a767d89 100644
--- a/vmwgfx/vmwgfx_tex_video.c
+++ b/vmwgfx/vmwgfx_tex_video.c
@@ -32,6 +32,7 @@
#include "vmwgfx_driver.h"
#include "vmwgfx_drmi.h"
#include "vmwgfx_saa.h"
+#include "../src/common_compat.h"
#include <xf86xv.h>
#include <X11/extensions/Xv.h>
@@ -40,7 +41,9 @@
#include <xa_context.h>
#include <math.h>
-/*XXX get these from pipe's texture limits */
+static CONST_ABI_16_0 char xv_adapt_name[] = "XA G3D Textured Video";
+
+/*Xxx get these from pipe's texture limits */
#define IMAGE_MAX_WIDTH 2048
#define IMAGE_MAX_HEIGHT 2048
@@ -71,13 +74,18 @@ static const float bt_709[] = {
};
static Atom xvBrightness, xvContrast, xvSaturation, xvHue;
+static CONST_ABI_16_TO_19 char xv_brightness_name[] = "XV_BRIGHTNESS";
+static CONST_ABI_16_TO_19 char xv_contrast_name[] = "XV_CONTRAST";
+static CONST_ABI_16_TO_19 char xv_saturation_name[] = "XV_SATURATION";
+static CONST_ABI_16_TO_19 char xv_hue_name[] = "XV_HUE";
+static CONST_ABI_16_TO_19 char xv_image_name[] = "XV_IMAGE";
#define NUM_TEXTURED_ATTRIBUTES 4
static const XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = {
- {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"},
- {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"},
- {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"},
- {XvSettable | XvGettable, -1000, 1000, "XV_HUE"}
+ {XvSettable | XvGettable, -1000, 1000, xv_brightness_name},
+ {XvSettable | XvGettable, -1000, 1000, xv_contrast_name},
+ {XvSettable | XvGettable, -1000, 1000, xv_saturation_name},
+ {XvSettable | XvGettable, -1000, 1000, xv_hue_name}
};
#define NUM_FORMATS 3
@@ -88,7 +96,7 @@ static XF86VideoFormatRec Formats[NUM_FORMATS] = {
static XF86VideoEncodingRec DummyEncoding[1] = {
{
0,
- "XV_IMAGE",
+ xv_image_name,
IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT,
{1, 1}
}
@@ -943,7 +951,7 @@ xorg_setup_textured_adapter(ScreenPtr pScreen)
adapt->type = XvWindowMask | XvInputMask | XvImageMask;
adapt->flags = 0;
- adapt->name = "XA G3D Textured Video";
+ adapt->name = xv_adapt_name;
adapt->nEncodings = 1;
adapt->pEncodings = DummyEncoding;
adapt->nFormats = NUM_FORMATS;