summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* mapi: add GetInteger64vEXT with EXT_disjoint_timer_queryTapani Pälli2019-11-262-0/+13
| | | | | | | | | | | | | From EXT_disjoint_timer_query spec: "Interaction: This extension adds GetInteger64vEXT if OpenGL ES 3.0 is not supported" See https://github.com/KhronosGroup/OpenGL-Registry/issues/326. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2090 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa/glthread: Implement ARB_multi_bind.Markus Wick2019-11-221-10/+10
| | | | | Signed-off-by: Markus Wick <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mapi/glapi: Generate sizeof() helpers instead of fixed sizes.Markus Wick2019-11-211-4/+11
| | | | | | | | | Generating a source code with a fixed size leads to issues with plattform dependent types. We either hard code 4 or 8 bytes there, and both are wrong on the other plattform. So this patch solves this issue by generating eg sizeof(GLsizeiptr), which is valid both on 32 and on 64 bit plattforms. Signed-off-by: Marek Olšák <[email protected]>
* mesa: add ARB_shading_language_include stubsTimothy Arceri2019-11-203-1/+50
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add ARB_sparse_buffer NamedBufferPageCommitmentEXT functionPierre-Eric Pelloux-Prayer2019-11-192-3/+10
| | | | | | | The spec is unclear on how to handle the buffer argument so we reuse the logic from the EXT_direct_state_access spec. Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_vertex_attrib_binding glVertexArray* functionsPierre-Eric Pelloux-Prayer2019-11-192-0/+51
| | | | | | | We can't simply alias ARB_direct_state_access functions because those fail if the vao has never been bound before. Reviewed-by: Marek Olšák <[email protected]>
* mesa: implement ARB_texture_storage_multisample + EXT_dsa functionsPierre-Eric Pelloux-Prayer2019-11-192-0/+23
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_texture_buffer_range glTextureBufferRangeEXT functionPierre-Eric Pelloux-Prayer2019-11-192-0/+10
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_instanced_arrays EXT_dsa functionPierre-Eric Pelloux-Prayer2019-11-192-0/+7
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_gpu_shader_fp64 selector-less functionsPierre-Eric Pelloux-Prayer2019-11-191-0/+131
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_clear_buffer_object named functionsPierre-Eric Pelloux-Prayer2019-11-192-6/+7
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_vertex_attrib_64bit VertexArrayVertexAttribLOffsetEXTPierre-Eric Pelloux-Prayer2019-11-192-0/+11
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_framebuffer_no_attachments named functionsPierre-Eric Pelloux-Prayer2019-11-192-1/+15
| | | | | | | | | | | The wording in ARB_framebuffer_no_attachments and EXT_direct_state_access is different. In the former framebuffer names must have been generated using glGenFramebuffers before using the named functions. In the latter framebuffer names have no such constraints, so we can't use the _mesa_lookup_framebuffer_dsa function. Reviewed-by: Marek Olšák <[email protected]>
* meson: move the generic symbols check arguments to a common variableEric Engestrom2019-11-053-3/+3
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* meson: add variable to control the symbols checksEric Engestrom2019-11-053-3/+3
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIANDylan Baker2019-11-051-1/+1
| | | | | | | | | | | As requested by Tim. This was generated with: grep 'PIPE_ARCH_.*_ENDIAN' -rIl | xargs sed -ie 's@PIPE_ARCH_\(.*\)_ENDIAN@UTIL_ARCH_\1_ENDIAN@'g v2: - add this patch Reviewed-by: Eric Engestrom <[email protected]>
* util/u_endian: set PIPE_ARCH_*_ENDIAN to 1Dylan Baker2019-11-051-1/+1
| | | | | | | | | | | | This will allow it to be used as a drop in replacement for _mesa_little_endian in a number of cases. v2: - Always define PIPE_ARCH_LITTLE_ENDIAN and PIPE_ARCH_BIG_ENDIAN, define the one that reflects the host system to 1 and the other to 0 - replace all uses of #ifdef, #ifndef, and #if defined() with #if and #if ! with PIPE_ARCH_*_ENDIAN Reviewed-by: Eric Engestrom <[email protected]>
* mesa: add EXT_dsa glGetVertexArray* 4 functionsPierre-Eric Pelloux-Prayer2019-11-052-0/+30
| | | | | | | | | | | | The implementation doesn't share much with get.c because: * the refactoring needed for get.c to not depend on ctx->Array.VAO would be quite large * glGetVertexArray* would still need to filter pname to only accept the one specified by the spec * these functions are getter, the implementation is trivial (the complexity is in the correct filtering of pname input) Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa EnableVertexArrayAttribEXT / DisableVertexArrayAttribEXTPierre-Eric Pelloux-Prayer2019-11-052-0/+12
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glEnableVertexArrayEXT / glDisableVertexArrayEXTPierre-Eric Pelloux-Prayer2019-11-052-0/+12
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glVertexArray* functions declarationsPierre-Eric Pelloux-Prayer2019-11-052-0/+109
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: enable ARB_gpu_shader_int64 in compat profileTapani Pälli2019-10-301-38/+37
| | | | | | Signed-off-by: Tapani Pälli <[email protected]> Acked-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mapi: Improve the x86 tsd stubs performance.Lepton Wu2019-10-291-5/+6
| | | | | | | | This skips touching %ebx most times and it shows that glGetString performance increased from 114M/s to 120M/s on my desktop. Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* mapi: Inline call x86_current_tls.Lepton Wu2019-10-291-4/+8
| | | | | | | | | | This saves one return and a simple benchmark which calls glGetString repeatedly on my desktop shows it improves calls per second from 123M to 141M. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1997 Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* mapi: Clean up entry_patch_public for x86 tlsLepton Wu2019-10-291-10/+7
| | | | | | | | | | Remove hard coded 16 and use entry_generate_or_patch to patch public stubs. The generated code actually is sightly tighter than before since the "nop" instructions before the final "jmp" get removed. Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* mapi: split entry_generate_or_patch for x86 tlsLepton Wu2019-10-291-5/+16
| | | | | | | | The code works exactly the same with before. Just split this function out so we can reuse it. Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* mapi: Adapted libglvnd x86 tsd changesJonathan Gray2019-10-291-5/+11
| | | | | | | | | | The x86 assembly language stub in src/mapi/entry_x86_tsd.h does not generate PIC (position-independent code). This causes text relocations which bring troubles on recent versions of FreeBSD, OpenBSD, Android. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108541 Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* Revert "mapi: Inline call x86_current_tls."Jason Ekstrand2019-10-251-7/+3
| | | | | | This reverts commit e137b3a9b71a2711c1f68c8a8b9c0a7407fbcc4b. It completely broke 32-bit EGL such that wflinfo can't even run without crashing.
* mapi: Inline call x86_current_tls.Lepton Wu2019-10-241-3/+7
| | | | | | | | | This saves one return and a simple benchmark which calls glGetString repeatedly on my desktop shows it improves calls per second from 118M to 128M. Signed-off-by: Lepton Wu <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* mesa: add EXT_dsa NamedCopyBufferSubDataEXT functionPierre-Eric Pelloux-Prayer2019-10-182-0/+9
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa NamedRenderbufferStorageMultisampleEXT functionPierre-Eric Pelloux-Prayer2019-10-182-0/+9
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa Generate*MipmapEXT functionsPierre-Eric Pelloux-Prayer2019-10-182-0/+12
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glGetFloati_vEXT/glGetDoublei_vEXTPierre-Eric Pelloux-Prayer2019-10-181-0/+12
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa + EXT_gpu_program_parameters functionsPierre-Eric Pelloux-Prayer2019-10-182-0/+11
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa + EXT_gpu_shader4 functionsPierre-Eric Pelloux-Prayer2019-10-181-0/+6
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa + EXT_texture_integer functionsPierre-Eric Pelloux-Prayer2019-10-182-0/+65
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa + EXT_texture_buffer_object functionsPierre-Eric Pelloux-Prayer2019-10-182-0/+16
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glProgramUniform*EXT functionsPierre-Eric Pelloux-Prayer2019-10-181-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa NamedProgram functionsPierre-Eric Pelloux-Prayer2019-10-182-0/+81
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glClientAttribDefaultEXT / glPushClientAttribDefaultEXTPierre-Eric Pelloux-Prayer2019-10-182-0/+10
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: add EXT_dsa glNamedRenderbufferStorageEXT and ↵Pierre-Eric Pelloux-Prayer2019-10-182-0/+15
| | | | | | glGetNamedRenderbufferParameterivEXT Reviewed-by: Marek Olšák <[email protected]>
* meson: maintain names of shared API librariesDylan Baker2019-10-103-0/+6
| | | | | | | | | | Mesa uses the lib prefix, and doesn't use a version for it's dynamic libraries, which meson defaults to. v2: - this patch Acked-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: Add windows defines to glapiDylan Baker2019-10-104-4/+39
| | | | | | | | | | These are needed to control the export or symbols due to differences between the way windows and *nix handle symbol exports. Reviewed-by: Eric Anholt <[email protected]> (v2) Acked-by: Kristian H. Kristensen <[email protected]> v5: - key NO_EXPORT off of shared-glapi instead of gles
* GL: drop symbols mangling supportEric Engestrom2019-10-108-52/+0
| | | | | | | | | | SCons and Meson have never supported that feature, and Autotools was deleted over 6 months ago and no-one complained yet, so it's pretty obvious nobody cares about it. Fixes: 95aefc94a941701616fd ("Delete autotools") Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Dylan Baker <[email protected]>
* mesa: Allow MESA_framebuffer_flip_y for GLES 3Fritz Koenig2019-10-083-0/+21
| | | | | | | | Implement glFramebufferParameteriMESA on GLES 3 so that the extension is not dependant on GLES 3.1 Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* mesa: GetFramebufferParameteriv spellingFritz Koenig2019-10-082-5/+5
| | | | | | | GetFramebufferParameteriv was incorrectly spelled as GetFramebufferParameteri. Reviewed-by: Kristian H. Kristensen <[email protected]>
* meson: fix logic for generating .pc files with old glvndDylan Baker2019-09-251-1/+1
| | | | | | | | | | | | | | We want to generate PC files for non-glvnd builds and for builds with old glvnd, but the current logic doesn't do that, it builds them unconditionally, and for GLES it builds the shared libraries, which is also not what we want. This does not generate .pc files for gles1 or gles2. Which it we weren't doing before either, making this not a regression but a return to status-quo.o Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838 Fixes: 93df862b6affb6b8507e40601212a58012bfa873 ("meson: re-add incorrect pkg-config files with GLVND for backward compatibility") Reviewed-by: Matt Turner <[email protected]>
* meson: re-add incorrect pkg-config files with GLVND for backward compatibilityEric Engestrom2019-09-251-1/+1
| | | | | | | | | | | | This is a bit counter-intuitive, but the issue is that GLVND is broken in versions <= 1.1.1, so we need to keep wrongly providing these files to cover up their mistake, otherwise the rest of the world ends up broken. Suggested-by: Dylan Baker <[email protected]> Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* scons: Make scons and meson agree about path to glapi generated headersDylan Baker2019-09-163-3/+3
| | | | | | | | Currently scons puts them in src/mapi/glapi, meosn puts them in src/mapi/glapi/gen. This results in some things being compilable only by one or the other, put them in the same places so that everyone is happy. Reviewed-by: Eric Engestrom <[email protected]>
* mesa/gl: Sync with Khronos registryHeinrich Fink2019-09-161-152/+1374
| | | | | | | | | | | | | | | | | | Update GL headers and xml API from upstream Khronos registry (commit 3d0c3eb). Keep `BUILDING_MESA` quirk in glext.h. mesa/extensions: Expose EXT_EGL_sync instead of MESA_EGL_sync to reflect Khronos request of changing this extension's scope from MESA to EXT. EGL_EGL_sync is also the name of the extension that has been merged into the upstream Khronos GL registry. Remove MESA_EGL_sync spec txt from Mesa tree as it is now published as EXT by Khronos. v1: Remove MESA_EGL_sync spec and squash commits (Eric E) Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Daniel Stone <[email protected]>