summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* glapy: gl_genexec.py: use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_genexec.py: use argparse instead of getoptDylan Baker2015-05-221-17/+12
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_proto_send.py: use a main function.Dylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_proto_send.py: use argparse instead of getoptDylan Baker2015-05-221-31/+28
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: glX_server_table.py: use argparse instead of getoptDylan Baker2015-05-221-23/+15
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_SPARC_asm.py: use main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_SPARC_asm.py use argparse instead of getoptDylan Baker2015-05-221-24/+14
| | | | | | | | Also drop -m switch, which only accepted a single value or raised an error, and was unused in the makefile. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_x86-64_asm.py: Use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_x86_64_asm.py: Use argparse instead of getoptDylan Baker2015-05-221-24/+16
| | | | | | | | | Also removes the redundant -m argument, which could only be set to 'generic', or it would raise an exception. This option wasn't used in the makefile. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_x86_asm.py: use a main functionDylan Baker2015-05-221-1/+5
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_x86_asm.py: use argparse instead of getoptDylan Baker2015-05-221-25/+14
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_gentable.py: use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_gentable.py: Replace getopt with argparseDylan Baker2015-05-221-14/+15
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_apitemp.py: Use a main functionDylan Baker2015-05-221-1/+6
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_apitemp.py: Convert to argparse instead of getoptDylan Baker2015-05-221-20/+19
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_enums.py: use main() function for if __name__ == "__main__"Dylan Baker2015-05-221-1/+5
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_enums.py: use argparse instead of getopt.Dylan Baker2015-05-221-16/+14
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_procs.py: Use argparse rather than getoptDylan Baker2015-05-221-23/+19
| | | | | Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_procs.py: Fix a few low hanging style thingsDylan Baker2015-05-221-7/+16
| | | | | | | Shuts up analysis tools to make them return actual problems. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: remap_helper.py: use argparse instead of optparseDylan Baker2015-05-221-24/+22
| | | | | | | Make the code simpler, cleaner, and easier to work with. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: remap_helper.py: Fix some low hanging style issuesDylan Baker2015-05-221-4/+13
| | | | | | | | This makes the tools shut up about a bunch of problems, making them more useful for catching actual problems. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_table.py: replace getopt with argparse.Dylan Baker2015-05-221-37/+33
| | | | | | | | | | | This results in slightly less code, but code that is much more readable. It has the advantage of putting everything together in one place, all of the code is self documenting, help messages are auto-generated, choices are automatically enforced, and the syntax is much less C like, taking advantage of python features and idioms. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: gl_table.py: Fix some low hanging style issuesDylan Baker2015-05-221-16/+26
| | | | | | | | Making the tools shut up about worthless errors so you can see real ones is very useful Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]>
* glapi: track GL_ARB_program_interface_query.xml10.6-branchpointEmil Velikov2015-05-191-0/+1
| | | | | | | | | | Add the file to the API_XML list, otherwise there will be no knowledge by the build that it should be included in the tarball. Thus the (scons) build will fail. Fixes: b297fc27aa9(glapi: add GL_ARB_program_interface_query skeleton) Signed-off-by: Emil Velikov <[email protected]>
* glapi: Remove offset from the DTDIan Romanick2015-05-151-1/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Whitespace clean up after the previous commitIan Romanick2015-05-1511-443/+223
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove all offset tags from the XMLIan Romanick2015-05-1560-1289/+1289
| | | | | | | | | | | | | | | | Changes generated by: cd src/mapi/glapi/gen for i in *.xml; do cat $i |\ sed 's/[[:space:]]*offset="[^"]*">/>/' |\ sed 's/[[:space:]]*offset="[^"]*"[[:space:]]*$//' |\ sed 's/[[:space:]]*offset="[^"]*"[[:space:]]*/ /' > x mv x $i done Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Use the offsets from static_data.py instead of from the XMLIan Romanick2015-05-151-17/+5
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* glapi: Add a list of functions that are not used but still need dispatch slotsIan Romanick2015-05-151-0/+56
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static dispatch for functions that didn't exist in NVIDIAIan Romanick2015-05-151-46/+0
| | | | | | | | | | | | | | | | Comparing the output of nm -D libGL.so.349.16 | grep ' T gl[^X]' | sed 's/.* T //' between Catalyst NVIDIA 349.16 and this commit, the only change is a bunch of functions that NVIDIA exports that Mesa does not. If a function is not statically exported by either of the major binary drivers on Linux, there is almost zero chance that any application statically links with it. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static dispatch for functions that didn't exist in fglrxIan Romanick2015-05-151-121/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Comparing the output of nm -D arch/x86_64/usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 |\ grep ' T gl[^X]' | sed 's/.* T //' between Catalyst 14.6 Beta and this commit, the only change is a bunch of functions that AMD exports that Mesa does not and some OpenGL ES 1.1 functions that Mesa exported but AMD does not. The OpenGL ES 1.1 functions (e.g., glAlphaFuncx) are added by extensions in desktop. Our infrastructure doesn't allow us to statically export a function in one lib and not in another. The GLES1 conformance tests expect to be able to link with these functions, so we have to export them. If a function is not statically exported by either of the major binary drivers on Linux, there is almost zero chance that any application statically links with it. As a side note... I find it odd that AMD exports glTextureBarrierNV but not glTextureBarrier. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static dispatch for functions that didn't exist in 10.3Ian Romanick2015-05-151-1/+0
| | | | | | | | | | | | | | | | | | | Comparing the output of nm libGL.so | grep ' T gl[^X]' | sed 's/.* T //' between 10.3.7 and this commit, the only change is the removal of glFramebufferTextureFaceARB. This function was removed a couple commits previously. glClipControl was, at the time 10.3 shipped, a very new function. It was added by GL_ARB_clip_control. That extension was ratified by the Khronos Board of Promoters on August 7, 2014. It's less than a year old, and I don't think it's is likely that there are many applications using that extension... much less statically linking with the function. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static dispatch for functions that didn't exist in 10.4Ian Romanick2015-05-151-33/+0
| | | | | | | | | | | | | | | | | | | | | | Comparing the output of nm libGL.so | grep ' T gl[^X]' | sed 's/.* T //' between 10.4.7 and this commit, the only change is the removal of glFramebufferTextureFaceARB. This function was removed a couple commits previously. None of these functions are particuarly new. If applications were not statically linking them with 10.4.7, there's approximately zero chance they will for 10.6. Almost all of these functions are for GL_ARB_direct_state_access. Since the whole DSA API wasn't statically exported (and the extension wasn't enabled!), I think there's exactly zero chance anyone linked against these symbols. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static dispatch for functions that didn't exist in 10.5Ian Romanick2015-05-151-81/+0
| | | | | | | | | | | | | | | | | Comparing the output of nm libGL.so | grep ' T gl[^X]' | sed 's/.* T //' between 10.5.5 and this commit, the only change is the removal of glFramebufferTextureFaceARB. This function was removed a couple commits previously. None of these functions are particuarly new. If applications were not statically linking them with 10.5.5, there's approximately zero chance they will for 10.6. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Remove static_dispatch from the DTDIan Romanick2015-05-151-1/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Whitespace clean up after the previous commitIan Romanick2015-05-156-210/+112
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* glapi: Remove all static_dispatch tags from the XMLIan Romanick2015-05-1511-288/+288
| | | | | | | | | | | | | | | | | | | | | | | Changes generated by: cd src/mapi/glapi/gen for i in *.xml; do cat $i |\ sed 's/[[:space:]]*static_dispatch="[^"]*">/>/' |\ sed 's/[[:space:]]*static_dispatch="[^"]*"[[:space:]]*$//' |\ sed 's/[[:space:]]*static_dispatch="[^"]*"[[:space:]]*/ /' > x mv x $i done Comparing the output of nm libGL.so | grep ' T gl[^X]' | sed 's/.* T //' before and after this commit showed no differences. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* glapi: Store list of functions with static dispatch in a separate tableIan Romanick2015-05-152-1/+1520
| | | | | | | | | | | | | | | | | The set of functions with static dispatch is (supposed to be) defined by the Linux OpenGL ABI. We export quite a few more functions than that for historical reasons. However, this list should never grow. This table is used instead of the static_dispatch tag in the XML to generate the static dispatch functions. I used nm libGL.so | grep ' T gl[^X]' | sed 's/.* T //' before and after the change. diff showed no differences. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* glapi: Store static dispatch offsets in a separate tableIan Romanick2015-05-153-0/+446
| | | | | | | | | | | | | Since the set of functions with static will never change, there is no reason to store it in the XML. It's just one of those fields that confuses people adding new functions. This is split out from the rest of the series so that in-code assertions can be used to verify that the data in the Python code matches the XML. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* mesa: Remove all vestiges of glFramebufferTextureFaceARBIan Romanick2015-05-152-2/+1
| | | | | | | | | | | | | | | Mesa does not (and probably never will) support GL_ARB_geometry_shader4, so this function will never exist. Having a function that is exec="skip" and offset="assign" is just weird. There are still a couple 'exec="skip" offset="assign"' functions remaining. These remain because we either support GLX protocol for them (glSampleMaskSGIS and glSamplePatternSGIS) or older DRI drivers still need them in the dispatch table (glResizeBuffersMESA). The SGIS functions can be removed later. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Mark a couple functions "ignore" for GLXIan Romanick2015-05-151-2/+2
| | | | | | | | Without this the next patch will try to put these functions in the dispatch table in indirect_init.c. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* main: Add entry point for NamedFramebufferDrawBuffers.Laura Ekstrand2015-05-141-0/+6
| | | | | Reviewed-by: Fredrik Höglund <[email protected]> Signed-off-by: Fredrik Höglund <[email protected]>