summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* glapi: work-around MSVC 65K string length limitation for enums.cBrian Paul2015-12-011-3/+10
| | | | | | | | | | | String literals cannot exceed 65535 characters for MSVC. Instead of emiting a string, emit an array of characters. v2: fix indentation and add comment in the gl_enums.py file about this ugliness. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi: Fix enums.c build with other build systems.Eric Anholt2015-12-011-1/+1
| | | | | Tested with scons (by both myself and Mark Janes), Android is just copy and paste.
* mesa: Drop the blacklisting of new GL enums.Eric Anholt2015-12-011-266/+0
| | | | | | | | | | | | | Now when people need new extensions, they can skip the entire enum-definition process, and we can stop reviewing new extension XML for its enum content. This also brings in a new enum that I wanted to use in enum_strings.cpp for testing the code generator. v2: Drop comment about disabled GL_1PASS_EXT test. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Use a 32-bit offset for the enums.c string offset table.Eric Anholt2015-12-011-3/+1
| | | | | | | With GLES 3.1, GL 4.5, and many new vendor extensions about to get their enums added, we jump up to 85k of table. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Prefer newer names to older ones among names present in core.Eric Anholt2015-12-011-17/+8
| | | | | | | | | | | | Sometimes GL likes to rename an old enum when it grows a more general purpose, and we should prefer the new name. Changes from this: GL_POINT/LINE_SIZE_* (1.1) -> GL_SMOOTH_POINT/LINE_SIZE_* (1.2) GL_FOG_COORDINATE_* (1.4) -> GL_FOG_COORD_* (1.5) GL_SOURCE[012]_RGB/ALPHA (1.3) -> GL_SRC0_RGB (1.5) GL_COPY_READ/WRITE_BUFFER (3.1) -> GL_COPY_READ_BUFFER_BINDING (4.2) Reviewed-by: Ian Romanick <[email protected]>
* mesa: Drop bitfield "enums" from the enum-to-string table.Eric Anholt2015-12-011-8/+11
| | | | | | | | | | | | | | Asking the table for bitfield names doesn't make any sense. For 0x10, do you want GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV or GL_COLOR_BUFFER_BIT4_QCOM or GL_POLYGON_STIPPLE_BIT or GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV? Giving a useful answer would depend on a whole lot of context. This also fixes a bad enum table entry, where we chose GL_HINT_BIT instead of GL_ABGR_EXT for 0x8000, so we can now fix its entry in the enum_strings test. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Switch to using the Khronos registry for generating enums.Eric Anholt2015-12-012-39/+370
| | | | | | | | | | | | | | | | | | | | | | | | I've used a bunch of python code to cut out new enums so that the two generated files can be diffed. I'll remove all that hardcoding in the following commits. All remaining differences between the generated code: - GL_TEXTURE_BUFFER_FORMAT didn't appear in GL3 when TBOs got merged to core, so it now gets an _ARB suffix instead. - Blacklisting can't keep EXT_sso's GL_ACTIVE_PROGRAM_EXT from becoming GL_ACTIVE_PROGRAM -- in our hash table, GL_ACTIVE_PROGRAM_EXT points at the GLES2 enum's value (aka GL_CURRENT_PROGRAM). By not blacklisting the core name, we get both enums translated. - GL_DRAW_FRAMEBUFFER_BINDING and GL_FRAMEBUFFER_BINDING both appeared in GL3 as synonyms, and the new code happens to choose GL_FRAMEBUFFER_BINDING instead. - GL_TEXTURE_COMPONENTS and GL_TEXTURE_INTERNAL_FORMAT both appear in 1.1, and the new code chooses GL_TEXTURE_INTERNAL_FORMAT instead (which seems better, to me) Reviewed-by: Ian Romanick <[email protected]>
* mesa: Remove the python mode bits from gl_enums.py.Eric Anholt2015-12-011-1/+0
| | | | | | | emacs whines at me every time I open the file about these unsafe variables, and the file was reformatted from 8 space to 4 space long ago. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Drop apparently typoed GL_ALL_CLIENT_ATTRIB_BITS.Eric Anholt2015-12-011-1/+0
| | | | | | | | GL_ALL_ATTRIB_BITS is a thing, and GL_CLIENT_ALL_ATTRIB_BITS, but I don't see GL_ALL_CLIENT_ATTRIB_BITS in my grepping of khronos XML, GL extension specs, GL 1.1, GL 2.2, and GL 4.4. Reviewed-by: Brian Paul <[email protected]>
* mesa: Drop enums that had been removed in later revs of specs.Eric Anholt2015-12-013-6/+0
| | | | | | | | | Mesa hasn't been using these enums and the finalized specs don't reference them, so losing them from our generated enum-to-string code should be fine. Reduces diffs to generating from Khronos XML, which has these enums noted defined but commented out from any consumers. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Fix a typo in AMD_performance_monitor enum.Eric Anholt2015-12-011-1/+1
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: Fix enum definition of CULL_VERTEX_EYE/OBJECT_POSITIONEric Anholt2015-12-011-2/+2
| | | | | | | In converting to using the Khronos XML, I found that our XML had these two swapped, and the text spec agreed. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add a copy of the Khronos gl.xml (SVN #31705).Eric Anholt2015-12-011-0/+45348
| | | | | | | | The intention here is to keep a pristine copy of the upstream gl.xml that can be updated at any time with a new version, and use that to generate Mesa code from instead of our private XML. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove ARB_geometry_shader4Marta Lofstedt2015-11-263-59/+1
| | | | | | | | | | No drivers currently implement ARB_geometry_shader4, nor are there any plans to implement it. We only support the version of geometry shaders that was incorporated into OpenGL 3.2 / GLSL 1.50. Signed-off-by: Marta Lofstedt <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: add EXT_blend_func_extended XML definitionsRyan Houdek2015-11-192-1/+28
| | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* mesa: expose support for GL_EXT_buffer_storageRyan Houdek2015-11-041-0/+9
| | | | | | | | | This extension requires ES 3.1 since it relies on glMemoryBarrier. For testing purposes I temporarily moved glMemoryBarrier to be an ES 3.0 function. This has been tested with the piglit in the ML and the Dolphin emulator. Reviewed-by: Ilia Mirkin <[email protected]>
* mesa: expose support for OES/EXT_draw_elements_base_vertex to OpenGL ESRyan Houdek2015-11-012-3/+91
| | | | | | | This has been tested with the piglits in the mailing list and on the Dolphin emulator. Reviewed-by: Ilia Mirkin <[email protected]>
* glapi: add function pointers for KHR_debug for glesMatthew Waters2015-10-071-0/+73
| | | | | | | | | | v2 [Emil Velikov] - Rebase. - Correct version in gles11 dispatch_sanity. - Move the extension enable to a separate patch. Signed-off-by: Matthew Waters <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mapi: Make _glapi_get_stub work with "gl" or "mgl" prefix.Kyle Brenneman2015-10-021-1/+1
| | | | | | | | | | | | | | | When USE_MGL_NAMESPACE is defined, _glapi_get_stub will check for the "m" prefix before trying to skip it, so that "glFoo" and "mglFoo" are equivalent. This should let it work with all the places where something calls _glapi_get_proc_offset with a hard-coded name that starts with the normal "gl" prefix. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55552 Signed-off-by: Kyle Brenneman <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Cc: "10.6 11.0" <[email protected]>
* glapi: add ARB_shader_storage_block_buffer_objectSamuel Iglesias Gonsalvez2015-09-254-2/+59
| | | | | | Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]>
* mesa: move GL_APPLE_object_purgeable functions to new fileBrian Paul2015-09-161-0/+1
| | | | | | | Move this code out of bufferobj.c since it's not strongly connected to buffer objects. Acked-by: Matt Turner <[email protected]>
* mapi: automake: rework the source generation rulesEmil Velikov2015-09-091-19/+19
| | | | | | | | | Same logic as previous commit applies. Also fix bogus MESA_MAPI_DIR - the sources are located in the source dir (duh). Cc: 11.0 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mapi: automake: rework the *api/glapi_mapi_tmp.h rulesEmil Velikov2015-09-091-11/+12
| | | | | | | | | | Same logic as previous commit applies. v2: Merge with "inline glapi_gen_mapi define" (Matt) Cc: 11.0 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Inline x86_64_current_tls().Matt Turner2015-09-011-8/+2
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: Expose GL_ARB_framebuffer_no_attachments to GLES 3.1Marta Lofstedt2015-09-012-4/+4
| | | | | | | V2: Conform to new standard for exposing enums for OpenGL ES 3.1. Signed-off-by: Marta Lofstedt <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* ABI-check: Use more portable bash invocation.Vinson Lee2015-08-272-2/+2
| | | | | | | Fixes 'make check' on FreeBSD. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Remove _x86_64_get_get_dispatch symbol from x86-64 assembly.Matt Turner2015-08-271-6/+0
| | | | | | Never used. Reviewed-by: Mark Janes <[email protected]>
* glapi: add GL_OES_texture_storage_multisample_2d_array extensionTapani Pälli2015-08-271-0/+19
| | | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marta Lofstedt <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* glapi: add support for KHR_texture_compression_astc_ldrNanley Chery2015-08-263-1/+42
| | | | | | | | v2: correct the spelling of the sRGB variants. remove spaces around "=" when setting the enum value. Reviewed-by: Anuj Phogat <[email protected]> Signed-off-by: Nanley Chery <[email protected]>
* mapi: ship ARB_tessellation_shader.xmlEmil Velikov2015-08-221-0/+1
| | | | | Fixes: e2b59a39cbb(mapi: add ARB_tessellation_shader) Signed-off-by: Emil Velikov <[email protected]>
* mesa: Implement glMemoryBarrierByRegionMarta Lofstedt2015-08-171-0/+6
| | | | | | | | The function glMemoryBarrierByRegion is part of OpenGL ES 3.1 and OpenGL 4.5 core and compatibility profiles. Signed-off-by: Marta Lofstedt <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* apiexec: remove leading gl from shader subroutine interfacesDave Airlie2015-07-241-8/+8
| | | | | | | | | Remove the gl at the start, stared at this for a while yesterday, totally missed it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91441 Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* dispatch_sanity: add shader subroutine to fix make checkDave Airlie2015-07-231-0/+11
| | | | | | | | Add the shader subroutine to the core only API list, and fixup dispatch_sanity to suit. Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* glapi: Add ARB_shader_subroutine functions and enums (v2)Chris Forbes2015-07-233-1/+88
| | | | | | | | | v2: fix output="true" and LENGTH typo Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chris Forbes <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* mapi: add ARB_tessellation_shaderFabian Bieler2015-07-233-1/+68
| | | | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: fix argument parsing in glX_proto_recv.pyDylan Baker2015-07-221-2/+2
| | | | | | | | | | One of the plugins I use with vim "helpfully" added an underscore to the front of mode for kicks. Obviously this isn't a feature used very often because it's been broken since d986cb7c70db (since May 20th), and no one has noticed. Signed-off-by: Dylan Baker <[email protected]>
* mesa: add API dispatch for GL_ARB_get_texture_sub_imageBrian Paul2015-07-213-1/+44
| | | | | | | | | | | This adds the new glGetTextureSubImage() and glGetCompressedTextureSubImage() functions. Also update the dispatch sanity test program. v2: remove stray brace, move xi:include line in gl_API.xml, fix extension number typo, s/program/texture/ in xml file. Reviewed-by: Ilia Mirkin <[email protected]>
* mesa: Rename _mesa_lookup_enum_by_nr() to _mesa_enum_to_string().Kenneth Graunke2015-07-201-1/+1
| | | | | | | Generated by sed; no manual changes. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Enable subdir-objects globally.Matt Turner2015-06-261-2/+0
| | | | Reviewed-by: Emil Velikov <[email protected]>
* glapi: remap_helper.py: remove unused argument 'es'Emil Velikov2015-06-231-8/+0
| | | | | | | | | Identical to the previous commit - unused by neither the Autotools, Android or SCons build. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* glapi: gl_table.py: remove unused variable 'es'Emil Velikov2015-06-231-49/+8
| | | | | | | | | None of the three build systems ever set it, as such we can clear things up a bit. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: Constants and functions for ARB_framebuffer_no_attachmentsKevin Rogovin2015-06-174-1/+41
| | | | | | | | Define the enumeration constants, function entry points and glGet for the GL_ARB_framebuffer_no_attachments. Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Kevin Rogovin <[email protected]>
* glapi: Make GL_ARB_direct_state_access functions exclusive to core profileIan Romanick2015-05-281-0/+100
| | | | | | | | Signed-off-by: Ian Romanick <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Ilia Mirkin <[email protected]> Cc: Dylan Baker <[email protected]> Cc: "10.6" <[email protected]>
* glapi: Store exec table version info outside the XMLIan Romanick2015-05-283-12/+185
| | | | | | | | | | | | | | | | | | | | | | | Currently on the functions that are exclusive to core-profile are implemented. The remainder continue to live in the XML. Additional functions can be moved later. The functions for GL_ARB_draw_indirect and GL_ARB_multi_draw_indirect are put in the dispatch table inside the VBO module, so they do not need to be moved over. The diff of src/mesa/main/api_exec.c before and after this patch is as expected. All of the functions listed in apiexec.py moved out of a 'if (_mesa_is_desktop(ctx))' block into a new 'if (ctx->API == API_OPENGL_CORE)' block. v2: Remove stray shebang line in apiexec.py. Suggested by Ilia. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Dylan Baker <[email protected]> Cc: "10.6" <[email protected]>
* gles/es3.1: Enable dispatch of almost all new GLES 3.1 functionsIan Romanick2015-05-2810-65/+65
| | | | | | | | | | | | | | | | | | | A couple functions are missing because there are no implementations of them yet. These are: glFramebufferParameteri (from GL_ARB_framebuffer_no_attachments) glGetFramebufferParameteriv (from GL_ARB_framebuffer_no_attachments) glMemoryBarrierByRegion v2: Rebase on updated dispatch_sanity.cpp test. v3: Add support for glDraw{Arrays,Elements}Indirect in vbo_exec_array.c. The updated dispatch_sanity.cpp test discovered this omission. v4: Rebase on glapi changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* glapi: Avoid argparse type argument for API XML input files.Jose Fonseca2015-05-263-12/+12
| | | | | | | | | | | | | | | | | | | | argparse type is a nice type saver for simple data types, but it doesn't look a good fit for the input XML file: - Certain implementations of argparse (particularly python 2.7.3's) invoke the type constructor for the default argument even when an option is passed in the command line. Causing `No such file or directory: 'gl_API.xml'` when the current dir is not src/mapi/glapi/gen. - The parser takes multiple arguments. This is currently worked around using lambdas, but that unnecessarily complex and hard to read. Furthermore it's odd to have a side-effect as heavy as parsing XML happening deep inside the argument parsing. https://bugs.freedesktop.org/show_bug.cgi?id=90600 Reviewed-by: Brian Paul <[email protected]>
* glapi: glX_proto_size.py: use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_proto_size.py: use argparse instead of getoptDylan Baker2015-05-222-46/+46
| | | | | | | | | | This is roughly equivalent to the original getopt, except that it removes the '-h' short option, which argparse reserves for auto-generated help messages. It does retain the long option specified by the getopt version, and changes the makefile to use that. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_proto_recv.py: Use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_proto_recv.py: use argparse instead of getoptDylan Baker2015-05-221-25/+30
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>