summaryrefslogtreecommitdiff
path: root/src/mesa/glapi
AgeCommit message (Collapse)Author
2006-10-13Fix dumb build errors.Ian Romanick
I always build with -DGLX_USE_TLS, so I never hit these paths. glapi.h is required in some places because _glapi_Dispatch is declared there, but _glapi_tls_Dispatch is declared in glthread.h.
2006-10-13include glapi.h to fix broken buildBrian Paul
2006-10-12remove some debug code invalidated by prev check-inBrian Paul
2006-10-11Fix bug #4681.Ian Romanick
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
2006-10-11List of source (.c) files in each directory.Brian Paul
To be included by X.org Makefile.am files so that lists of files don't need to be hardcoded and frequently updated there.
2006-10-09Updates for XCB. Bug 8560.Ian Romanick
2006-10-04Changes to generated code caused by the previous commits.Ian Romanick
2006-10-04Fix the ordering of extensions.Ian Romanick
2006-10-04Keep indentation consistent with indent.Ian Romanick
Remove code in the Python scripts that keeps the indentation of the generated code consistent for all cases. Instead, pass the generated code through the indent command. Unix tools for the win!
2006-10-04Divide categories into four groups as they are processed from the XML. AddIan Romanick
an iterator to iterate over the categories in order, starting with "core" versions, then ARB extensions, then numbered non-ARB extensions, and finally unnumbered extensions. Use the new iterator in a couple places to ensure that output that is grouped by catgory is generated in a consistent order. More changes to the scripts are coming. The generated files will be committed one time after all the changes are in. Too bad we're not using GIT, or this would be easy. :(
2006-10-04Add utility method client_supported_for_indirect.Ian Romanick
The new method client_supported_for_indirect is used to determine whether or not the client-side library supports the function for indirect rendering. The may or may not have associated protocol that needs to be generated (e.g., glVertexPointer does not, but glVertex3fv does).
2006-09-26Added function convertStringForXCB. Deals with the recent XCB naming ↵Jeremy Kolb
convention switch. Updated the generated code to use the new XCB naming scheme.
2006-09-14Use correct opcodes for GLX_EXT_texture_from_pixmap.Ian Romanick
Set the correct opcodes for GLX_EXT_texture_from_pixmap functions. Changes to the glproto package and the core X server are also required.
2006-08-31Add API description for GLX_SGI_swap_control.Ian Romanick
2006-08-31Fix problems with vertex program protocolIan Romanick
There were two sets of bugs in the vertex program (ARB and NV) protocol. First, several of the ARB functions were missing the 'doubles_in_order="true"' annotation. Second, after the ARB decided that glVertexAttrib*ARB functions must not alias fixed-function state for GLSL, Nvidia re-assigned GLX protocol opcodes for glVertexAttrib*NV (circa Septeber 2004). For some reason gl_API.xml was never updated to reflect this, and the updated version of the GL_NV_vertex_program spec never made into the registry.
2006-08-29remove assertion that referenced &glSetFenceNV for debug testBrian Paul
2006-08-29Deprecate GL_EXT_vertex_weighting.Ian Romanick
Nvidia no longer supports this extension, and they no longer export its entry points from their libGL. There's no reason for us to keep dragging it around either.
2006-08-29More static dispatch function removal.Ian Romanick
Make functions for the following extensions available only via glXGetProcAddress. In cases where there are other aliases to the same functions (e.g., between GL_EXT_histogram and GL_ARB_imaging), the alias functions may still be statically exported. - GL_ATI_blend_equation_separate - GL_EXT_blend_equation_separate - GL_EXT_convolution - GL_EXT_color_sub_table - GL_EXT_cull_vertex - GL_EXT_depth_bounds_test - GL_EXT_framebuffer_blit - GL_EXT_histogram - GL_EXT_multisample - GL_EXT_stencil_two_side - GL_EXT_timer_query - GL_IBM_multimode_draw_arrays - GL_INGR_blend_func_separate - GL_NV_fence - GL_SGI_color_table - GL_SGIS_multisample - GL_SGIS_pixel_texture - GL_SGIS_point_parameters - GL_SGIX_pixel_texture
2006-08-28Add two new gl_function methods. dispatch_name returns the name ofIan Romanick
the true static dispatch name (either the glFooBar name or the gl_dispatch_stub_XXX name). static_name returns the name of the static function for a specific alias of a GL function. Adding (and using) these two functions corrects some problems in the generated code related to functions with multiple aliases where some of the aliases have true static dispatch functions and some don't. I have verified that everything under progs, except xdemos/xdemo, correctly link. I did this by doing 'make linux-dri-x86-64 PROGRAM_DIRS="demos redbook samples xdemos tests"'.
2006-08-28Add dependencies for all API XML files.Ian Romanick
2006-08-26Explicitly store the names for each function that should have a staticIan Romanick
entry point generated. This allows us to do things like generate a static entry point for glPointParameterfvARB but not for glPointParameterfvSGIS.
2006-08-25Add a couple of the missing GL 2.0 functions. Enable GLX protocol forIan Romanick
glBlendEquationSeparateEXT. Add missing enum "get" information for GL_EXT_texture_filter_anisotropic.
2006-08-25Add missing enums for GL_SGI_color_table.Ian Romanick
2006-08-24GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick
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.
2006-08-24Add a new offset mode to the GL API XML. This mode, called "assign,"Ian Romanick
tells the scripts to assign an available offset to the function. The important changes are in src/mesa/glapi/gl_XML.py and src/mesa/glapi/*.xml. Since the DRI drivers only depend on functions required by the ABI (e.g., GL 1.2 + ARB_multitexture) having fixed offsets, all functions not in the ABI use "assign" mode. This has caused the offset of basically every function outside the ABI to change. I have verified that a libGL with this patch works with a DRI driver without the patch. Futher, several function were removed from the dispatch tables altogether. These are the functions for the following extensions: GL_SGIS_texture_filter4 GL_SGIS_texture4D GL_SGIS_detail_texture GL_SGIS_sharpen_texture GL_SGIX_sprite GL_SGIX_instruments GL_SGIX_framezoom GL_SGIX_tag_sample_buffer GL_SGIX_reference_plane GL_SGIX_flush_raster GL_SGIX_list_priority GL_SGIX_fragment_lighting GL_PGI_misc_hints GL_EXT_index_material GL_EXT_index_func GL_3DFX_tbuffer This removes 50 functions from the dispatch table.
2006-08-24Fix some problems with the generation of the size tables. EnableIan Romanick
generation of protocol tables for Render.
2006-08-23New script and API description file to enable generate of GLX protocolIan Romanick
decode tables in the server.
2006-08-22Correct the name of the GL_NV_texture_expand_normal extension.Ian Romanick
2006-08-22The TLS dispatch functions for x86-64 are fixed-size, just like onIan Romanick
x86. This means that the position of each dispatch function can be calculated as (dispatch_offset * size_of_function) + glNewList. This allows us to not store the function pointers in glprocs_table_t. This same optimization has been done for quite some time on x86. We could probably also do this for some cases of the SPARC dispatch as well.
2006-08-22Add new attribute called static_dispatch to the <function> element. ThisIan Romanick
boolean attribute, which defaults to true, determines whether or not a static dispatch function is available in libGL for applications to link against. Ideally, any new functions that are not part of the ABI should not have directly accessable dispatch functions. This forces applications to use glXGetProcAddress to access these functions. By doing this we can gracefully remove functions from libGL without breaking the linkage of applications. Note that the static dispatch functions are still generated. However, they are given names like gl_dispatch_stub_820 and are marked with the "hidden" linker attribute. All extension functions added since the previous Mesa release (6.5) have been marked as 'static_dispatch="false"'.
2006-08-15Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
2006-08-11Fix long standing bug that prevented newer drivers from working withIan Romanick
older libGL. The data in extension_helper.h erroneous instructed drivers to expect all functions with establised offsets, even those not in the ABI, to have a specific offset allocated. This is just wrong. A function is either in the ABI and has a set offset or a function is not in the ABI and has a re-map offset.
2006-07-30Add support for GL_MESA_shader_debug.Michal Krol
2006-06-27Remove the extraneous GL_ prefix from the enums for GL_EXT_timer_query andIan Romanick
GL_EXT_framebuffer_blit. Enumerants in the XML schema get the GL_ prefix added to them automatically. This resulted in things like "GL_GL_TIME_ELAPSED_EXT" in enums.c.
2006-06-16Thread safety for Win32. SourceForge bug #1507315.Brian Paul
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick
and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
2006-04-17Add .note.GNU-stack section to assembler files to avoid the default behaviorKristian Høgsberg
of requesting executable stacks.
2006-04-13added 'const' (Dan Schikore)Brian Paul
2006-04-07regenerate SPARC assembly dispatch (bug 6484)Brian Paul
2006-03-29Fixes to silence warnings in code generated by glapi scripts.Kristian Høgsberg
2006-03-15assorted code clean-ups, comments, etc.Brian Paul
2006-03-15remove invalid assertion in _glapi_get_dispatch(), fixes additional thread ↵Brian Paul
safety problem
2006-03-15Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXTBrian Paul
is properly defined. Fixes long-standing, but unnoticed thread safety failure. Also, updated comments.
2006-03-14Set always_array=true for glGenProgramsNV (Dave Reveman)Brian Paul
2006-03-06Later versions of Python handle formats like '% 5u' differently. ForIan Romanick
whatever reason, a space is always inserted. That is not the desired behavior.
2006-03-06Generate server-side GLX protocol decode functions using the 'make server'Ian Romanick
target. The environment variable XORG_BASE must be set to point to the base of the X.org server sources where the files are to be placed. The 7.0.0 server release already contains files generated by these scripts. The scripts should have been committed months ago. Sorry for the lag. :(
2006-03-01New comments. Use tuples () instead of lists [] in a few places.Brian Paul
2006-03-01Added glBlitFramebufferEXT function.Brian Paul
2006-02-10commit to fixup MGL namespacing for XGLDave Airlie
2006-01-25added wglGetExtensionsStringARBBrian Paul