summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* spirv_extensions: add GL_ARB_spirv_extensions boilerplateAlejandro Piñeiro2019-07-173-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | v2: * Mention extension gap at gl_API.xml (Emil Velikov) * Bail with INVALID_ENUM if extension not available on getStringi (Emil Velikov) * Use EXTRA_EXT macro when defining the extension at get.c/get_hash_params.py (Emil Velikov) * Rename source files (spirvextensions.[ch] -> spirv_extensions.[ch]) (Ian) v3: * Fix GL_PROGRAM_BINARY_FORMATS glGet query, broken by error on a previous rebase v4: * Fix rebase conflicts on getstring.c after GL_SHADING_LANGUAGE_VERSION query was added v5: * Remove src/mapi/glapi/gen/Makefile.am as it no longer exists in master Signed-off-by: Alejandro Piñeiro <[email protected]> Signed-off-by: Arcady Goldmints-Orlov <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* mapi: add shared glapi symbols checkEric Engestrom2019-07-102-0/+31
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* gles: use new symbols check scriptEric Engestrom2019-07-104-62/+14
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: fix typo LOCAL_EXPORT_C_INCLUDESChih-Wei Huang2019-06-291-1/+1
| | | | | | | Should be LOCAL_EXPORT_C_INCLUDE_DIRS. Signed-off-by: Chih-Wei Huang <[email protected]> Tested-by: Mauro Rossi <[email protected]>
* mesa: add glTextureParameteri/iv/f/fvEXTPierre-Eric Pelloux-Prayer2019-06-282-0/+48
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glMapNamedBufferEXT()Timothy Arceri2019-06-282-0/+7
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glUnmapNamedBufferEXT()Timothy Arceri2019-06-283-2/+7
| | | | | | | | | Since the ARB DSA function glUnmapNamedBuffer() is only exposed for 3.1 or above we make glUnmapNamedBuffer() an alias of glUnmapNamedBufferEXT() rather than the other way around. Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glCompressedTextureSubImage2DEXT()Timothy Arceri2019-06-282-0/+14
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glTextureSubImage2DEXT()Timothy Arceri2019-06-282-0/+16
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glMapNamedBufferRangeEXT()Timothy Arceri2019-06-282-0/+12
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glNamedBufferStorageEXTTimothy Arceri2019-06-282-0/+8
| | | | | | | | This is available in ARB_buffer_storage when EXT_direct_state_access is present. Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glNamedBuffer*DataEXT()Timothy Arceri2019-06-282-1/+18
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: add support for glBindMultiTextureEXTTimothy Arceri2019-06-282-1/+10
| | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* meson: Search for execinfo.hJory Pratt2019-06-191-1/+1
| | | | | | | | | | Rather than checking __GLIBC__/__UCLIBC__ macros as a proxy for execinfo.h presence, just check directly. This allows the build to work on musl. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* mapi: correctly handle the full offset tableEmil Velikov2019-06-102-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Earlier commit converted ES1 and ES2 to a new, much simpler, dispatch generator. At the same time, GL/glapi and the driver side are still using the old code. There is a hidden ABI between GL*.so and glapi.so, former referencing entry-points by offset in the _glapi_table. Hence earlier commit added the full table of entry-points, alongside a marker for other cases like indirect GL(X) and driver-size remapping. Yet the patches did not handle things fully, thus it was possible to get different interpretations of the dispatch table after the marker. This commit fixes that adding an indicative error message to catch future bugs. While here correct the marker (MAX_OFFSETS) comment. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110302 Fixes: cf317bf0937 ("mapi: add all _glapi_table entrypoints tostatic_data.py") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* mapi: add static_date offset to EXT_dsaEmil Velikov2019-06-101-0/+19
| | | | | | | | | | As elaborated in the next patch, there is some hidden ABI that effectively require most entrypoints to be listed in the file. Cc: Marek Olšák <[email protected]> Fixes: d2906293c43 ("mesa: EXT_dsa add selectorless matrix stackfunctions") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* mapi: add static_date offset to MaxShaderCompilerThreadsKHREmil Velikov2019-06-101-0/+1
| | | | | | | | | | | As elaborated in the next patch, there is some hidden ABI that effectively require most entrypoints to be listed in the file. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110302 Cc: Marek Olšák <[email protected]> Fixes: c5c38e831ee ("mesa: implement ARB/KHR_parallel_shader_compile") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* mesa/main: Expose EXT_clip_control and related enums and the functionGert Wollny2019-06-061-0/+18
| | | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mapi/glapi/registry: Update gl.xml to latest upstream versionGert Wollny2019-06-061-1141/+3218
| | | | | | | | | The old copy didn't include EXT_clip_control, so update it. Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Acked-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: EXT_dsa add selectorless matrix stack functionsPierre-Eric Pelloux-Prayer2019-06-031-0/+105
| | | | | | | | | Allows the legacy matrix stacks to be manipulated without disturbing the matrix mode selector. Adapted from a patch from Chris Forbes. Reviewed-by: Marek Olšák <[email protected]>
* mesa: add new EXT_direct_state_access tokensTimothy Arceri2019-06-031-0/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* glapi: add EXT_direct_state_accessChris Forbes2019-06-033-0/+21
| | | | | Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* meson: make nm binary optionalDylan Baker2019-05-032-2/+2
| | | | | | | | | | | This makes nm not required, but used if found. In general I imagine that this means that on windows nm wont be found, and on other platforms it will. v2: - fix gbm and egl symbols check tests to only be run if nm is found - reword commit message to reflect the code change Reviewed-by: Eric Anholt <[email protected]>
* meson: always define libglapiDylan Baker2019-05-031-0/+2
| | | | | | | | This allows the identifier to be used even if shared-glapi isn't build, which simplifies a bunch of things. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Revert "meson: drop GLESv1 .so version back to 1.0.0"Ross Burton2019-04-301-1/+1
| | | | | | | | | | | | | | | | | | This patch claimed that the autotools build generates libGLESv1_CM.so.1.0.0, but it doesn't: es1api_libGLESv1_CM_la_LDFLAGS = \ -no-undefined \ -version-number 1:1 \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) Revert commit cc15460e182148292be877bec5a8a61cec57377d to ensure that the autotools and meson builds produce the same libraries. Fixes: cc15460e182148292be8 "meson: drop GLESv1 .so version back to 1.0.0" Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* delete autotools input filesEric Engestrom2019-04-292-24/+0
| | | | | | | Leftovers from when autotools was deleted. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* delete autotools .gitignore filesEric Engestrom2019-04-295-14/+0
| | | | | | | | One special case, `src/util/xmlpool/.gitignore` is not entirely deleted, as `xmlpool.pot` still gets generated (eg. by `ninja xmlpool-pot`). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* mesa: enable glGet for EXT_gpu_shader4Marek Olšák2019-04-241-4/+0
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: add GL_AMD_compressed_ATC_texture supportJonathan Marek2019-04-231-0/+6
| | | | | | Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* Delete autotoolsDylan Baker2019-04-152-644/+0
| | | | | | | | | | Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Marek Olšák <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Matt Turner <[email protected]>
* mesa: implement ARB/KHR_parallel_shader_compileMarek Olšák2019-04-011-1/+14
| | | | Tested by piglit.
* configure.ac/meson.build: Add options for library suffixesBenjamin Gordon2019-03-213-16/+16
| | | | | | | | | | | | | | | | | When building the Chrome OS Android container, we need to build copies of mesa that don't conflict with the Android system-supplied libraries. This adds options to create suffixed versions of EGL and GLES libraries: libEGL.so -> libEGL${egl-lib-suffix}.so libGLESv1_CM.so -> libGLESv1_CM${gles-lib-suffix}.so libGLESv2.so -> libGLES${gles-lib-suffix}.so This is similar to what happens when --enable-libglvnd is specified, but without the side effects of linking against libglvnd. To avoid unexpected clashes with the suffixed appended by libglvnd, make it an error to specify both --enable-libglvnd and --with-egl-lib-suffix. Reviewed-by: Eric Engestrom <[email protected]>
* autotools: don't build libGLES*.so with GLVNDEric Engestrom2019-03-081-2/+8
| | | | | | | | | | | | GLVND already provides these, so distro packagers have been deleting them all along. Let's save ourselves the trouble and not build them in the first place. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: don't build libGLES*.so with GLVNDEric Engestrom2019-03-081-5/+7
| | | | | | | | | | | | GLVND already provides these, so distro packagers have been deleting them all along. Let's save ourselves the trouble and not build them in the first place. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mapi: work around GCC LTO dropping assembly-defined functionsKonstantin Kharlamov2019-02-134-0/+4
| | | | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109391 Signed-off-by: Konstantin Kharlamov <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* mesa: expose NV_conditional_render on GLESErik Faye-Lund2019-01-301-2/+2
| | | | | | | | | | | The extension spec has been updated to include GLES 2 support, so let's enable it there. v2: fixup ABI-check as well Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mapi: print function declarations for shared glapiEmil Velikov2019-01-251-1/+1
| | | | | | | | | | | | | | | | | | | Earlier commit aimed to remove unneeded function declarations. Namely OpenGL entrypoints which are not applicable for OpenGLES* Although it did not consider the shared glapi which needs all, including hidden ones. Resulting in warning/errors like the following ../build/src/mapi/shared-glapi/glapi_mapi_tmp.h:26014:15: error: no previous prototype for ‘shared_dispatch_stub_1414’ [-Werror=missing-prototypes] This patch addressed that. Cc: Erik Faye-Lund <[email protected]> Reported-by: Eric Anholt <[email protected]> Fixes: 6148cce388f ("mapi: drop unneeded gl_dispatch_stub declarations") Signed-off-by: Emil Velikov <[email protected]> Acked-by: Eric Anholt <[email protected]>
* mapi: remove machinery handling CSV filesEmil Velikov2019-01-241-74/+6
| | | | | | | We haven't have one in years, so just drop the code. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi: remove old, unused ES* generator codeEmil Velikov2019-01-242-113/+1
| | | | | | | | As of earlier commit, everyone has switched to the new script for the ES dispatch. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/es2api: remove no longer present entrypointsEmil Velikov2019-01-241-5/+0
| | | | | | | | | | | With the previous scripts API from the following was incorrectly exported. Drop them from the list, since they're no longer around. GL_EXT_blend_func_extended GL_EXT_texture_integer Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/es*api: remove GL_EXT_multi_draw_arrays entrypointsEmil Velikov2019-01-242-11/+2
| | | | | | | | Now we use the upstream XML file and a cleaner generator. Thus the symbols are no longer exported and we can drop them from this list. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/es*api: remove GL_OES_EGL_image entrypointsEmil Velikov2019-01-242-6/+0
| | | | | | | | As some point in the past we fixed the scripts so, these are no longer exported. Drop them from the list. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* Revert "mapi/new: sort by slot number"Emil Velikov2019-01-241-3/+0
| | | | | | | This reverts commit a1f5d9412cf7cacb3534635f6c2409fafbe6574e. We no longer needed to sort - it was meant only to ease compare against the old generated files.
* scons: wire the new generator for es1 and es2Emil Velikov2019-01-241-7/+21
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* meson: wire the new generator for es1 and es2Emil Velikov2019-01-244-6/+14
| | | | | | | | v2: use ${foo})_py naming (Dylan) v3: use symbolic name for genCommon.py Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> (v2)
* autotools: wire the new generator for es1 and es2Emil Velikov2019-01-241-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The output produced functionally identical, with the following changes: - A cosmetic: swapped ABI compatible types [ GLclampf -> GLfloat, etc ] - B cosmetic: renamed parameters [ zNear -> n, etc ] - C dropped extension entrypoints - invalid/incorrect To make things easier to validate, normalise both old/new headers run the sed patterns A, B and C to both sets. A s/\<GLclampf\>/GLfloat/g; s/\<GLclampx\>/GLfixed/g; s/\<GLvoid\>/void/g; B s/\ \* / */g; s/\<texture\>/target/g; s/\<plane\>/p/g; s/\<depth\>/d/g; s/\<modeAlpha\>/modeA/g; s/\<shader\>/program/g; s/\<obj\>/shaders/g; s/\<equation\>/eqn/g; s/\<param\>/data/g; s/\<params\>/data/g; s/\<buffers\>/buffer/g; s/\<src\>/mode/g; s/\<count\>/n/g; s/\<zNear\>/n/g; s/\<zFar\>/f/g; s/\<zfail\>/dpfail/g; s/\<zpass\>/dppass/g; s/\<buf\>/index/g; s/\<value\>/target/g; s/\<cap\>/target/g; s/\<maskNumber\>/index/g; s/\<srcRGB\>/sfactorRGB/g; s/\<dstRGB\>/dfactorRGB/g; s/\<srcAlpha\>/sfactorAlpha/g; s/\<dstAlpha\>/dfactorAlpha/g; s/\<primitiveMode\>/mode/g; s/\<primcount\>/instancecount/g; s/\<top\>/t/g; s/\<bottom\>/b/g; s/\<left\>/l/g; s/\<right\>/r/g; s/\<x\>/v0/g; s/\<y\>/v1/g; s/\<z\>/v2/g; s/\<w\>/v3/g; s/\<sfactor\>/mode/g; s/\<dfactor\>/dst/g; s/\<attribindex\>/bindingindex/g; s/\<internalFormat\>/internalformat/g; s/\<bufSize\>/bufsize/g; C glMultiDrawArraysEXT glMultiDrawElementsEXT glBindFragDataLocationEXT glGetTexParameterIivEXT glGetTexParameterIuivEXT glTexParameterIivEXT glTexParameterIuivEXT v2: - gl_dispatch_stub declarations are addressed with previous patch - the public_entries table is no longer generated Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/new: remove duplicate GLvoid/void substitutionEmil Velikov2019-01-241-1/+0
| | | | | | | | | | | | We already do it a few lines above - drop the duplicate. Note that for consistency sake, we keep the substitution since the GL API is a mixed bad - some use GLvoid while others a normal void. We might want to merge this back in GLVND. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/new: fixup the GLDEBUGPROCKHR typedef to the non KHR oneEmil Velikov2019-01-242-1/+1
| | | | | | | | | | This way we can reuse the latter, which is already present in the headers that we use. Thus we can drop the manual typedef we generate. We might want to merge this back in GLVND. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi/new: don't print info we don't need for ES1/ES2Emil Velikov2019-01-241-4/+6
| | | | | | | | | | | | | | | | | | | There is no need for the noop functions, the public_stubs and public_entries table or table size defines. Remove those. Pretty much all of this is applicable to GLVND, although it requires preparatory work. v2: - python style fixes (Dylan) - use "gldispatch" instead of not "glesv1" "glesv2" - remove the public_entries table/array (Erik) v3: - use if == "gldispatch", instead of "in" (Kyle) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> (v2)
* mapi/new: split out public_entries handlingEmil Velikov2019-01-241-0/+12
| | | | | | | | | | | | The only instance that requires the public_entries table is the dispatch library - split that into another function. We have to be careful with when undefining the guard, so split it out. We might want to merge this back in GLVND. Minor GLVND cleanup will be needed first. Signed-off-by: Emil Velikov <[email protected]>