On Tue, 2017-11-14 at 13:15 -0800, Ian Romanick wrote: > On 11/14/2017 12:13 PM, Adam Jackson wrote: > > diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c > > index cfae12f6c0..b552b5768a 100644 > > --- a/src/glx/indirect_glx.c > > +++ b/src/glx/indirect_glx.c > > @@ -148,9 +148,21 @@ indirect_bind_context(struct glx_context *gc, struct > > glx_context *old, > > sent = SendMakeCurrentRequest(dpy, gc->xid, tag, draw, read, > > &gc->currentContextTag); > > > > - if (!IndirectAPI) > > - IndirectAPI = __glXNewIndirectAPI(); > > - _glapi_set_dispatch(IndirectAPI); > > + if (sent) { > > + if (!IndirectAPI) > > + IndirectAPI = __glXNewIndirectAPI(); > > + _glapi_set_dispatch(IndirectAPI); > > + > > + /* The indirect vertex array state must to be initialised after we > > + * have setup the context, as it needs to query server attributes. > > + */ > > + __GLXattribute *state = gc->client_state_private; > > + if (state && state->array_state == NULL) { > > + glGetString(GL_EXTENSIONS); > > + glGetString(GL_VERSION); > > + __glXInitVertexArrayState(gc); > > + } > > + } > > This is where this code used to be, but commit d57c85c1 moved it. Does > this not re-regress things? I guess wrapping it in 'if (sent)' seems > like it ought to be enough to prevent the original problem.
Eep, good catch. I think this would indeed re-regress things. We're calling ::bind before __glXSetCurrentContext - in fact with the dummy context bound - which means those glGetStrings would probably fizzle. I'll dig into this a bit further, hopefully a real piglit run will shake out this and anything else remaining. - ajax _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev