X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Findirect_glx.c;h=2399375a9bc2569bda92aa0bff7cea23502576b7;hb=6574fe3c4a9e36791cde88dfd73429ba4faf3215;hp=7b542dd159c6696dde58b6cee43f7a9f82d994f6;hpb=636d01bd61cac83e13c3c64874e7e34e828ca93a;p=mesa.git diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c index 7b542dd159c..2399375a9bc 100644 --- a/src/glx/indirect_glx.c +++ b/src/glx/indirect_glx.c @@ -43,9 +43,6 @@ static struct _glapi_table *IndirectAPI = NULL; static void indirect_destroy_context(struct glx_context *gc) { - if (!gc->imported && gc->xid) - glx_send_destroy_context(gc->psc->dpy, gc->xid); - __glXFreeVertexArrayState(gc); if (gc->vendor) @@ -439,8 +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 + indirect_create_context, + indirect_create_context_attribs }; _X_HIDDEN struct glx_screen *