summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* glapi: remove gen-esChia-I Wu2011-08-1313-7703/+0
| | | | Not used anymore.
* glapi: generate ES dispatch headers from core mesaChia-I Wu2011-08-131-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 <[email protected]> [olv: updated after reviewing to fix SCons build]
* glapi: add glapi_gen.mk to help header generationChia-I Wu2011-08-133-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 <[email protected]> [olv: updated after reviewing to prefix all variables in glapi_gen.mk by glapi_gen]
* glapi: use gl_and_es_API.xml to generate GLES headersChia-I Wu2011-08-134-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 <[email protected]>
* glapi: add methods to filter functionsChia-I Wu2011-08-131-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 <[email protected]>
* glapi: add gles_api.pyChia-I Wu2011-08-133-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 <[email protected]>
* glapi: Update specs to correctly list FramebufferTextureLayerARB as an alias ↵Jeremy Huddleston2011-06-201-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 <[email protected]>
* scons: Correct glapi USE_xxx_ASM flags.José Fonseca2011-06-171-11/+4
|
* glapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather ↵Jeremy Huddleston2011-06-142-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 <[email protected]>
* glapi: Add check for NULL symbol_prefix in gentable and fix warningsJeremy Huddleston2011-06-132-2594/+3891
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* mapi: declare x86_entry_start/end staticChia-I Wu2011-06-132-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.
* mapi: Fix tls with shared/es-glapi on x86-64Benjamin Franzke2011-06-131-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).
* glapi: Add API that can create a _glapi_table from a dlfcn handleJeremy Huddleston2011-06-115-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 <[email protected]>
* mesa: merge glapidispatch.h into dispatch.hChia-I Wu2011-06-083-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.
* mesa: fix GLES remap table setup againChia-I Wu2011-06-081-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.
* glapi: regenerated filesPierre-Eric Pelloux-Prayer2011-06-027-4296/+4371
| | | | Signed-off-by: Brian Paul <[email protected]>
* glapi: add glDrawElementsInstancedBaseVertex() function to xmlBrian Paul2011-06-021-0/+9
| | | | Signed-off-by: Brian Paul <[email protected]>
* glapi: Make xserver location error more helpfulNathan Kidd2011-06-011-1/+4
| | | | | | | glx code hasn't lived under xserver/GL for a long time now. Signed-off-by: Nathan Kidd <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* mesa: Fix remap_table setup.Thierry Reding2011-05-231-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.
* glapi: More type-checking in Get_xxx too.José Fonseca2011-05-201-4/+8
|
* glapi: Implement SET_xxx as inline functions instead of macros.José Fonseca2011-05-191-1/+4
| | | | | In order to have the benefit of type checking, and detect missing GLAPIENTRY keywords on public entrypoints.
* glapi: regenerate files for AMD_draw_buffers_blendMarek Olšák2011-05-036-151/+239
|
* glapi: add functions for AMD_draw_buffers_blendMarek Olšák2011-05-033-0/+40
| | | | Reviewed-by: Ian Romanick <[email protected]>
* Squashed commit of the following:Brian Paul2011-04-2610-3917/+5437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 864fe253b04105b7469e5f7b064dc37637b944f8 Author: Brian Paul <[email protected]> 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 <[email protected]> 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 <[email protected]> commit 2b89e38e5f572dc40cebc06381ae7c5d04386998 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:58 2011 -0600 mesa: regenerated API files for GL_ARB_robustness Signed-off-by: Brian Paul <[email protected]> commit 5d5ebfb7135cec9d833adef86cbf4d0f3d9beca8 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 glapi: add ARB_robustness xml Signed-off-by: Brian Paul <[email protected]> commit 0159d1d6d99f4bbc18381dc2081c20d3aff17ac9 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: implement GL_ARB_robustness functions Signed-off-by: Brian Paul <[email protected]> commit 938fd71f4c4742f274922d53492a7290ab8d9c9b Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add context fields for GL_ARB_robustness Signed-off-by: Brian Paul <[email protected]> commit 72075137bc79e65be03dac7e97b6dba93c3a86a4 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: standardize more bounds-checking error messages Signed-off-by: Brian Paul <[email protected]> commit 32a3fc23746db49da903fbc08afa0135af3007d2 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: standardize some bounds-checking error messages Signed-off-by: Brian Paul <[email protected]> commit cecbf1f4d164207de373dec0cadee2e84e1f9656 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add more bounds-checking support for client memory buffers Signed-off-by: Brian Paul <[email protected]> commit edc895b52383d5bd274422db56adead1d81daf5f Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: add bounds-checking support for client memory buffers Signed-off-by: Brian Paul <[email protected]> commit 3a96ef28a538f158a219b406cd090dee70470c85 Author: nobled <[email protected]> Date: Thu Apr 21 07:53:57 2011 -0600 mesa: use is_bufferobj() helper function Signed-off-by: Brian Paul <[email protected]>
* mapi/glapi: Avoid warnings about visibility being unsupported on MinGW.José Fonseca2011-04-232-2/+2
|
* glapi: regenerated files for GL_ARB_sampler_objectsBrian Paul2011-04-107-4046/+4868
|
* glapi: interface for GL_ARB_sampler_objectsBrian Paul2011-04-103-0/+99
|
* mesa: regenerated API entrypoints for GL_ARB_texture_buffer_objectBrian Paul2011-04-057-4053/+4112
|
* mesa: API spec for GL_ARB_texture_buffer_objectBrian Paul2011-04-053-0/+25
|
* mesa: implement clamping controls (ARB_color_buffer_float)Marek Olšák2011-03-293-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: Author: Marek Olšák <[email protected]> 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 <[email protected]> Date: Tue Aug 31 16:50:57 2010 +0200 mesa: document known possible deviations from ARB_color_buffer_float commit 5458935be800c1b19d1c9d1569dc4fa30a97e8b8 Author: Luca Barbieri <[email protected]> Date: Tue Aug 24 21:54:56 2010 +0200 mesa: expose GL_ARB_color_buffer_float commit aef5c3c6be6edd076e955e37c80905bc447f8a82 Author: Luca Barbieri <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Thu Aug 26 18:05:53 2010 +0200 mesa: restore color clamps on glPopAttrib commit a55ac3c300c189616627c05d924c40a8b55bfafa Author: Luca Barbieri <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Thu Aug 26 17:58:24 2010 +0200 mesa: add unclamped color parameters
* mesa: regenerate glapi filesMarek Olšák2011-03-297-4152/+4211
|
* mesa,mapi: Remove spurious const keyword from ClearBufferfi args.José Fonseca2011-03-254-7/+7
|
* glapi: drop glapi.[ch] and glapitemp.h from being copied to the X server.Dave Airlie2011-03-211-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 <[email protected]>
* mesa: regenerate glapi filesMarek Olšák2011-03-157-434/+485
| | | | | Be sure to type "make clean" after this commit, otherwise your binaries will segfault.
* mesa: add NV_texture_barrierMarek Olšák2011-03-153-0/+16
|
* glx: add ARB_create_context functions/ops to glx xmlDave Airlie2011-03-151-0/+14
|
* glx: the server still needs __GLXcontext.Dave Airlie2011-03-141-2/+2
| | | | | | | This file generates code for the X server and it still uses the __GLXcontext structure name. Signed-off-by: Dave Airlie <[email protected]>
* mapi: _glthread_DECLARE_STATIC_MUTEX is not broken on Windows.José Fonseca2011-03-063-18/+5
|
* mapi: Workaround a bug in makedepend.Chia-I Wu2011-01-294-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.
* glapi: add @GOTPCREL relocation typeDimitry Andric2011-01-272-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 <[email protected]>
* Revert "glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S"Brian Paul2011-01-252-2/+2
| | | | | | This reverts commit 731ec60da3ccb92f5bfb4d6f1bc3c8e712751376. This change causes crashes in the x86-64 dispatch code.
* glapi: adding @ char before type specifier in glapi_x86.SDimitry Andric2011-01-252-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 <[email protected]>
* glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.SDimitry Andric2011-01-252-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 <[email protected]>
* add machine generated files to .gitignoreTim Wiederhake2011-01-243-0/+4
| | | | Signed-off-by: Brian Paul <[email protected]>
* scons: Add support for GLES.Chia-I Wu2011-01-223-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.
* mapi: ENTRY_CURRENT_TABLE_GET should be stringified.Chia-I Wu2011-01-221-1/+1
| | | | So that it can be renamed to _glapi_get_dispatch.
* mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul2011-01-201-16/+27
| | | | Remove the redundant public _mesa_prim_name[] array.
* glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu2011-01-205-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
* glapi: Fix OpenGL ES 1.1 and 2.0 interop.Chia-I Wu2011-01-203-100/+150
| | | | | | | | | | | Move _glapi_* symbols from libGLESv1_CM.so and libGLESv2.so to libglapi.so. This makes sure an app will get only one copy of glapi in its address space. Note that with this change, libGLES* 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.
* mapi: Add support for bridge mode.Chia-I Wu2011-01-208-33/+149
| | | | | | | | | | | In bridge mode, mapi no longer implements glapi.h. It becomes a user of glapi.h. Imagine an app that uses both libGL.so and libGLESv2.so. There will be two copies of glapi in the app's memory. It is possible that _glapi_get_dispatch does not return what _glapi_set_dispatch set, if they access different copies of the global variables. The solution to this situation to build either one of the libraries as a bridge to the other. Or build both libraries as bridges to another shared glapi library.