summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* mapi/glapi: Fix dll linkage of GLES1 symbols.José Fonseca2014-11-281-0/+1
| | | | | | | | | | | | | | | | | This fixes several MSVC warnings like: warning C4273: 'glClearColorx' : inconsistent dll linkage In fact, we should avoid using `declspec(dllexport)` altogether, and use exclusively the .DEF instead, which gives more precise control of which symbols must be exported, but all the public GL/GLES headers practically force us to pick between `declspec(dllexport)` or `declspec(dllimport)`. Cc: "10.4" <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> (cherry picked from commit 5fdb6d683984ff44fca7d89e6716b1085970e993)
* mesa: Add support for the GL_KHR_context_flush_control extensionNeil Roberts2014-10-282-0/+13
| | | | | | | | | | | | | | The GL side of this extension just provides an accessor via glGetIntegerv for the value of GL_CONTEXT_RELEASE_BEHAVIOR so it is trivial to implement. There is a constant on the context for the value of the enum which is initialised to GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH. The extension is always enabled because it doesn't need any driver interaction to retrieve the value. If the value of the enum is anything but FLUSH then _mesa_make_current will now refrain from calling _mesa_flush. This should only affect drivers that explicitly change the enum to a non-default value. Reviewed-by: Ian Romanick <[email protected]>
* glx: Fix make check.Mathias Fröhlich2014-10-251-1/+1
| | | | | | | This fixes https://bugs.freedesktop.org/show_bug.cgi?id=85429. Signed-off-by: Ian Romanick <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Add ARB_clip_control.xml to automake.Mathias Fröhlich2014-10-251-0/+1
| | | | | | | Adding this makes 'make check' catch failures introduced from within ARB_clip_control.xml earlier. Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Implement ARB_clip_control.Mathias Fröhlich2014-10-242-1/+28
| | | | | | | | | | | | | | | Implement the mesa parts of ARB_clip_control. So far no driver enables this. v3: Restrict getting clip control state to the availability of ARB_clip_control. Move to transformation state. Handle clip control state with the GL_TRANSFORM_BIT. Move _FrontBit update into state.c. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* glapi: Fix compiler warning and script nameJan Vesely2014-10-231-2/+2
| | | | | Signed-off-by: Jan Vesely <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: remove last DJGPP remainsEmil Velikov2014-09-271-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Drop _mesa_bsearch() wrapper.Matt Turner2014-09-241-4/+4
| | | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: Unifdef _WIN32_WCE.Matt Turner2014-09-242-4/+2
| | | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Add KHR_debug functions to check_table testTimothy Arceri2014-09-041-0/+6
| | | | Signed-off-by: Timothy Arceri <[email protected]>
* Eliminate several cases of multiplication in arguments to callocCarl Worth2014-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | In commit 32f2fd1c5d6088692551c80352b7d6fa35b0cd09, several calls to _mesa_calloc(x) were replaced with calls to calloc(1, x). This is strictly equivalent to what the code was doing previously. But for cases where "x" involves multiplication, now that we are explicitly using the two-argument calloc, we can do one step better and replace: calloc(1, A * B); with: calloc(A, B); The advantage of the latter is that calloc will detect any overflow that would have resulted from the multiplication and will fail the allocation, (whereas the former would return a small allocation). So this fix can change potentially exploitable buffer overruns into segmentation faults. Reviewed-by: Matt Turner <[email protected]>
* mesa: implement GL_MAX_VERTEX_ATTRIB_STRIDETimothy Arceri2014-08-271-0/+1
| | | | | | | | V2: moved test for the VertexAttrib*Pointer() functions to update_array(), and made constant available for drivers to set Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: add GL_ARB_conditional_render_invertedTobias Klausmann2014-08-191-1/+10
| | | | | | Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Chris Forbes <[email protected]> Signed-off-by: Tobias Klausmann <[email protected]>
* mapi: Inline shared-glapi/tests/Makefile.Matt Turner2014-08-182-21/+11
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline glapi/tests/Makefile.Matt Turner2014-08-182-22/+13
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline glapi/Makefile.Matt Turner2014-08-183-76/+46
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline es2api/Makefile.Matt Turner2014-08-182-70/+41
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline es1api/Makefile.Matt Turner2014-08-182-65/+39
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline shared-glapi/Makefile.Matt Turner2014-08-182-37/+43
|
* mesa: add ARB_texture_barrier supportIlia Mirkin2014-08-143-0/+18
| | | | | | | | | This extension is identical to NV_texture_barrier. Alias glTextureBarrier to the existing glTextureBarrierNV and use the existing NV_texture_barrier extension bit. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: Add GL API support for ARB_copy_imageJason Ekstrand2014-08-114-1/+31
| | | | | | | | | | | | | | | | | This adds the API entrypoint, error checking logic, and a driver hook for the ARB_copy_image extension. v2: Fix a typo in ARB_copy_image.xml and add it to the makefile v3: Put ARB_copy_image.xml in the right place alphebetically in the makefile and properly prefix the commit message v4: Fixed some line wrapping and added a check for null v5: Check for incomplete renderbuffers Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Neil Roberts <[email protected]> v6: Update dispatch_sanity for the addition of CopyImageSubData
* glapi: Do not use backtrace on DragonFly.Vinson Lee2014-07-301-1/+1
| | | | | | | | | | | | execinfo.h is not available on DragonFly. Fixes this build error. CC glapi_gentable.lo glapi_gentable.c:44:22: fatal error: execinfo.h: No such file or directory Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glapi: add indexed blend functions (GL 4.0)Tapani Pälli2014-07-281-0/+26
| | | | | | | | | | | This makes some of the UE4 engine demos (Stylized, Mobile Temple) render correctly, tested on Intel Haswell machine. Signed-off-by: Tapani Pälli <[email protected]> Acked-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78716
* mesa: add ARB_clear_texture.xml to file list, remove duplicate declsIlia Mirkin2014-07-241-0/+1
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa/main: add ARB_clear_texture entrypointsIlia Mirkin2014-07-232-1/+37
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Neil Roberts <[email protected]>
* glapi: Use GetProcAddress instead of dlsym on Windows.Vinson Lee2014-07-141-0/+4
| | | | | | | | | | | | This patch fixes this MinGW build error. glapi_gentable.c: In function '_glapi_create_table_from_handle': glapi_gentable.c:123:9: error: implicit declaration of function 'dlsym' [-Werror=implicit-function-declaration] *procp = dlsym(handle, symboln); ^ Signed-off-by: Vinson Lee <[email protected]> Acked-by: Brian Paul <[email protected]>
* Remove the ATI_envmap_bumpmap extensionJason Ekstrand2014-06-302-8/+4
| | | | | | | | | | | As far as I can tell, the Intel mesa driver is the only driver in the world still supporting this legacy extension. If someone wants to do bump mapping, they can use shaders. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> [v1] Reviewed-by: Chris Forbes <[email protected]> [v2] Reviewed-by: Ian Romanick <[email protected]> [v3]
* glapi: Add (empty) api section for ARB_fragment_layer_viewportChris Forbes2014-06-221-1/+7
| | | | | | | This extension is purely GLSL -- there are no new GL API elements. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: add GL_ARB_explicit_uniform_locationTapani Pälli2014-06-161-0/+6
| | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Add XML infrastructure for ARB_compressed_texture_pixel_storageChris Forbes2014-06-103-1/+25
| | | | | Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Note apparent gap in numbering from ARB_multi_draw_indirectChris Forbes2014-06-041-0/+3
| | | | | | This is defined in the same included file as ARB_draw_indirect. Signed-off-by: Chris Forbes <[email protected]>
* glapi: Duplicate GLES1 prototypes in glapi_dispatch.cIan Romanick2014-05-301-0/+57
| | | | | | | | | | | | | | | These prototypes are necessary because GLES1 library builds will create dispatch functions for them. We can't directly include GLES/gl.h because it would conflict the previously-included GL/gl.h. Since GLES1 ABI is not expected to every add more functions, the path of least resistance is to just duplicate the prototypes for the functions that aren't already in desktop OpenGL. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79294 Acked-by: Matt Turner <[email protected]> Tested-by: Andreas Boll <[email protected]> Cc: "10.2" <[email protected]>
* Fix build of appleglxJon TURNEY2014-05-233-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define GLX_USE_APPLEGL, as config/darwin used to, to turn on specific code to use the applegl direct renderer Convert src/glx/apple/Makefile to automake Since the applegl libGL is now built by linking libappleglx into libGL, rather than by linking selected files into a special libGL: - Remove duplicate code in apple/glxreply.c and apple/apple_glx.c. This makes apple/glxreply.c empty, so remove it - Some indirect rendering code is already guarded by !GLX_USE_APPLEGL, but we need to add those guards to indirect_glx.c, indirect_init.c (via it's generator), render2.c and vertarr.c so they don't generate anything Fix and update various includes glapi_gentable.c (which is only used on darwin), should be included in shared glapi as well, to provide _glapi_create_table_from_handle() Note that neither swrast nor indirect is supported in the APPLEGL path at the moment, which makes things more complex than they need to be. More untangling is needed to allow that v2: Correct apple/Makefile.am for srcdir != builddir Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Jeremy Huddleston Sequoia <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glapi: Avoid heap corruption in _glapi_tableJeremy Huddleston Sequoia2014-05-201-1/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* mesa: Add core support for the GL_INTEL_performance_query extension.Petri Latvala2014-05-023-0/+96
| | | | | | | | | | | | | | | | | | | | | Like AMD_performance_monitor, this extension 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. Applications create performance queries based on available query types, and begin/end measurement collection. Multiple queries can be measuring simultaneously. v2: Whitespace changes v3: src/mapi/glapi/gen/gl_API.xml: Also expose the functions to GLES2. v4: Whitespace changes, static_dispatch="false" for all functions, fix dispatch_sanity test for GLES2 functions Signed-off-by: Petri Latvala <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Enable GL_EXT_separate_shader_objects for OpenGL ESIan Romanick2014-05-021-1/+272
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove support for desktop OpenGL GL_EXT_separate_shader_objectsIan Romanick2014-05-021-3/+3
| | | | | | | | | | | | | | | | I don't know of any applications that actually use it. Now that Mesa supports GL_ARB_separate_shader_objects in all drivers, this extension is just cruft. The entrypoints for the extension remain in the XML. This is done so that a new libGL will continue to provide dispatch support for old drivers that try to expose this extension. Future patches will add OpenGL ES GL_EXT_separate_shader_objects, but that's a different thing. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glapi: Add infrastructure for ARB_multi_bindFredrik Höglund2014-05-023-0/+58
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi: OpenVG symbol exports.Enrico Horn2014-04-251-0/+1
| | | | | | | Fixes another mistake in 144bbb7b78e. Reviewed-by: Matt Turner <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77502
* glapi: Fix libglapi build.Eric Anholt2014-04-071-0/+1
| | | | | This line appears to have been accidentally dropped from the last commit, and the resulting libglapi was missing symbols.
* glapi/build: Add headers to distribution.Matt Turner2014-04-072-6/+22
| | | | Acked-by: Emil Velikov <[email protected]>
* glapi/gen: Ship more Python filesMatt Turner2014-04-071-0/+17
| | | | Acked-by: Emil Velikov <[email protected]>
* glapi/gen: Ship XML and Python filesMatt Turner2014-04-071-1/+3
| | | | Acked-by: Emil Velikov <[email protected]>
* glapi/gen: Add missing XML files to API_XMLMatt Turner2014-04-071-11/+10
| | | | | | Also (re)move XML files from COMMON to API_XML. Acked-by: Emil Velikov <[email protected]>
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-054-4/+4
| | | | | | | | | | | | | | | | OpenBSD does not have DT_NEEDED entries for libc by design, over concerns how the symbols would be referenced after changing the major version of the library. So avoid -no-undefined checks on OpenBSD as they will fail. v2: don't include the -no-undefined libtool option in the variable and change -Wl,--no-undefined references in Automake.inc as well. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76856 Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Fix make checkIan Romanick2014-04-031-0/+1
| | | | | | | | | | | | /me puts a paper bag on his head and sits in the corner. This was supposed to be included in 5a68f731, which added glPointSizePointerOES back to the list of functions exposed by libGLESv1_CM. It looks like it was an uncommitted change in my tree when I sent the patch out. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Fix scons buildIan Romanick2014-04-031-1/+1
| | | | | | | | | Put the -c in the correct place (and match Makefile.am). Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76960 Tested-by: Vinson Lee <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* glapi: Add static dispatch for glPointSizePointerOESIan Romanick2014-04-021-1/+1
| | | | | | | | | | | The OpenGL ES 1.1 conformance tests expect this function to be statically available form libGLESv1_CM.so. The comment "required for es1.1" in the XML file should have been a clue. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76926 Reviewed-by: Matt Turner <[email protected]> Tested-by: Lu Hua <[email protected]>
* Revert "Revert "glapi/es1: Don't mark core functions as static_dispatch=false""Ian Romanick2014-04-021-86/+43
| | | | | | | | | | This reverts commit 526e49290cd2d83fb931708a786c27647972a00c. The original build problem should be fixed by the previous commit. Signed-off-by: Ian Romanick <[email protected]> Tested-by: Brian Paul <[email protected]> Tested-by: Lu Hua <[email protected]>
* glapi: Enable ES compatibility modeIan Romanick2014-04-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Ages ago Chia-I added an ES compatibility flag to several of the various generator scripts. The intention was to bridge differences between ES and desktop in Mesa builds without ES. It doesn't appear that it has ever been used. Recent changes to static_dispatch status of several ES1 functions caused problems in desktop-only, non-shared-glapi builds. Enabling the ES compatibility mode appears to fix these build problems. This is kind of a duct tape solution to this problem. As I mentioned in the cover letter for the series that triggered the build problem, I would like to make some major changes to the generator architecture and the XML. The whole point of the proposed architecture changes is to better handle the differences between desktop GL and ES. I think duct tape is okay for now. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76869 Tested-by: Brian Paul <[email protected]> Tested-by: Lu Hua <[email protected]> Cc: Vinson Lee <[email protected]> Cc: Chia-I Wu <[email protected]>