summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Lis <tomasz.lis@intel.com>2013-07-17 13:49:14 +0200
committerIan Romanick <ian.d.romanick@intel.com>2013-07-18 16:03:42 -0700
commit36259a16fe9b1ab60c7cb4fbf41077fb480a2bec (patch)
tree1d75497e5e714945f30ec500cf5b2ce5a5e643d7
parent7791c9869b233e45a9089eae124dc9aa4f4e519a (diff)
downloadexternal_mesa3d-36259a16fe9b1ab60c7cb4fbf41077fb480a2bec.zip
external_mesa3d-36259a16fe9b1ab60c7cb4fbf41077fb480a2bec.tar.gz
external_mesa3d-36259a16fe9b1ab60c7cb4fbf41077fb480a2bec.tar.bz2
glx: Store the value of renderType while creating context
Make sure that renderType property value is stored in GLX context while it's being created. Further patches will be provided to make the value correspond to fbconfig's renderType. v2 (idr): Move a hunk from the next patch to this patch to prevent a build break. Signed-off-by: Tomasz Lis <tomasz.lis@intel.com> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-rw-r--r--src/glx/dri2_glx.c8
-rw-r--r--src/glx/dri_glx.c2
-rw-r--r--src/glx/drisw_glx.c5
-rw-r--r--src/glx/glxcmds.c4
4 files changed, 17 insertions, 2 deletions
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index 7ce5775..cc75b91 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -226,6 +226,8 @@ dri2_create_context(struct glx_screen *base,
return NULL;
}
+ pcp->base.renderType = renderType;
+
pcp->driContext =
(*psc->dri2->createNewContext) (psc->driScreen,
config->driConfig, shared, pcp);
@@ -256,6 +258,7 @@ dri2_create_context_attribs(struct glx_screen *base,
uint32_t minor_ver = 1;
uint32_t major_ver = 2;
+ uint32_t renderType = GLX_RGBA_TYPE;
uint32_t flags = 0;
unsigned api;
int reset = __DRI_CTX_RESET_NO_NOTIFICATION;
@@ -311,6 +314,11 @@ dri2_create_context_attribs(struct glx_screen *base,
ctx_attribs[num_ctx_attribs++] = flags;
}
+ /* The renderType is retrieved from attribs, or set to default
+ * of GLX_RGBA_TYPE.
+ */
+ pcp->base.renderType = renderType;
+
pcp->driContext =
(*psc->dri2->createContextAttribs) (psc->driScreen,
api,
diff --git a/src/glx/dri_glx.c b/src/glx/dri_glx.c
index ba8fda2..cc45734 100644
--- a/src/glx/dri_glx.c
+++ b/src/glx/dri_glx.c
@@ -602,6 +602,8 @@ dri_create_context(struct glx_screen *base,
return NULL;
}
+ pcp->base.renderType = renderType;
+
if (!XF86DRICreateContextWithConfig(psc->base.dpy, psc->base.scr,
config->base.visualID,
&pcp->hwContextID, &hwContext)) {
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index 832e964..80ddf9c 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -401,6 +401,8 @@ drisw_create_context(struct glx_screen *base,
return NULL;
}
+ pcp->base.renderType = renderType;
+
pcp->driContext =
(*psc->core->createNewContext) (psc->driScreen,
config->driConfig, shared, pcp);
@@ -429,6 +431,7 @@ drisw_create_context_attribs(struct glx_screen *base,
uint32_t minor_ver = 1;
uint32_t major_ver = 0;
+ uint32_t renderType = GLX_RGBA_TYPE;
uint32_t flags = 0;
unsigned api;
int reset = __DRI_CTX_RESET_NO_NOTIFICATION;
@@ -479,6 +482,8 @@ drisw_create_context_attribs(struct glx_screen *base,
ctx_attribs[num_ctx_attribs++] = flags;
}
+ pcp->base.renderType = renderType;
+
pcp->driContext =
(*psc->swrast->createContextAttribs) (psc->driScreen,
api,
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 019165a..51b2237 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -354,7 +354,7 @@ glXCreateContext(Display * dpy, XVisualInfo * vis,
GLXContext shareList, Bool allowDirect)
{
struct glx_config *config = NULL;
- int renderType = 0;
+ int renderType = GLX_RGBA_TYPE;
#if defined(GLX_DIRECT_RENDERING) || defined(GLX_USE_APPLEGL)
struct glx_screen *const psc = GetGLXScreenConfigs(dpy, vis->screen);
@@ -1441,7 +1441,7 @@ glXImportContextEXT(Display *dpy, GLXContextID contextID)
numProps = nPropListBytes / (2 * sizeof(propList[0]));
share = None;
mode = NULL;
- renderType = 0;
+ renderType = GLX_RGBA_TYPE; /* By default, assume RGBA context */
pProp = propList;
for (i = 0, pProp = propList; i < numProps; i++, pProp += 2)