diff options
author | Eric Anholt <[email protected]> | 2012-07-04 11:58:40 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2012-07-12 12:29:12 -0700 |
commit | 6882381a2efbdf06b7002d11468c94b9964c2bc8 (patch) | |
tree | 05e78c7dc8cb8783d1a471ef207c9bf9a72591c1 /src | |
parent | f92873be2c7fcb07154282bd0e418a4c88b6507e (diff) |
mesa: Require current libxcb.
Without that, people with buggy apps that looked at just the server
string for GLX_ARB_create_context would call this function that just
threw an error when you tried to make a context. Google shows plenty
of complaints about this.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/glx/clientinfo.c | 7 | ||||
-rw-r--r-- | src/glx/create_context.c | 14 | ||||
-rw-r--r-- | src/glx/glxextensions.c | 10 | ||||
-rw-r--r-- | src/glx/tests/Makefile.am | 3 |
4 files changed, 1 insertions, 33 deletions
diff --git a/src/glx/clientinfo.c b/src/glx/clientinfo.c index 97d43cea0e3..429e9a3bfa7 100644 --- a/src/glx/clientinfo.c +++ b/src/glx/clientinfo.c @@ -39,7 +39,6 @@ __glX_send_client_info(struct glx_display *glx_dpy) Bool any_screen_has_ARB_create_context = False; Bool any_screen_has_ARB_create_context_profile = False; unsigned i; -#ifdef HAVE_XCB_GLX_CREATE_CONTEXT static const uint32_t gl_versions[] = { 1, 4, }; @@ -48,7 +47,6 @@ __glX_send_client_info(struct glx_display *glx_dpy) }; static const char glx_extensions[] = "GLX_ARB_create_context GLX_ARB_create_context_profile"; -#endif /* There are three possible flavors of the client info structure that the * client could send to the server. The version sent depends on the @@ -125,7 +123,6 @@ __glX_send_client_info(struct glx_display *glx_dpy) * THE ORDER IS IMPORTANT. We want to send the most recent version of the * protocol that the server can support. */ -#ifdef HAVE_XCB_GLX_CREATE_CONTEXT if (glx_dpy->majorVersion == 1 && glx_dpy->minorVersion == 4 && any_screen_has_ARB_create_context_profile) { xcb_glx_set_client_info_2arb(c, @@ -148,9 +145,7 @@ __glX_send_client_info(struct glx_display *glx_dpy) gl_versions, gl_extension_string, glx_extensions); - } else -#endif - { + } else { xcb_glx_client_info(c, GLX_MAJOR_VERSION, GLX_MINOR_VERSION, gl_extension_length, diff --git a/src/glx/create_context.c b/src/glx/create_context.c index a1a55b33538..a755e83f448 100644 --- a/src/glx/create_context.c +++ b/src/glx/create_context.c @@ -99,7 +99,6 @@ glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, * the protocol error and handle it. Part of handling the error is freeing * the possibly non-NULL value returned by this function. */ -#ifdef HAVE_XCB_GLX_CREATE_CONTEXT cookie = xcb_glx_create_context_attribs_arb_checked(c, gc->xid, @@ -111,19 +110,6 @@ glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, (const uint32_t *) attrib_list); err = xcb_request_check(c, cookie); -#else - /* This is a hugely ugly hack to make things compile on systems that lack - * the proper XCB version. - */ - memset(&cookie, 0, sizeof(cookie)); - - err = calloc(1, sizeof(*err)); - err->error_code = BadRequest; - err->sequence = dpy->request; - err->resource_id = gc->xid; - err->minor_code = gc->majorOpcode; - err->major_code = 34; -#endif if (err != NULL) { gc->vtable->destroy(gc); gc = NULL; diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index 9ddc39d98ca..eb0890e23f1 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -71,15 +71,9 @@ struct extension_info /* *INDENT-OFF* */ static const struct extension_info known_glx_extensions[] = { -#ifdef HAVE_XCB_GLX_CREATE_CONTEXT { GLX(ARB_create_context), VER(0,0), Y, N, N, N }, { GLX(ARB_create_context_profile), VER(0,0), Y, N, N, N }, { GLX(ARB_create_context_robustness), VER(0,0), Y, N, N, N }, -#else - { GLX(ARB_create_context), VER(0,0), N, N, N, N }, - { GLX(ARB_create_context_profile), VER(0,0), N, N, N, N }, - { GLX(ARB_create_context_robustness), VER(0,0), N, N, N, N }, -#endif { GLX(ARB_get_proc_address), VER(1,4), Y, N, Y, N }, { GLX(ARB_multisample), VER(1,4), Y, Y, N, N }, { GLX(ATI_pixel_format_float), VER(0,0), N, N, N, N }, @@ -87,11 +81,7 @@ static const struct extension_info known_glx_extensions[] = { { GLX(EXT_visual_info), VER(0,0), Y, Y, N, N }, { GLX(EXT_visual_rating), VER(0,0), Y, Y, N, N }, { GLX(EXT_framebuffer_sRGB), VER(0,0), Y, Y, N, N }, -#ifdef HAVE_XCB_GLX_CREATE_CONTEXT { GLX(EXT_create_context_es2_profile), VER(0,0), Y, N, N, Y }, -#else - { GLX(EXT_create_context_es2_profile), VER(0,0), N, N, N, N }, -#endif { GLX(MESA_copy_sub_buffer), VER(0,0), Y, N, N, N }, { GLX(MESA_multithread_makecurrent),VER(0,0), Y, N, Y, N }, { GLX(MESA_swap_control), VER(0,0), Y, N, N, Y }, diff --git a/src/glx/tests/Makefile.am b/src/glx/tests/Makefile.am index b0d1db5c2d6..ad18f85fe01 100644 --- a/src/glx/tests/Makefile.am +++ b/src/glx/tests/Makefile.am @@ -5,7 +5,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/include \ $(X11_CFLAGS) -if HAVE_XCB_GLX_CREATE_CONTEXT TESTS = glx-test check_PROGRAMS = glx-test @@ -20,5 +19,3 @@ glx_test_LDADD = \ $(top_builddir)/src/glx/libglx.la \ $(top_builddir)/src/gtest/libgtest.la \ -lpthread - -endif |