summaryrefslogtreecommitdiffstats
path: root/src/glx/x11/glxextensions.h
Commit message (Collapse)AuthorAgeFilesLines
* glx/x11: Fix missing __GL_EXT_BYTES declarationJeremy Huddleston2008-08-081-1/+1
|
* DRI interface changes and DRI2 direct rendering support.Kristian Høgsberg2008-03-311-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DRI2 direct rendering support to libGL and add DRI2 client side protocol code. Extend the GLX 1.3 create drawable functions in glx_pbuffer.c to call into the DRI driver when possible. Introduce __DRIconfig, opaque struct that represents a DRI driver configuration. Get's rid of the open coded __GLcontextModes in the DRI driver interface and the context modes create and destroy functions that the loader was requires to provide. glcore.h is no longer part of the DRI driver interface. The DRI config is GL binding agnostic, that is, not specific to GLX, EGL or other bindings. The core API is now also an extension, and the driver exports a list of extensions as the symbol __driDriverExtensions, which the loader must dlsym() for. The list of extension will always include the DRI core extension, which allows creating and manipulating DRI screens, drawables and contexts. The DRI legacy extension, when available, provides alternative entry points for creating the DRI objects that work with the XF86DRI infrastructure. Change DRI2 client code to not use drm drawables or contexts. We never used drm_drawable_t's and the only use for drm_context_t was as a unique identifier when taking the lock. We now just allocate a unique lock ID out of the DRILock sarea block. Once we get rid of the lock entirely, we can drop this hack. Change the interface between dri_util.c and the drivers, so that the drivers now export the DriverAPI struct as driDriverAPI instead of the InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2 init screen function to see if DRI2 is supported by the driver.
* Move enabling of DRI extensions into glxextensions.cKristian Høgsberg2007-10-111-4/+1
|
* Remove screenConfigs from __DRIscreen.Kristian Høgsberg2007-10-101-1/+8
| | | | | | | | | | | | The screenConfigs field of __DRIscreen points back to the containing __GLXscreenConfigs struct. This is a serious abstraction violation; it assumes that the loader is libGL and that there *is* a __GLXscreenConfigs type in the loader. Using the containerOf macro, we can get from the __DRIscreen pointer to the containing __GLXscreenConfigs struct, at a place in the stack where the above is a valid assumption. Besides, the __DRI* structs shouldn't hold state other than the private pointer.
* Clean up GLX function exports.Ian Romanick2006-08-291-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make functions for the following extensions only accessable via glXGetProcAddress: - GLX_EXT_texture_from_pixmap - GLX_MESA_copy_sub_buffer - GLX_MESA_release_buffers - GLX_MESA_swap_control - GLX_MESA_swap_frame_usage - GLX_OML_sync_control - GLX_SGI_make_current_read - GLX_SGI_swap_control - GLX_SGI_video_sync - GLX_SGIX_swap_barrier - GLX_SGIX_swap_group Removed all remnants of the following extensions: - GLX_MESA_set_3dfx_mode - GLX_SGI_cushion - GLX_SGIX_dmbuffer - GLX_SGIX_video_resize - GLX_SGIX_video_source - GLX_SUN_get_transparent_index -
* GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick2006-08-241-0/+1
| | | | | | | | | | The functions for GL_EXT_paletted_texture that do not share GLX protocol with GL_ARB_imaging are supposed to alias the similar functions from GL_SGI_color_table. They didn't. This patch corrects this problem and enables GLX protocol for both extensions. Since this removes 3 entries from the dispatch table, this change creates a lot of changes in the generated files.
* EXT_framebuffer_object (Dave Reveman)Brian Paul2006-02-241-0/+1
|
* David Reveman's GLX_EXT_texture_from_pixmap extension patchBrian Paul2006-02-071-1/+2
|
* Remove the last remnants of GLX_BUILT_IN_XMESA. This allows the removal ofIan Romanick2005-07-261-3/+3
| | | | the evil, ugly GLX_PREFIX macro as well.
* Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocolIan Romanick2005-03-111-0/+2
| | | | | | | | | | | for these extensions (as well as ARB_vertex_program and ARB_matrix_palette) was just approved by the ARB on 8-Mar-2005. Now the only extension missing for 1.5 support is ARB_vertex_buffer_object. The opcodes for ARB_matrix_palette were also added to gl_API.xml. Since this extension isn't supported by Mesa, no code is generated for it. Some tabs were also converted to spaces in the comment for GetCompressedTexImageARB.
* Add GLX protocol support for ARB_fragement_program,Ian Romanick2005-02-251-0/+10
| | | | | | | ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program, NV_fragment_program_option, NV_fragment_program2, NV_vertex_program, NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option, NV_vertex_program3, and ATI_text_fragment_shader.
* Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits. ThisIan Romanick2005-02-221-4/+13
| | | | | | | | | | | | | | | enables libGL to query which extension are exported to applications. Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c. Massive re-write of indirect vertex array support. The most noticable effect is that glDrawElements now generates DrawArrays protocol. The side-effects (and the main reasons for the re-work) are that it is much easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY, GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new DrawArrays protocol (required to support ARB_vertex_buffer_object). These changes were primarilly tested with progs/demos/isosurf.
* Enable client-side GLX support for texture compression extensions.Ian Romanick2005-02-041-1/+2
|
* Added a bunch of extensions that were previously supported but weren'tIan Romanick2005-02-031-0/+2
| | | | | | in the gl_API.xml database. Add "official" support for SGI_color_matrix and SGI_texture_color_table. These were previously supported only by way of ARB_imaging.
* Missed GL_OES_read_format_bit in last commit.Ian Romanick2004-12-011-2/+4
|
* Import the GLX client side library, formerly from xc/lib/GL/glx. Build itAdam Jackson2004-10-251-0/+253
by adding 'glx/x11' to SRC_DIRS in your build config.