X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Ftests%2Ffake_glx_screen.cpp;h=801f54a6faac0fc75f3a7bb8d4d32f8a27f10285;hb=2e3f067458e4a70da91b27fab61ef3d292ded4cf;hp=29f244117cd52aba212695260658c9d385171edd;hpb=0cce5538673148ffcd7aa9479f6b88cf9a641352;p=mesa.git diff --git a/src/glx/tests/fake_glx_screen.cpp b/src/glx/tests/fake_glx_screen.cpp index 29f244117cd..801f54a6faa 100644 --- a/src/glx/tests/fake_glx_screen.cpp +++ b/src/glx/tests/fake_glx_screen.cpp @@ -75,10 +75,25 @@ indirect_create_context_attribs(struct glx_screen *base, return indirect_create_context(base, config_base, shareList, 0); } -__thread void *__glX_tls_Context = NULL; +/* This is necessary so that we don't have to link with glxcurrent.c + * which would require us to link with X libraries and what not. + */ +GLubyte dummyBuffer[__GLX_BUFFER_LIMIT_SIZE]; +struct glx_context_vtable dummyVtable; +struct glx_context dummyContext = { + &dummyBuffer[0], + &dummyBuffer[0], + &dummyBuffer[0], + &dummyBuffer[__GLX_BUFFER_LIMIT_SIZE], + sizeof(dummyBuffer), + &dummyVtable +}; +__thread void *__glX_tls_Context = &dummyContext; +#if !defined(GLX_USE_TLS) extern "C" struct glx_context * __glXGetCurrentContext() { - return (struct glx_context *) __glX_tls_Context; + return (struct glx_context *) __glX_tls_Context; } +#endif