summaryrefslogtreecommitdiffstats
path: root/src/glx/indirect_glx.c
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-11-30 13:10:17 -0800
committerIan Romanick <[email protected]>2012-01-02 12:41:44 -0800
commit6a0640971f5e12d329e91f92996382a7227d7b08 (patch)
treed7fa092dcafe60f1f7840c7eca1a01cf92487ce3 /src/glx/indirect_glx.c
parent43409fa7b0e64f6d73c3d33bc9a39ba26dd4caeb (diff)
glx: Implement glx_screen_vtable::create_context_attribs for indirect contexts
Signed-off-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glx/indirect_glx.c')
-rw-r--r--src/glx/indirect_glx.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c
index b628688851a..2399375a9bc 100644
--- a/src/glx/indirect_glx.c
+++ b/src/glx/indirect_glx.c
@@ -436,9 +436,31 @@ indirect_create_context(struct glx_screen *psc,
return gc;
}
+static struct glx_context *
+indirect_create_context_attribs(struct glx_screen *base,
+ struct glx_config *config_base,
+ struct glx_context *shareList,
+ unsigned num_attribs,
+ const uint32_t *attribs,
+ unsigned *error)
+{
+ /* All of the attribute validation for indirect contexts is handled on the
+ * server, so there's not much to do here.
+ */
+ (void) num_attribs;
+ (void) attribs;
+
+ /* The error parameter is only used on the server so that correct GLX
+ * protocol errors can be generated. On the client, it can be ignored.
+ */
+ (void) error;
+
+ return indirect_create_context(base, config_base, shareList, 0);
+}
+
struct glx_screen_vtable indirect_screen_vtable = {
indirect_create_context,
- NULL
+ indirect_create_context_attribs
};
_X_HIDDEN struct glx_screen *