summaryrefslogtreecommitdiffstats
path: root/src/mapi/glapi
Commit message (Collapse)AuthorAgeFilesLines
* dispatch: properly handle parameter name mismatches in glapitemp.h.Paul Berry2012-11-012-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when code-generating aliased functions in glapitemp.h, we weren't consistent about which function alias we used to obtain the parameter names, with the risk that we would generate incorrect code like this: KEYWORD1 void KEYWORD2 NAME(Foo)(GLint x) { (void) x; DISPATCH(Foo, (x), (F, "glFoo(%d);\n", x)); } KEYWORD1 void KEYWORD2 NAME(FooEXT)(GLint y) { (void) x; DISPATCH(Foo, (x), (F, "glFooEXT(%d);\n", x)); } At the moment there are no aliased functions with mismatched parameter names, so this isn't the problem. But when we introduce GLES1 functions into the dispatch table, there will be (MapBufferRange/MapBufferRangeEXT). This patch paves the way for that by fixing the code generation script to handle the mismatch correctly. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* dispatch: Include glheader.h in dispatch-related files.Paul Berry2012-11-012-2/+2
| | | | | | | | | This ensures that GLES1-only typedefs are available in these files. In a future patch, this will allow us to expand the dispatch table to include GLES1-only functions. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* dispatch: Update check_table.cpp to reflect recent aliasing changes.Paul Berry2012-11-011-2/+0
| | | | | | | | | | | | | | | | In commits bad96f6 and e7dd2e5 I added the following aliases: - ClampColor -> ClampColorARB - VertexAttribDivisor -> VertexAttribDivisorARB But I neglected to update check_table.cpp, causing "make check" to fail for non-shared-glapi builds. This patch removes the functions that are now aliased from check_table.cpp, so that "make check" works correctly again. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* mesa: implement ARB_map_buffer_alignmentMarek Olšák2012-10-311-1/+7
| | | | Reviewed-by: Brian Paul <[email protected]>
* glapi: Alias VertexAttribDivisor and VertexAttribDivisorARB.Paul Berry2012-10-231-1/+2
| | | | | | | | | | | | | There's no reason to have separate slots in the dispatch table for these two functions, since they are synonymous. Note: previous to this patch, we never populated the dispatch table slot for VertexAttribDivisor, which was ok, since it is not required until 3.3. After this patch, both functions will be usable provided that the ARB_instanced_arrays extension is present. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Alias ClampColor and ClampColorARB.Paul Berry2012-10-231-1/+1
| | | | | | | | | There's no reason to have separate slots in the dispatch table for these two functions, since they are synonymous. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Add es2="3.0" attributes to XML.Matt Turner2012-10-1613-103/+103
| | | | | | | Note that we are missing the ARB_internalformat_query extension, which provides the glGetInternalformativ function needed by GL ES 3.0. Reviewed-by: Paul Berry <[email protected]>
* glapi: Delete gles_api.py, since it is no longer used.Paul Berry2012-10-162-472/+0
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Use GLES information from XML rather than gles_api.py.Paul Berry2012-10-162-16/+2
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Read GLES information from XML.Paul Berry2012-10-161-0/+48
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Add es1 and es2 attributes to XML.Paul Berry2012-10-169-334/+502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the set of functions which exist in GLES1 or GLES2 is determined by hardcoded lists of function names in gles_api.py. This patch encodes that information into the XML files using new attributes, es1 and es2. The es1 attribute denotes the first version of GLES 1 in which the function exists (e.g. es1="1.1" means the function exists in GLES 1.1 but not GLES 1.0). "none" (the default) means the function is not available in any version of GLES 1. The es2 attribute denotes the first version of GLES 2/3 in which the function exists (e.g. es2="2.0" means the function exists in both GLES 2.0 and GLES 3.0). "none" (the default) means the function is not available in any version of GLES 2 or GLES 3. Note that since GLES 3 is a strict superset of GLES 2, there is no need for a separate attribute for it; instead, 'es2="3.0"' should be used to denote functions that are present in GLES 3 but not GLES 2. This patch only adds information about GLES versions 1.0, 1.1, and 2.0. Later patches will modify the python code generation scripts to use this information rather than the hardcoded lists in gles_api.py. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: use new-style Python classes.Paul Berry2012-10-164-10/+10
| | | | | | | | | | | | | | | | | An unfortunate quirk of Python 2 is that there are two types of classes: "classic" classes (which are backward compatible with some unfortunate design decisions made early in Python's history), and "new-style" classes. Classic classes have a number of limitations (for example they don't support super()) and are unavailable in Python 3. There's really no reason to use classic classes, except in unmaintained legacy code. For more information see http://www.python.org/download/releases/2.2.3/descrintro/. This patch upgrades the Python code in src/mapi/glapi/gen to use exclusively new-style classes. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa/es: Enable GL_EXT_map_buffer_rangeFredrik Höglund2012-10-162-0/+30
| | | | | | This extension is functionally the same as GL_ARB_map_buffer_range. Reviewed-by: Ian Romanick <[email protected]>
* glapi: Reformat python code generation scripts to use 4-space indentation.Paul Berry2012-10-1021-5698/+5698
| | | | | | | | | | | | This brings us into accordance with the official Python style guide (http://www.python.org/dev/peps/pep-0008/#indentation). To preserve the indentation of the c code that is generated by these scripts, I've avoided re-indenting triple-quoted strings (unless those strings appear to be docstrings). Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: rename/move GL_POLYGON_OFFSET_BIAS to its extension sectionImre Deak2012-10-101-1/+2
| | | | | | | | | This should be named GL_POLYGON_OFFSET_BIAS_EXT and listed under the EXT_polygon_offset section. (Solution by Ian Romanick) Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Oliver McFadden <[email protected]>
* glx: Remove the last user of -DUSE_XCB.Eric Anholt2012-10-091-2/+0
| | | | Reviewed-by: Chad Versace <[email protected]>
* glapi: Do not use backtrace on Cygwin.Vinson Lee2012-10-041-1/+1
| | | | | | | execinfo.h is not available on Cygwin. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definitionMatt Turner2012-10-014-10/+10
|
* build: Use PTHREAD_LIBS and PTHREAD_CFLAGSMatt Turner2012-10-011-1/+2
|
* intel: add support for ANGLE_texture_compression_dxt.Oliver McFadden2012-10-011-0/+6
| | | | | Signed-off-by: Oliver McFadden <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* scons: Disable build of assembly sources on Cygwin.Vinson Lee2012-09-281-1/+1
| | | | | | | The assembly sources currently do not build on Cygwin. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glx: Fix compile warnings since 99fee476a102be898a1a093c037e06382f90a5b9Eric Anholt2012-09-281-1/+1
| | | | | | | | | _glapi_table is a struct full of named function pointers, while the generated code just wants to treat it as an array of function pointers. Cast to avoid the compiler warning. Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* gles2: Alias glReadBufferNV with desktop glReadBufferIan Romanick2012-09-281-1/+1
| | | | | | | | NOTE: This is a candidate for the 9.0 branch Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Cc: Kristian Høgsberg <[email protected]>
* glapi/glx: rename 'table' variable to 'disp_table'Brian Paul2012-09-061-2/+2
| | | | | | | | | | | | This fixes an issue where the local 'table' variable was hiding the function parameter name in glGetColorTable(..., void *table). This should be OK as long as there's never a GL entrypoint that uses 'disp_table' as a parameter name. Note: This is a candidate for the 9.0 branch. Reviewed-by: Jose Fonseca <[email protected]>
* glX_proto_send.py: Don't cast the return value of mallocMatt Turner2012-09-051-1/+1
|
* Don't cast the return value of malloc/reallocMatt Turner2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has been generated by the following Coccinelle semantic patch: // Don't cast the return value of malloc/realloc. // // Casting the return value of malloc/realloc only stands to hide // errors. @@ type T; expression E1, E2; @@ - (T) ( _mesa_align_calloc(E1, E2) | _mesa_align_malloc(E1, E2) | calloc(E1, E2) | malloc(E1) | realloc(E1, E2) )
* glX_proto_send.py: Remove deprecated Xmalloc/Xfree callsMatt Turner2012-09-051-3/+3
| | | | Reviewed-by: Brian Paul <[email protected]>
* Use the correct macro _WIN32 for Windows.Vinson Lee2012-09-053-3/+3
| | | | | | | | | | | | | | The correct predefined macro for Windows is _WIN32, not WIN32 or __WIN32__. _WIN32 is defined for 32-bit and 64-bit version of Windows by both MSVC and MinGW compilers. http://sourceforge.net/p/predef/wiki/OperatingSystems http://msdn.microsoft.com/en-us/library/b0084kay.aspx This patch also fixes a MinGW automake build error. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Enable GL_OES_vertex_array_objectIan Romanick2012-08-292-0/+31
| | | | | | | Functionally the same as GL_ARB_vertex_array_object. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glapi/glx: call __glEmptyImage if USE_XCB, not memcpy directlyJulien Cristau2012-08-271-10/+25
| | | | | | | | | | | We were stomping on the caller's buffer by ignoring their alignment requests and other pixel store modes. This patch makes the USE_XCB path match the older one more closely. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52059 Signed-off-by: Julien Cristau <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* build: Only generate dispatch assembly code that will be builtMatt Turner2012-08-241-4/+12
|
* automake: convert es2apiMatt Turner2012-08-231-4/+0
|
* glapi: Add GL_ARB_invalidate_subdataIan Romanick2012-08-142-0/+50
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* build/mapi: More killing of TOP in favour of top_srcdirChristopher James Halse Rogers2012-08-131-7/+7
| | | | | Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Christopher James Halse Rogers <[email protected]>
* build/glapi: fix includes for generated filesChristopher James Halse Rogers2012-08-131-0/+1
| | | | | Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Christopher James Halse Rogers <[email protected]>
* build: fix out of tree generation of glapi_mapi_tmp.hChristopher James Halse Rogers2012-08-131-1/+1
| | | | | Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Christopher James Halse Rogers <[email protected]>
* mesa/tests: Fix trivial typos in src/mapi/glapi testsIan Romanick2012-08-081-4/+4
| | | | Signed-off-by: Ian Romanick <[email protected]>
* glapi: Prevent accidental use of lies w/shared-glapiIan Romanick2012-08-081-0/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* glx: Don't use glapitable.h at allIan Romanick2012-08-081-1/+4
| | | | | | | | | | | | When --enable-shared-glapi is used, all non-ABI entries in the table are lies. Avoiding the use of glapitable.h avoids the lies. The only entries used in this code are entries that are ABI. For these, the ABI offset can be used directly. Since this code is in src/glx, it can't use src/mesa/main/dispatch.h to get the pretty names for these offsets. Signed-off-by: Ian Romanick <[email protected]>
* glx: Don't rely on struct _glapi_tableIan Romanick2012-08-081-14/+21
| | | | | | | | | | | | | | | | | | | When --enable-shared-glapi is used, all non-ABI entries in the table are lies. There are two completely separate code generation paths used to assign dispatch offset. Neither has any clue about the other. Unsurprisingly, the can't agree on what offsets to assign. This adds a bunch of overhead to __glXNewIndirectAPI, but this function is called at most once. The test ExtensionNopDispatch was removed. There was just no way to make this test work with the information provided in shared-glapi. Since indirect_glx.c uses _glapi_get_proc_offset now, it was also impossible to make the tests work without shared-glapi. So much pain. This fixes indirect rendering with shared-glapi. Signed-off-by: Ian Romanick <[email protected]>
* mesa/tests: Don't build glapi tests with shared-glapiIan Romanick2012-08-081-0/+2
| | | | | | | This fixes 'make check' on with --enable-shared-glapi. This test cannot work in that environment. Signed-off-by: Ian Romanick <[email protected]>
* automake: convert libglapiJon TURNEY2012-07-134-78/+70
| | | | | | | | | | | | | | | | | | | * "configure substitutions are not allowed in _SOURCES variables" in automake, so remove the AC_SUBST'ed GLAPI_ASM_SOURCES and instead use some AM_CONDITIONALS to choose which asm sources are used * Change GLAPI_LIB to point to the .la file in other Makefile.am files, and make a link to the .a file for the convenience of other Makefiles which have not yet been converted to automake v2: - Use AM_CPPFLAGS for cleaner build output - EXTRA_SOURCES is not needed - Remove libglapi.a compatibility link on clean Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: Matt Turner <[email protected]>
* Rename X86-64_API -> X86_64_APIJon TURNEY2012-07-131-1/+1
| | | | | | | | automake doesn't allow hyphens in variable names Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: Matt Turner <[email protected]>
* glapi: add ARB_transform_feedback_instancedMarek Olšák2012-07-121-1/+18
| | | | Acked-by: Ian Romanick <[email protected]>
* glapi: add ARB_transform_feedback3Marek Olšák2012-07-121-1/+30
| | | | Acked-by: Ian Romanick <[email protected]>
* mapi: Move GL_NV_draw_buffers extension to es_EXT.xmlKristian Høgsberg2012-07-112-63/+63
| | | | | | | | | | | | We don't generate public entrypoints for GLES extensions, so move the GL_NV_draw_buffers definition from ARB_draw_buffers.xml to es_EXT.xml. When the extension is defined in ARB_draw_buffers.xml, we end up with a public entry point for it, but no prototype, which gives an error when compiled with --disable-asm and --disable-shared-glapi. Instead, just move the GLES extension to es_EXT.xml so this doesn't happen. Signed-off-by: Kristian Høgsberg <[email protected]>
* glapi: Apply Xorg indent rules to all files generated for the xserverIan Romanick2012-07-111-15/+39
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: add ARB_timer_queryMarek Olšák2012-07-101-1/+21
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: add GL_EXT_texture_rg extension for OpenGL ES 2.x.Gwenole Beauchesne2012-07-041-0/+8
|
* GLES2: upgrade gl2ext.h to version 18099Kristian Høgsberg2012-07-041-10/+0
| | | | | | | | | | | | | | | Redo this commit, and remove the inclusion of gl2ext.h from src/mapi/glapi/glapi_priv.h. The include was added in 8f3be339850ead96f9c6200db4e0db1f74e39d13 to fix a missing prototype for glDrawBuffersNV and others, but it's not possible to include both glext.h and gl2ext.h from the same file. I don't see the missing prototype here (with or without shared glapi) so I'm just removing the offending #include. Also, since we're redoing this, update to the most recent gl2ext.2. Signed-off-by: Kristian Høgsberg <[email protected]>