summaryrefslogtreecommitdiffstats
path: root/src/mapi/glapi/gen
Commit message (Collapse)AuthorAgeFilesLines
* mesa: add texture gather changesMaxence Le Dore2013-10-032-1/+15
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add core support for the GL_AMD_performance_monitor extension.Kenneth Graunke2013-09-264-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides an interface for applications (and OpenGL-based tools) to access GPU performance counters. Since the exact performance counters available vary between vendors and hardware generations, the extension provides an API the application can use to get the names, types, and minimum/maximum values of all available counters. Counters are also organized into groups. Applications create "performance monitor" objects, select the counters they want to track, and Begin/End monitoring, much like OpenGL's query API. Multiple monitors can be in flight simultaneously. v2: Pass ctx to all driver hooks (suggested by Christoph), and attempt to fix overallocation of bitsets (caught by Christoph). Incomplete. v3: Significantly rework core data structures. Store counters in groups rather than in a global list. Use their array index in the group's counter list as the ID rather than trying to store a globally unique counter ID. Use bitsets for active counters within a group, and also track which groups are active so that's easy to query. v4: Remove _mesa_ prefix on static functions; detect out of memory conditions in new_performance_monitor(); make BeginPerfMonitor hook return a boolean rather than setting m->Active or raising an error. Switch to GLuint/unsigned for NumGroups, NumCounters, and MaxActiveCounters (which also means switching a bunch of temporary variable types). All suggested by Brian Paul. Also, remove commented out code at the bottom of the block. Finally, fix the dispatch sanity test (noticed by Ian Romanick). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> [v3] Reviewed-by: Ian Romanick <[email protected]>
* glapi: Move declaration before code.Vinson Lee2013-09-231-4/+6
| | | | | | | | | | | | | | | This patch fixes the MSVC build error introduced by commit 673129e0b936b1c748e988d3f74f3efaab9e5693. enums.c mesa\main\enums.c(3776) : error C2143: syntax error : missing ';' before 'type' mesa\main\enums.c(3781) : error C2065: 'elt' : undeclared identifier mesa\main\enums.c(3781) : warning C4047: '!=' : 'int' differs in levels of indirection from 'void *' mesa\main\enums.c(3782) : error C2065: 'elt' : undeclared identifier mesa\main\enums.c(3782) : error C2223: left of '->offset' must point to struct/union mesa\main\enums.c(3782) : warning C4033: '_mesa_lookup_enum_by_nr' must return a value Signed-off-by: Vinson Lee <[email protected]>
* mesa: Shrink the size of the enum string lookup struct.Eric Anholt2013-09-231-2/+4
| | | | | | | | | | Since it's only used for debug information, we can misalign the struct and save the disk space. Another 19k on a 64-bit build. v2: Make a compiler.h macro to only use the attribute if we know we can. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Remove the extra enum strings and extra lookup table.Eric Anholt2013-09-231-41/+20
| | | | | | | | | | Now that there's no name -> enum direction, we can drop the extra strings, and merge the offsets table and the reduced_enums table. Between the previous commit and this one, Mesa core drops by 30k. Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Remove _mesa_lookup_enum_by_name().Eric Anholt2013-09-231-29/+0
| | | | | | | | It's been unused for a long time. I stopped digging through git history as of 2009. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Setup autogeneration infrastructure for KHR_debugTimothy Arceri2013-09-042-1/+149
| | | | | | Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glapi/gen: build temporary files in the build directoryMaarten Lankhorst2013-08-211-4/+4
| | | | | | | | | | Writing to the source directory can cause multiple parallel builds from the same source to fail. Create the temporary files in the build directory. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: "9.2" <[email protected]>
* mesa: Treat glBindFramebuffer and glBindFramebufferEXT more correctlyIan Romanick2013-08-061-1/+1
| | | | | | | | | | | | | | | | | Allow user-generated names for glBindFramebufferEXT on desktop GL. Disallow its use altogether for core profiles. Names bound with glBindFramebuffer in desktop OpenGL are still (incorrectly) shared across the share group instead of being per-context. This gets us a bit closer to being strictly conformant. v2: Disallow glBindFramebufferEXT in 3.1 by not installing it in the dispatch table. Suggested by Jordan. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> [v1] Reviewed-by: Jordan Justen <[email protected]> [v1] Cc: [email protected]
* mesa: Treat glBindRenderbuffer and glBindRenderbufferEXT correctlyIan Romanick2013-08-061-1/+1
| | | | | | | | | | | | | Allow user-generated names for glBindRenderbufferEXT on desktop GL. Disallow its use altogether for core profiles. v2: Disallow glBindRenderbufferEXT in 3.1 by not installing it in the dispatch table. Suggested by Jordan. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> [v1] Reviewed-by: Jordan Justen <[email protected]> [v1] Cc: [email protected]
* mesa: Dispatch ARB_framebuffer_object and EXT_framebuffer_object differently9.2-branchpointTomasz Lis2013-07-182-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost all of the functions between the ARB and the EXT share the same GLX protocol because the functionality is, essentially, identical. However, there are some differences between the extensions: - In the ARB extension, names must come from glGenBuffers. - In the ARB extension, framebuffer objects are not shared (but they are in the EXT). For these reasons, glBindFramebuffer and glBindRenderbuffer have different GLX protocol opcodes than their EXT counterparts. Currently these functions alias each other in the dispatch table. This makes it impossible to be truly spec conformant. This patch enables fixing the conformance issue by splitting glBindFramebuffer / glBindFramebufferEXT and glBindRenderbuffer / glBindRenderbufferEXT into separate dispatch table entries. Patches will be available shortly to: - Fix the conformance issue. - Stop advertising the EXT in OpenGL 3.1 (or core profiles). HOWEVER, this does represent a compatibility break between the loader (libGL or the Xserver GLX module) and the driver. Mesa drivers compiled without this change will request a single dispatch table entry for glBindFramebuffer and glBindFramebufferEXT. Since the updated loader has different entries for each, the request will fail, and the driver will die in a fire. Drivers built with the change should continue to load fine on loaders without the change. In this case, the driver will separately ask for entries for glBindFramebuffer and glBindFramebufferEXT, and the loader will tell it the same location. Since the loader in the server's GLX module is not (yet) updated, this should not be a problem. We also do not advertise the ARB extension from the server, so, again, this should not be a problem for the server. HOWEVER, this means that DRI1 drivers (remember mga_dri.so?) will no longer load with libGL build hereafter. That means this patch will need to be back ported to the 8.0 branch. v2 (idr): Added missing GLX protocol opcodes for the EXT functions and corrected the opcodes for the ARB functions. Updated GLX indirect_api unit test and dispatch sanity unit test. Signed-off-by: Tomasz Lis <[email protected]> Signed-off-by: Bartosz Zawistowski <[email protected]> Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1]
* glapi: Do not use backtrace on OpenBSD.Vinson Lee2013-07-161-1/+1
| | | | | | | execinfo.h is not available on OpenBSD. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* mesa: update glext.h to version 20130708Brian Paul2013-07-122-2/+2
| | | | | | | | | | | | | This update fixes the problem with duplicated typedefs for GLclampf and GLclampd in the previous version. It also changes some parameter types for glDebugMessageCallbackARB() and glTransformFeedbackVaryingsEXT(). Note we should someday update the glapi-gen code so that it understands void pointer parameters. Currently, the Python code only understands "GLvoid *" but not "void *". Luckily, the compilers don't seem to complain about mixing GLvoid and void.
* scons: Fix dependencies of enums.c and api_exec.c.José Fonseca2013-07-011-1/+15
|
* mesa: Remove GL_MESA_resize_buffersIan Romanick2013-06-282-2/+1
| | | | | | | | | | | | Commit bab755a made the implementation a no-op, and it was only ever enabled by software rasterizers. v2: Move the spec into docs/specs/OLD since it's now obsolete (squashed patch from Andreas Boll) Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* scons: Add dependencies to all .xml files.José Fonseca2013-06-271-4/+10
| | | | | Should prevent stuck builds when only some of the included .xml files change.
* mesa: add const qualifier to glMultiDrawElementsEXT() indices paramBrian Paul2013-06-261-1/+1
| | | | | | | | | | The 20130624 version of glext.h changed this to match the glMultiDrawElements() function which already had the extra const qualifier. Fixes warnings/errors that seem to vary from one compiler to the next. Reviewed-by: Jose Fonseca <[email protected]>
* mesa: remove const from glDebugMessageCallbackARB() function parameterBrian Paul2013-06-261-1/+1
| | | | | | | The new 20130624 version of glext.h removed the const qualifier on the 'userParam' parameter. Reviewed-by: Jose Fonseca <[email protected]>
* mesa: remove outdated version lines in commentsRico Schüller2013-06-051-1/+0
| | | | Signed-off-by: Brian Paul <[email protected]>
* glapi: Add some missing static_dispatch="false" annotations to es_EXT.xmlAndreas Boll2013-05-311-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following build errors on powerpc: CC glapi_dispatch.lo In file included from glapi_dispatch.c:90:0: ../../../../../src/mapi/glapi/glapitemp.h:1640:1: error: no previous prototype for 'glReadBufferNV' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:4198:1: error: no previous prototype for 'glDrawBuffersNV' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6377:1: error: no previous prototype for 'glFlushMappedBufferRangeEXT' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6389:1: error: no previous prototype for 'glMapBufferRangeEXT' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6401:1: error: no previous prototype for 'glBindVertexArrayOES' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6413:1: error: no previous prototype for 'glDeleteVertexArraysOES' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6433:1: error: no previous prototype for 'glGenVertexArraysOES' [-Werror=missing-prototypes] ../../../../../src/mapi/glapi/glapitemp.h:6445:1: error: no previous prototype for 'glIsVertexArrayOES' [-Werror=missing-prototypes] NOTE: This is a candidate for the 9.0 and 9.1 branches. Reviewed-by: Maarten Lankhorst <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: simplify dispatch for glDraw* functionsBrian Paul2013-05-021-0/+3
| | | | | | | | | | | | Remove all the glDraw* functions from the GLvertexformat structure. The point of that dispatch struct is to handle all the functions which dispatch differently depending on whether we're inside glBegin/End. glDraw* are never allowed inside glBegin/End so we can remove those entries. This simplifies the code paths and gets rid of quite a bit of code. Reviewed-by: Jose Fonseca <[email protected]>
* mesa: add names of geometry shader prims in gl_enums.pyBrian Paul2013-05-021-1/+5
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mesa: remove unused PRIM_INSIDE_UNKNOWN_PRIM constantBrian Paul2013-05-021-1/+0
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mesa: implement glFramebufferTextureJordan Justen2013-05-011-1/+1
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* linux: Don't emit a .note.ABI-tag section anymore (#26663)Adam Jackson2013-04-252-26/+0
| | | | | | | | | | | We don't support pre-2.6 kernels anyway - the install docs say 2.6.28 for DRI - and apparently this confuses ld.so's sorting when multiple libGLs are installed. Just remove it. Note: this is a candidate for the stable branches. Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* mesa: Fix up some final license word wrapping issues by hand.Kenneth Graunke2013-04-231-3/+4
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: Add "OR COPYRIGHT HOLDERS" to license text disclaiming liability.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | This brings the license text in line with the MIT License as published on the Open Source Initiative website: http://opensource.org/licenses/mit-license.php Generated automatically be the following shell command: $ git grep 'THE AUTHORS BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/THE AUTHORS/THE AUTHORS OR COPYRIGHT HOLDERS/' {} This introduces some wrapping issues, to be fixed in the next commit. Reviewed-by: Brian Paul <[email protected]>
* mesa: Change "BRIAN PAUL" to "THE AUTHORS" in license text.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | | Generated automatically be the following shell command: $ git grep 'BRIAN PAUL BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/BRIAN PAUL/THE AUTHORS/' {} The intention here is to protect all authors, not just Brian Paul. I believe that was already the sensible interpretation, but spelling it out is probably better. More practically, it also prevents people from accidentally copy & pasting the license into a new file which says Brian is not liable when he isn't even one of the authors. Reviewed-by: Brian Paul <[email protected]>
* glapi: Add counter information for glBufferData(), like glBufferSubData().Eric Anholt2013-04-191-2/+2
| | | | This causes this function to become asynchronous with glthread.
* glapi: Add parameter count information for uniforms.Eric Anholt2013-04-192-42/+42
| | | | | | This is the kind of information that would have been present for GLX, if GLX supported modern GL. This allows these entrypoints to get automatic asynchronous marshalling code generated for glthread.
* glapi: skip padding in get_called_parameter_stringPaul Berry2013-04-191-0/+2
| | | | | | | | | | | This bug is currently benign, since get_called_parameter_string() is currently only used for functions that return true for glx_function.has_different_protocol(), and none of those functions include padding. However, in order to implement marshalling of GL API functions, we'll need to use get_called_parameter_string() far more often. Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: no longer emit #include "mfeatures.h" in generated filesBrian Paul2013-04-173-8/+0
| | | | | | None of the symbols in mfeatures.h are used anymore. Reviewed-by: Jordan Justen <[email protected]>
* glapi: remove FEATURE_remap_table test (it's always defined)Brian Paul2013-04-171-15/+0
| | | | Reviewed-by: Jordan Justen <[email protected]>
* build: Move src/mapi/mapi/* to src/mapi/Matt Turner2013-04-152-2/+2
| | | | | | Tested-by: Emil Velikov <[email protected]> Reviewed-and-Tested-by: Andreas Boll <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* glapi: fix storage multisample build errorsDave Airlie2013-03-311-2/+2
| | | | | | Reported on #radeon by udovdh Signed-off-by: Dave Airlie <[email protected]>
* glapi: add definition of ARB_texture_storage_multisampleChris Forbes2013-03-312-0/+35
| | | | | | | | | | Adds XML for the extension, dispatch_sanity enabling, and the two new entrypoints. These are both implemented by calling the shared teximagemultisample() with immutable=GL_TRUE. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glapi/gen: Remove duplicate PYTHON_FLAGSStefan Brüns2013-03-091-7/+7
| | | | | | | PYTHON_GEN calls python with PYTHON_FLAGS Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Stefan Brüns <[email protected]>
* glapi: add ARB_texture_multisampleChris Forbes2013-03-022-1/+71
| | | | | | | | | | | | | | | | | | | | Adds new enums, dispatch machinery, and stubs for the 4 new entrypoints. V2: - Drop placeholder - Align enum values - Remove explicit exec=mesa; it *is* the dispatch flavor we want, but it's also the default. I misunderstood how this worked before; after actually reading the generator it makes good sense. V3: - Squash in stubs for new entrypoints, and dispatch_sanity tweaks, so we don't get build breakage between those patches. V4: - Fix various remaining whitespace issues Signed-off-by: Chris Forbes <[email protected]> [1/3 V2] Reviewed-by: Matt Turner <[email protected]> [V3] Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: mark static_dispatch false for DiscardFramebufferEXTTapani Pälli2013-02-221-1/+2
| | | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61199 Signed-off-by: Tapani Pälli <[email protected]> Tested-by: Vinson Lee <[email protected]> Tested-by: Brad King <[email protected]> Signed-off-by: Vinson Lee <[email protected]>
* gles2: a stub implementation for GL_EXT_discard_framebufferTapani Pälli2013-02-201-0/+13
| | | | | | | | | | | This patch implements a stub for GL_EXT_discard_framebuffer with required checks listed by the extension specification. This extension is required by GLBenchmark 2.5 when compiled with OpenGL ES 2.0 as the rendering backend. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-and-tested-by: Chad Versace <[email protected]>
* glx: fix glGetTexLevelParameteriv for indirect renderingStefan Brüns2013-02-191-1/+3
| | | | | | | | | | | | | | | | A single element in a GLX reply is contained in the header itself. The number of elements is denoted in the "n" field of the reply. If "n" is 1, the length of additional data is 0. The XXX_data_length() function of xcb does not return the length of the (optional, n>1) data but the number of elements. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=59876 Note: This is a candidate for the stable branches. Signed-off-by: Stefan Brüns <[email protected]> Signed-off-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Do not use backtrace on MinGW.Vinson Lee2013-01-311-1/+1
| | | | | | | execinfo.h is not available on MinGW. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: implement GL_ARB_texture_buffer_rangeChristoph Bumiller2013-01-303-0/+27
| | | | | | | | | | | | | | | | | | | | | | | v2: Record texObj.BufferSize as -1 in TexBuffer(non-Range) instead of the buffer's current size so we know we always have to use the full size of the buffer object (i.e. even if it changes without the user calling TexBuffer again) for the texture. Clarify invalid offset alignment error message. v3: Use extra GL_CORE-only section in get_hash_params.py for TEXTURE_BUFFER_OFFSET_ALIGNMENT. v4: Remove unnecessary check for profile in _mesa_TexBufferRange. Add check for extension enable in get_tex_level_parameter_buffer. v5: Fix position in gl_API.xml. Add comment about meaning of BufferSize == -1. v6: Add back checks for core profile and add a note about it. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* scons: Fix dependencies of generated headers.José Fonseca2013-01-211-26/+20
| | | | | | | | | | | | | | It appears that scons implicit dependency scanners fail to chain dependencies of generated headers when these are outside the build tree. This patch ensures generated source files are _always_ put in the build tree. I'm not 100% this will fix all depency issues, but from my experiments it does seem to fix this. NOTE: For this to be effective it is necessary to clean the source tree from generated header/source files. Reviewed-by: Brian Paul <[email protected]>
* glapi: Remove duplicate ARB_base_instance from gl_API.xmlIan Romanick2013-01-151-2/+0
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Add dispatch and extension XML for GL_ARB_internalformat_queryIan Romanick2013-01-153-2/+26
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* glapi/gen: remove an obsolete comment from Makefile.amAndreas Boll2013-01-131-5/+0
| | | | | | | | Glapi gets generated at build time. See commit: 0ce0f7c0c8fa9902678af7f3ecad2541be5808d2 mesa: Remove the generated glapi from source control, and just build it.
* Remove hacks for static MakefilesMatt Turner2013-01-131-7/+4
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* glapi: Emit dispatch for {ARB,OES}_get_program_binaryIan Romanick2013-01-111-6/+3
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: Remove spurious space from end of extension nameIan Romanick2013-01-111-1/+1
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>