Mesa (master): glx: Implement glx_screen_vtable:: create_context_attribs for indirect contexts

Ian Romanick idr at kemper.freedesktop.org
Mon Jan 2 12:42:41 PST 2012


Module: Mesa
Branch: master
Commit: 6a0640971f5e12d329e91f92996382a7227d7b08
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a0640971f5e12d329e91f92996382a7227d7b08

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Nov 30 13:10:17 2011 -0800

glx: Implement glx_screen_vtable::create_context_attribs for indirect contexts

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/glx/indirect_glx.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c
index b628688..2399375 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 *



More information about the mesa-commit mailing list