aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/drivers/dri/common
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa/drivers/dri/common')
-rwxr-xr-x[-rw-r--r--]mesalib/src/mesa/drivers/dri/common/dri_util.c84
-rw-r--r--mesalib/src/mesa/drivers/dri/common/megadriver_stub.c2
-rw-r--r--mesalib/src/mesa/drivers/dri/common/xmlconfig.c39
-rwxr-xr-x[-rw-r--r--]mesalib/src/mesa/drivers/dri/common/xmlconfig.h0
4 files changed, 78 insertions, 47 deletions
diff --git a/mesalib/src/mesa/drivers/dri/common/dri_util.c b/mesalib/src/mesa/drivers/dri/common/dri_util.c
index 6c78928ee..f18fac61e 100644..100755
--- a/mesalib/src/mesa/drivers/dri/common/dri_util.c
+++ b/mesalib/src/mesa/drivers/dri/common/dri_util.c
@@ -116,6 +116,8 @@ driCreateNewScreen2(int scrn, int fd,
{
static const __DRIextension *emptyExtensionList[] = { NULL };
__DRIscreen *psp;
+ int gl_version_override;
+ int i;
psp = calloc(1, sizeof(*psp));
if (!psp)
@@ -128,7 +130,7 @@ driCreateNewScreen2(int scrn, int fd,
* (megadrivers), use that instead.
*/
if (driver_extensions) {
- for (int i = 0; driver_extensions[i]; i++) {
+ for (i = 0; driver_extensions[i]; i++) {
if (strcmp(driver_extensions[i]->name, __DRI_DRIVER_VTABLE) == 0) {
psp->driver =
((__DRIDriverVtableExtension *)driver_extensions[i])->vtable;
@@ -162,7 +164,7 @@ driCreateNewScreen2(int scrn, int fd,
return NULL;
}
- int gl_version_override = _mesa_get_gl_version_override();
+ gl_version_override = _mesa_get_gl_version_override();
if (gl_version_override >= 31) {
psp->max_gl_core_version = MAX2(psp->max_gl_core_version,
gl_version_override);
@@ -310,6 +312,8 @@ driCreateContextAttribs(__DRIscreen *screen, int api,
unsigned minor_version = 0;
uint32_t flags = 0;
bool notify_reset = false;
+ unsigned i;
+ struct gl_context *ctx;
assert((num_attribs == 0) || (attribs != NULL));
@@ -337,7 +341,7 @@ driCreateContextAttribs(__DRIscreen *screen, int api,
return NULL;
}
- for (unsigned i = 0; i < num_attribs; i++) {
+ for (i = 0; i < num_attribs; i++) {
switch (attribs[i * 2]) {
case __DRI_CTX_ATTRIB_MAJOR_VERSION:
major_version = attribs[i * 2 + 1];
@@ -732,36 +736,36 @@ driSwapBuffers(__DRIdrawable *pdp)
/** Core interface */
const __DRIcoreExtension driCoreExtension = {
- .base = { __DRI_CORE, 1 },
-
- .createNewScreen = NULL,
- .destroyScreen = driDestroyScreen,
- .getExtensions = driGetExtensions,
- .getConfigAttrib = driGetConfigAttrib,
- .indexConfigAttrib = driIndexConfigAttrib,
- .createNewDrawable = NULL,
- .destroyDrawable = driDestroyDrawable,
- .swapBuffers = driSwapBuffers, /* swrast */
- .createNewContext = driCreateNewContext, /* swrast */
- .copyContext = driCopyContext,
- .destroyContext = driDestroyContext,
- .bindContext = driBindContext,
- .unbindContext = driUnbindContext
+ /*.base =*/ { __DRI_CORE, 1 },
+
+ /*.createNewScreen =*/ NULL,
+ /*.destroyScreen =*/ driDestroyScreen,
+ /*.getExtensions =*/ driGetExtensions,
+ /*.getConfigAttrib =*/ driGetConfigAttrib,
+ /*.indexConfigAttrib =*/ driIndexConfigAttrib,
+ /*.createNewDrawable =*/ NULL,
+ /*.destroyDrawable =*/ driDestroyDrawable,
+ /*.swapBuffers =*/ driSwapBuffers, /* swrast */
+ /*.createNewContext =*/ driCreateNewContext, /* swrast */
+ /*.copyContext =*/ driCopyContext,
+ /*.destroyContext =*/ driDestroyContext,
+ /*.bindContext =*/ driBindContext,
+ /*.unbindContext =*/ driUnbindContext
};
/** DRI2 interface */
const __DRIdri2Extension driDRI2Extension = {
- .base = { __DRI_DRI2, 4 },
-
- .createNewScreen = dri2CreateNewScreen,
- .createNewDrawable = driCreateNewDrawable,
- .createNewContext = driCreateNewContext,
- .getAPIMask = driGetAPIMask,
- .createNewContextForAPI = driCreateNewContextForAPI,
- .allocateBuffer = dri2AllocateBuffer,
- .releaseBuffer = dri2ReleaseBuffer,
- .createContextAttribs = driCreateContextAttribs,
- .createNewScreen2 = driCreateNewScreen2,
+ /*.base =*/ { __DRI_DRI2, 4 },
+
+ /*.createNewScreen =*/ dri2CreateNewScreen,
+ /*.createNewDrawable =*/ driCreateNewDrawable,
+ /*.createNewContext =*/ driCreateNewContext,
+ /*.getAPIMask =*/ driGetAPIMask,
+ /*.createNewContextForAPI =*/ driCreateNewContextForAPI,
+ /*.allocateBuffer =*/ dri2AllocateBuffer,
+ /*.releaseBuffer =*/ dri2ReleaseBuffer,
+ /*.createContextAttribs =*/ driCreateContextAttribs,
+ /*.createNewScreen2 =*/ driCreateNewScreen2,
};
const __DRIswrastExtension driSWRastExtension = {
@@ -775,11 +779,11 @@ const __DRIswrastExtension driSWRastExtension = {
};
const __DRI2configQueryExtension dri2ConfigQueryExtension = {
- .base = { __DRI2_CONFIG_QUERY, 1 },
+ /*.base =*/ { __DRI2_CONFIG_QUERY, 1 },
- .configQueryb = dri2ConfigQueryb,
- .configQueryi = dri2ConfigQueryi,
- .configQueryf = dri2ConfigQueryf,
+ /*.configQueryb =*/ dri2ConfigQueryb,
+ /*.configQueryi =*/ dri2ConfigQueryi,
+ /*.configQueryf =*/ dri2ConfigQueryf,
};
void
@@ -871,12 +875,12 @@ driImageFormatToGLFormat(uint32_t image_format)
/** Image driver interface */
const __DRIimageDriverExtension driImageDriverExtension = {
- .base = { __DRI_IMAGE_DRIVER, 1 },
+ /*.base =*/ { __DRI_IMAGE_DRIVER, 1 },
- .createNewScreen2 = driCreateNewScreen2,
- .createNewDrawable = driCreateNewDrawable,
- .getAPIMask = driGetAPIMask,
- .createContextAttribs = driCreateContextAttribs,
+ /*.createNewScreen2 =*/ driCreateNewScreen2,
+ /*.createNewDrawable =*/ driCreateNewDrawable,
+ /*.createContextAttribs =*/ driCreateContextAttribs,
+ /*.getAPIMask =*/ driGetAPIMask,
};
/* swrast copy sub buffer entrypoint. */
@@ -890,7 +894,7 @@ static void driCopySubBuffer(__DRIdrawable *pdp, int x, int y,
/* for swrast only */
const __DRIcopySubBufferExtension driCopySubBufferExtension = {
- .base = { __DRI_COPY_SUB_BUFFER, 1 },
+ /*.base =*/ { __DRI_COPY_SUB_BUFFER, 1 },
- .copySubBuffer = driCopySubBuffer,
+ /*.copySubBuffer =*/ driCopySubBuffer,
};
diff --git a/mesalib/src/mesa/drivers/dri/common/megadriver_stub.c b/mesalib/src/mesa/drivers/dri/common/megadriver_stub.c
index d085080a1..f0c8878a8 100644
--- a/mesalib/src/mesa/drivers/dri/common/megadriver_stub.c
+++ b/mesalib/src/mesa/drivers/dri/common/megadriver_stub.c
@@ -162,5 +162,5 @@ __DRIconfig **stub_error_init_screen(__DRIscreen *psp)
* never be used.
*/
const struct __DriverAPIRec driDriverAPI = {
- .InitScreen = stub_error_init_screen,
+ /*.InitScreen = */stub_error_init_screen,
};
diff --git a/mesalib/src/mesa/drivers/dri/common/xmlconfig.c b/mesalib/src/mesa/drivers/dri/common/xmlconfig.c
index ce376475c..d11ba4e4b 100644
--- a/mesalib/src/mesa/drivers/dri/common/xmlconfig.c
+++ b/mesalib/src/mesa/drivers/dri/common/xmlconfig.c
@@ -101,7 +101,11 @@ static const char *__getProgramName () {
# define GET_PROGRAM_NAME() __getProgramName()
# else
# define GET_PROGRAM_NAME() ""
+# ifdef _MSC_VER
+# pragma message("Per application configuration won't work with your OS version.")
+# else
# warning "Per application configuration won't work with your OS version."
+# endif
# endif
#endif
@@ -286,6 +290,29 @@ static float strToF (const XML_Char *string, const XML_Char **tail) {
return result;
}
+#if !defined(HAVE_STRNDUP)
+
+/* Emulates glibc's strndup() */
+char *
+strndup(const char *str, size_t size)
+{
+ size_t len;
+ char *result = (char *)NULL;
+
+ if ((char *)NULL == str) return (char *)NULL;
+
+ len = strlen(str);
+ if (!len) return strdup("");
+ if (size > len) size = len;
+
+ result = (char *)malloc((size + 1) * sizeof (char));
+ memcpy(result, str, size);
+ result[size] = 0x0;
+ return result;
+}
+
+#endif /* _WIN32 should be !HAVE_STRNDUP */
+
/** \brief Parse a value of a given type. */
static unsigned char parseValue (driOptionValue *v, driOptionType type,
const XML_Char *string) {
@@ -445,11 +472,11 @@ __driUtilMessage(const char *f, ...)
(int) XML_GetCurrentLineNumber(data->parser), \
(int) XML_GetCurrentColumnNumber(data->parser)); \
} while (0)
-#define XML_WARNING(msg,args...) do { \
+#define XML_WARNING(msg, ...) do { \
__driUtilMessage ("Warning in %s line %d, column %d: "msg, data->name, \
(int) XML_GetCurrentLineNumber(data->parser), \
(int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
+ __VA_ARGS__); \
} while (0)
/** \brief Output an error message. */
#define XML_ERROR1(msg) do { \
@@ -457,11 +484,11 @@ __driUtilMessage(const char *f, ...)
(int) XML_GetCurrentLineNumber(data->parser), \
(int) XML_GetCurrentColumnNumber(data->parser)); \
} while (0)
-#define XML_ERROR(msg,args...) do { \
+#define XML_ERROR(msg, ...) do { \
__driUtilMessage ("Error in %s line %d, column %d: "msg, data->name, \
(int) XML_GetCurrentLineNumber(data->parser), \
(int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
+ __VA_ARGS__); \
} while (0)
/** \brief Output a fatal error message and abort. */
#define XML_FATAL1(msg) do { \
@@ -471,12 +498,12 @@ __driUtilMessage(const char *f, ...)
(int) XML_GetCurrentColumnNumber(data->parser)); \
abort();\
} while (0)
-#define XML_FATAL(msg,args...) do { \
+#define XML_FATAL(msg, ...) do { \
fprintf (stderr, "Fatal error in %s line %d, column %d: "msg"\n", \
data->name, \
(int) XML_GetCurrentLineNumber(data->parser), \
(int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
+ __VA_ARGS__); \
abort();\
} while (0)
diff --git a/mesalib/src/mesa/drivers/dri/common/xmlconfig.h b/mesalib/src/mesa/drivers/dri/common/xmlconfig.h
index 8969843bd..8969843bd 100644..100755
--- a/mesalib/src/mesa/drivers/dri/common/xmlconfig.h
+++ b/mesalib/src/mesa/drivers/dri/common/xmlconfig.h