summaryrefslogtreecommitdiff
path: root/src/mapi
AgeCommit message (Collapse)AuthorFilesLines
2011-08-21android: build shared glapiChia-I Wu1-0/+60
This builds the shared library libglapi from shared glapi. Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-18glapi: update .gitignore for generated ES dispatch headersPaul Berry1-3/+0
Commit 6eff33dc (glapi: generate ES dispatch headers from core mesa) replaced the autogenerated files src/mapi/es1api/main/{dispatch,remap_helper}.h with new autogenerated files src/mesa/main/api_exec_es{1,2}_{dispatch,remap_helper}.h. This patch updates the .gitignore files to properly ignore the new autogenerated files, and stop ignoring the old autogenerated files. Reviewed-by: Chia-I Wu <olv@lunarg.com>
2011-08-13glapi: remove gen-esChia-I Wu13-7703/+0
Not used anymore.
2011-08-13glapi: generate ES dispatch headers from core mesaChia-I Wu1-8/+1
GLESv1 and GLESv2 have their own dispatch.h and remap_helper.h. These headers are only used by api_exec_es1.c and api_exec_es2.c in core mesa. Move the rules to generate them from glapi to core mesa. Reviewed-by: Brian Paul <brianp@vmware.com> [olv: updated after reviewing to fix SCons build]
2011-08-13glapi: add glapi_gen.mk to help header generationChia-I Wu3-17/+61
glapi_gen.mk is supposed to be included by glapi users to simplify header generation. This commit also makes es1api, es2api, and shared-glapi use it. Reviewed-by: Brian Paul <brianp@vmware.com> [olv: updated after reviewing to prefix all variables in glapi_gen.mk by glapi_gen]
2011-08-13glapi: use gl_and_es_API.xml to generate GLES headersChia-I Wu4-15/+39
glapi/gen-es/ defines two sets of GLAPI XMLs for OpenGL ES 1.1 (es1_API.xml) and 2.0 (es2_API.xml) respectively. They are used to generate dispatch.h and remap_helper.h for GLES. Together with gl_and_es_API.xml, we have to maintain three sets of GLAPI XMLs. This commit makes dispatch.h and remap_helper.h for GLES be generated from gl_and_es_API.xml. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-08-13glapi: add methods to filter functionsChia-I Wu1-7/+39
add gl_api::filter_functions and gl_function::filter_entry_points to filter out unwanted functions and entry points. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-08-13glapi: add gles_api.pyChia-I Wu3-417/+464
Move the list of entry points belong to GLES from mapi_abi.py to a new file. Until we figure out how to describe the APIs an entry point belongs to in the XML file, and how to handle the case where an entry point others alias is missing in some APIs, this is an easier solution than maintaining another two sets of XMLs in glapi/gen-es/. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-06-20glapi: Update specs to correctly list FramebufferTextureLayerARB as an alias ↵Jeremy Huddleston1-1/+1
of FramebufferTextureLayerEXT FramebufferTextureLayer is an alias of FramebufferTextureLayerEXT, so FramebufferTextureLayerARB needs to be listed as an alias of FramebufferTextureLayerEXT rather than FramebufferTextureLayer. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-17scons: Correct glapi USE_xxx_ASM flags.José Fonseca1-11/+4
2011-06-14glapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather ↵Jeremy Huddleston2-2586/+2666
than NULL This change to _glapi_create_table_from_handle causes it to fill the dispatch table with NoOps for unimplemented functionality. This matches what is done in indirect_init.c and also allows us to enable logging (when built with -DDEBUG and the MESA_DEBUG or LIBGL_DEBUG environment variables are set) to catch cases where clients are trying to use these unimplemented extentions. Additionally, this fixes some gcc -pedantic warnings. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-13glapi: Add check for NULL symbol_prefix in gentable and fix warningsJeremy Huddleston2-2594/+3891
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-13mapi: declare x86_entry_start/end staticChia-I Wu2-5/+6
x86_entry_start and x86_entry_end are defined by the inline assembly. Declaring them static saves one instruction in entry_get_public.
2011-06-13mapi: Fix tls with shared/es-glapi on x86-64Benjamin Franzke1-1/+3
x86_64_entry_start needs to be declared static in the C code, in order to have the correct address in entry_get_public (seems not to be needed on x86). The compiler needs to lookup a local not a global object. Otherwise addresses needed for _glapi_proc_address will be computed from some random offset (0x6400229a61058b48 in my case).
2011-06-11glapi: Add API that can create a _glapi_table from a dlfcn handleJeremy Huddleston5-2/+7947
Example usage: void *handle = dlopen(opengl_library_path, RTLD_LOCAL); struct _glapi_table *disp = _glapi_create_table_from_handle(handle, "gl"); Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-08mesa: merge glapidispatch.h into dispatch.hChia-I Wu3-14/+13
glapidispatch.h was located in glapi and shared with mesa core. Because the way it was shared, mesa core must include it indirectly via main/dispatch.h. Now that it is no longer needed by glapi and is located in core mesa, merging it with main/dispatch.h to avoid wrong uses.
2011-06-08mesa: fix GLES remap table setup againChia-I Wu1-9/+13
Generate different glapidispatch.h's for GL and GLES. For GLES, we want a local remap table. This reverts commit 5af46e836073d2112b147b524e441bdb808cc128. The commit will break GL remap table setup when main/glapidispatch.h is regenerated.
2011-06-02glapi: regenerated filesPierre-Eric Pelloux-Prayer7-4296/+4371
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-06-02glapi: add glDrawElementsInstancedBaseVertex() function to xmlBrian Paul1-0/+9
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-06-01glapi: Make xserver location error more helpfulNathan Kidd1-1/+4
glx code hasn't lived under xserver/GL for a long time now. Signed-off-by: Nathan Kidd <nkidd@opentext.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2011-05-23mesa: Fix remap_table setup.Thierry Reding1-0/+5
Since the SET_xxx and GET_xxx macros used to initialize the remap_table have been replaced by inline functions, the missing late macro expansion leads to driDispatchRemapTable not being redefined to remap_table, which in turn causes the remap_table not to be setup properly. This commit fixes the issue by moving the table redefinition after the definition of driDispatchRemapTable but in front of the inline function definitions.
2011-05-20glapi: More type-checking in Get_xxx too.José Fonseca1-4/+8
2011-05-19glapi: Implement SET_xxx as inline functions instead of macros.José Fonseca1-1/+4
In order to have the benefit of type checking, and detect missing GLAPIENTRY keywords on public entrypoints.
2011-05-03glapi: regenerate files for AMD_draw_buffers_blendMarek Olšák6-151/+239
2011-05-03glapi: add functions for AMD_draw_buffers_blendMarek Olšák3-0/+40
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-26Squashed commit of the following:Brian Paul10-3917/+5437
commit 864fe253b04105b7469e5f7b064dc37637b944f8 Author: Brian Paul <brianp@vmware.com> Date: Thu Apr 21 20:13:07 2011 -0600 mesa: s/exec/disp/ in _mesa_init_histogram_dispatch() This function isn't normally compiled (FEATURE_histogram). commit f4bf45e2b94b582cacd19cdca873c5be627e4250 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:58 2011 -0600 mesa: hook up GL_ARB_robustness dispatch functions ...and advertise the extension. Signed-off-by: Brian Paul <brianp@vmware.com> commit 2b89e38e5f572dc40cebc06381ae7c5d04386998 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:58 2011 -0600 mesa: regenerated API files for GL_ARB_robustness Signed-off-by: Brian Paul <brianp@vmware.com> commit 5d5ebfb7135cec9d833adef86cbf4d0f3d9beca8 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 glapi: add ARB_robustness xml Signed-off-by: Brian Paul <brianp@vmware.com> commit 0159d1d6d99f4bbc18381dc2081c20d3aff17ac9 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: implement GL_ARB_robustness functions Signed-off-by: Brian Paul <brianp@vmware.com> commit 938fd71f4c4742f274922d53492a7290ab8d9c9b Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add context fields for GL_ARB_robustness Signed-off-by: Brian Paul <brianp@vmware.com> commit 72075137bc79e65be03dac7e97b6dba93c3a86a4 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: standardize more bounds-checking error messages Signed-off-by: Brian Paul <brianp@vmware.com> commit 32a3fc23746db49da903fbc08afa0135af3007d2 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: standardize some bounds-checking error messages Signed-off-by: Brian Paul <brianp@vmware.com> commit cecbf1f4d164207de373dec0cadee2e84e1f9656 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add more bounds-checking support for client memory buffers Signed-off-by: Brian Paul <brianp@vmware.com> commit edc895b52383d5bd274422db56adead1d81daf5f Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add bounds-checking support for client memory buffers Signed-off-by: Brian Paul <brianp@vmware.com> commit 3a96ef28a538f158a219b406cd090dee70470c85 Author: nobled <nobled@dreamwidth.org> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: use is_bufferobj() helper function Signed-off-by: Brian Paul <brianp@vmware.com>
2011-04-23mapi/glapi: Avoid warnings about visibility being unsupported on MinGW.José Fonseca2-2/+2
2011-04-10glapi: regenerated files for GL_ARB_sampler_objectsBrian Paul7-4046/+4868
2011-04-10glapi: interface for GL_ARB_sampler_objectsBrian Paul3-0/+99
2011-04-05mesa: regenerated API entrypoints for GL_ARB_texture_buffer_objectBrian Paul7-4053/+4112
2011-04-05mesa: API spec for GL_ARB_texture_buffer_objectBrian Paul3-0/+25
2011-03-29mesa: implement clamping controls (ARB_color_buffer_float)Marek Olšák3-0/+27
Squashed commit of the following: Author: Marek Olšák <maraeo@gmail.com> mesa: fix getteximage so that it doesn't clamp values mesa: update the compute_version function mesa: add display list support for ARB_color_buffer_float mesa: fix glGet query with GL_ALPHA_TEST_REF and ARB_color_buffer_float commit b2f6ddf907935b2594d2831ddab38cf57a1729ce Author: Luca Barbieri <luca@luca-barbieri.com> Date: Tue Aug 31 16:50:57 2010 +0200 mesa: document known possible deviations from ARB_color_buffer_float commit 5458935be800c1b19d1c9d1569dc4fa30a97e8b8 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Tue Aug 24 21:54:56 2010 +0200 mesa: expose GL_ARB_color_buffer_float commit aef5c3c6be6edd076e955e37c80905bc447f8a82 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:12:34 2010 +0200 mesa, mesa/st: handle read color clamping properly (I'll squash the st/mesa part to a separate commit. -Marek) We set IMAGE_CLAMP_BIT in the caller based on _ClampReadColor, where the operation mandates it. TODO: did I get the set of operations mandating it right? commit 3a9cb5e59b676b6148c50907ce6eef5441677e36 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:09:41 2010 +0200 mesa: respect color clamping in texenv programs (v2) Changes in v2: - Fix attributes other than vertex color sometimes getting clamped commit de26f9e47e886e176aab6e5a2c3d4481efb64362 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:05:53 2010 +0200 mesa: restore color clamps on glPopAttrib commit a55ac3c300c189616627c05d924c40a8b55bfafa Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 18:04:26 2010 +0200 mesa: clamp color queries if and only if fragment clamping is enabled commit 9940a3e31c2fb76cc3d28b15ea78dde369825107 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Wed Aug 25 00:00:16 2010 +0200 mesa: introduce derived _ClampXxxColor state resolving FIXED_ONLY To do this, we make ClampColor call FLUSH_VERTICES with the appropriate _NEW flag. We introduce _NEW_FRAG_CLAMP since fragment clamping has wide-ranging effects, despite being in the Color attrib group. This may be easily changed by s/_NEW_FRAG_CLAMP/_NEW_COLOR/g commit 6244c446e3beed5473b4e811d10787e4019f59d6 Author: Luca Barbieri <luca@luca-barbieri.com> Date: Thu Aug 26 17:58:24 2010 +0200 mesa: add unclamped color parameters
2011-03-29mesa: regenerate glapi filesMarek Olšák7-4152/+4211
2011-03-25mesa,mapi: Remove spurious const keyword from ClearBufferfi args.José Fonseca4-7/+7
2011-03-21glapi: drop glapi.[ch] and glapitemp.h from being copied to the X server.Dave Airlie1-3/+0
These files are no longer considered shared as the X code is a lot simpler without sharing them. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-15mesa: regenerate glapi filesMarek Olšák7-434/+485
Be sure to type "make clean" after this commit, otherwise your binaries will segfault.
2011-03-15mesa: add NV_texture_barrierMarek Olšák3-0/+16
2011-03-15glx: add ARB_create_context functions/ops to glx xmlDave Airlie1-0/+14
2011-03-14glx: the server still needs __GLXcontext.Dave Airlie1-2/+2
This file generates code for the X server and it still uses the __GLXcontext structure name. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-06mapi: _glthread_DECLARE_STATIC_MUTEX is not broken on Windows.José Fonseca3-18/+5
2011-01-29mapi: Workaround a bug in makedepend.Chia-I Wu4-7/+30
makedepend would crash when a source includes a header indirectly, such as #define HEADER "some-header.h" #include HEADER Do not define HEADER (makedepend would detects this as an incomplete include) and add the dependency manually in the Makefile. This should hopefully fix bug #33374.
2011-01-27glapi: add @GOTPCREL relocation typeDimitry Andric2-2/+4
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440 This replaces commit 731ec60da3ccb92f5bfb4d6f1bc3c8e712751376 NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-25Revert "glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S"Brian Paul2-2/+2
This reverts commit 731ec60da3ccb92f5bfb4d6f1bc3c8e712751376. This change causes crashes in the x86-64 dispatch code.
2011-01-25glapi: adding @ char before type specifier in glapi_x86.SDimitry Andric2-2/+2
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33433 NOTE: This is a candidate for the 7.9 and 7.10 branches. Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-25glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.SDimitry Andric2-2/+2
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440 NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-24add machine generated files to .gitignoreTim Wiederhake3-0/+4
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-22scons: Add support for GLES.Chia-I Wu3-5/+121
GLES can be enabled by running scons with $ scons gles=yes When gles=yes is given, the build is changed in three ways. First, libmesa.a will be built with FEATURE_ES1 and FEATURE_ES2. This makes DRI drivers and libEGL support and advertise GLES support. Second, GLES libraries will be created. They are libGLESv1_CM, libGLESv2, and libglapi. Last, libGL or opengl32 will link to libglapi. This change is required as _glapi_* will be declared as __declspec(dllimport) in libmesa.a on windows. libmesa.a expects those symbols to be defined in another DLL. Due to this change to GL, GLES support is marked experimental. Note that GLES requires libxml2-python to generate some of its sources.
2011-01-22mapi: ENTRY_CURRENT_TABLE_GET should be stringified.Chia-I Wu1-1/+1
So that it can be renamed to _glapi_get_dispatch.
2011-01-20mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul1-16/+27
Remove the redundant public _mesa_prim_name[] array.
2011-01-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu5-23/+13201
When --enable-shared-glapi is specified, libGL will share libglapi with OpenGL ES instead of defining its own copy of glapi. This makes sure an app will get only one copy of glapi in its address space. The new option is disabled by default. When enabled, libGL and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed. For GLX, indirect rendering for has_different_protocol() functions is tricky. A has_different_protocol() function is assigned only one dispatch offset, yet each entry point needs a different protocol opcode. It cannot be supported by the shared glapi. The fix to this is to make glXGetProcAddress handle such functions specially before calling _glapi_get_proc_address. Note that these files are automatically generated/re-generated src/glx/indirect.c src/glx/indirect.h src/mapi/glapi/glapi_mapi_tmp.h