summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Remove GL_APPLE_vertex_array_object stubsIan Romanick2017-05-231-4/+4
| | | | | | | | | | | | | | | | | | Mark the functions 'exec="skip"' in the XML instead. libGL will still have the functions, but the driver won't try to use them. I verified that this commit works with piglit's 'object-namespace-pollution glClear vertex-array' on x64 with a driver built from mesa-12.0.3 tag. In fairness, this test also works with a libGL built from 7927d03. I believe it continues to work because on non-Windows platforms we generate some extra, dummy dispatch functions that can be used when a driver requests a function unknown to libGL. This was done to provide some "forward" compatibility with drivers that need more functions. This doesn't work on Windows because the Windows calling convention is for the callee to clean up the stack. That's the theory anyway. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add APPLE_vertex_array_object stubsTimothy Arceri2017-05-224-1/+31
| | | | | | | | | | | APPLE_vertex_array_object support was removed in 7927d0378fc7. However it turns out we can't remove the functions because this can cause issues when libglapi is used together with DRI drivers built prior to said commit Fixes: 7927d0378fc ("mesa: drop APPLE_vertex_array_object support") Reviewed-by: Emil Velikov <[email protected]>
* mesa: add KHR_no_error support for glDispatchCompute*()Timothy Arceri2017-05-172-3/+3
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBlendEquationSeparateiARB()Timothy Arceri2017-05-171-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBlendFunc*iARB()Timothy Arceri2017-05-171-2/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBufferSubData()Timothy Arceri2017-05-171-1/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glNamedBufferSubData()Timothy Arceri2017-05-171-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBufferStorage()Timothy Arceri2017-05-171-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glNamedBufferStorage()Timothy Arceri2017-05-171-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glCompressedTex*SubImage3D()Timothy Arceri2017-05-172-2/+3
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glCompressedTex*SubImage2D()Timothy Arceri2017-05-172-2/+3
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for CompressedTex*SubImage1D()Timothy Arceri2017-05-172-2/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for NamedFramebufferTextureTimothy Arceri2017-05-171-1/+1
| | | | | | V3: use frame_buffer_texture() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for FramebufferTextureTimothy Arceri2017-05-171-1/+1
| | | | | | V3: use the frame_buffer_texture() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for NamedFramebufferTextureLayerTimothy Arceri2017-05-171-1/+1
| | | | | | v3: use frame_buffer_texture_layer() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for FramebufferTextureLayerTimothy Arceri2017-05-171-1/+1
| | | | | | V3: use frame_buffer_texture_layer() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glUseProgramTimothy Arceri2017-05-171-1/+1
| | | | | | V3: use always_inline attribute (Suggested by Nicolai) Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for FramebufferTexture*D functionsTimothy Arceri2017-05-111-3/+3
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for glBindProgramPipeline()Timothy Arceri2017-05-111-1/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for glActiveShaderProgram()Timothy Arceri2017-05-111-1/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for glUseProgramStages()Timothy Arceri2017-05-111-1/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support to copy buffer subdata functionsTimothy Arceri2017-05-072-2/+2
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for flush mapped buffer functionsTimothy Arceri2017-05-072-2/+2
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for unmap buffer functionsTimothy Arceri2017-05-072-2/+2
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for some map buffer functionsTimothy Arceri2017-05-073-4/+4
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mapi_abi.py: remove no longer used --mode optionEmil Velikov2017-05-045-13/+8
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* mapy_abi.py: remove dead output_for_app generatorEmil Velikov2017-05-041-48/+0
| | | | | | Used by the OpenVG codebase. Signed-off-by: Emil Velikov <[email protected]>
* mapi: replace mapi_table abstractionEmil Velikov2017-05-047-28/+25
| | | | | | | | | | Replace all instances of mapi_table with the actual struct _glapi_table. The former may have been needed when the OpenVG was around. But since that one is long gone, there' no point in having the current confusing mix of the two. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gl_table.py: always regenerate the complete struct _glapi_tableEmil Velikov2017-05-041-6/+0
| | | | | | | | | | | Currently we would generate a partial one as we do non-shared glapi. At the same time since it's local, we don't care that much if we have a few extra bytes of space in the table. Drop the guard, which allows us to simplify both build system and code. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* glx: glX_proto_send.py: use correct compile guard GLX_INDIRECT_RENDERINGEmil Velikov2017-05-041-3/+3
| | | | | | | | | | | | | The code itself has nothing to do with shared glapi, thus having it behind GLX_SHARED_GLAPI is misleading. Use GLX_INDIRECT_RENDERING instead. The latter macro is set at global scope by the Autotools and Scons build systems. Cc: [email protected] Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mapi/es*api: remove unneeded HAVE_SHARED_GLAPI guardEmil Velikov2017-05-041-4/+0
| | | | | | | Always true, since GLES* requires shared glapi. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/varray: make use of dispatch KHR_no_error supportTimothy Arceri2017-05-044-3/+14
| | | | | | Make use of dispatch KHR_no_error support for varray functions. Reviewed-by: Nicolai Hähnle <[email protected]>
* glapi: add KHR_no_error support to dispatch table generationTimothy Arceri2017-05-042-2/+16
| | | | | | | | | | | | This will allows us to create no error versions of functions noted by a _no_error suffix. We also need to set a no_error attribute equal to "true" in the xml. V3: stop the no_error attribute being overwritten when functions alias another. V2: tidy up suggested by Nicolai. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: drop APPLE_vertex_array_object supportTimothy Arceri2017-04-264-31/+1
| | | | | | | | | | | | | | | | | | | | | Shared context support for VAOs was dropped in 0b2750620b65. From the ARB_vertex_array_object spec: "This extension differs from GL_APPLE_vertex_array_object in that client memory cannot be accessed through a non-zero vertex array object. It also differs in that vertex array objects are explicitly not sharable between contexts." Nobody should be using this extension over ARB_vertex_array_object anymore so just drop it rather than adding locking back just for VAOs created from these functions. For reference the Nvidia blob doesn't expose this extension. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: move glMultiDrawArrays to vbo and fix error handlingNicolai Hähnle2017-04-191-1/+1
| | | | | | | | | | | | | | | | When any count[i] is negative, we must skip all draws. Moving to vbo makes the subsequent change easier. v2: - provide the function in all contexts, including GLES - adjust validation accordingly to include the xfb check v3: - fix mix-up of pre- and post-xfb prim count (Nils Wallménius) Cc: [email protected] Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa/glthread: add async support to ARB_viewport_array functionsBartosz Tomczyk2017-04-181-5/+5
| | | | | | | v2: fix attribute name, it is count_scale not scale_count Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add GL_ARB_shader_ballot boilerplateNicolai Hähnle2017-04-051-1/+1
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: Add GL_ARB_sparse_buffer boilerplateNicolai Hähnle2017-04-053-0/+34
| | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: disable glthread when DEBUG_OUTPUT_SYNCHRONOUS is enabledTimothy Arceri2017-04-031-1/+1
| | | | | | | | | | | | | We could re-enable it also but I haven't tested that yet, and I'm not sure we care much anyway. V2: don't disable it from with the call itself. We need a custom marshalling function or we get stuck waiting for thread to finish. V3: tidy up redundant code copied from generated version. Reviewed-by: Nicolai Hähnle <[email protected]>
* glapi: Add GL_NV_fill_rectangleLyude2017-03-311-0/+4
| | | | | Signed-off-by: Lyude <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* mesa/glthread: add async support to ARB_gpu_shader_int64 uniform functionsTimothy Arceri2017-03-311-16/+16
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/glthread: add async support to ARB_gpu_shader_fp64 uniform functionsTimothy Arceri2017-03-311-13/+13
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/glthread: fallback to sync if count validation failsTimothy Arceri2017-03-301-8/+14
| | | | | | | | | | | | | The old code would sync and then throw a cryptic error message. There is no need for a custom error, we can just fallback to the real function and have it do proper validation. Fixes piglit test: glsl-uniform-out-of-bounds Which was returning the wrong error code. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/glthread: add async support to glProgramUniform*() functionsTimothy Arceri2017-03-301-34/+34
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/glthread: print out syncs when MARSHAL_MAX_CMD_SIZE is exceededTimothy Arceri2017-03-301-0/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/glthread: add custom marshalling for ClearBufferfv()Timothy Arceri2017-03-251-1/+1
| | | | | | This is one of the main causes of syncs in Civ6. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa/marshal: add custom BufferData/BufferSubData marshallingTimothy Arceri2017-03-241-2/+2
| | | | | | | | | | GL_AMD_pinned_memory requires memory to be aligned correctly, so we skip marshalling in this case. Also copying the data defeats the purpose of EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD. Fixes GL_AMD_pinned_memory piglit tests when glthread is enabled. Acked-by: Edward O'Callaghan <[email protected]>
* mesa: disable glthread when glNewList() is calledTimothy Arceri2017-03-201-1/+1
| | | | | | | glNewList() swaps dispatch tables, and we don't have anything in place to handle that in glthread. Tested-by: Michel Dänzer <[email protected]>
* mapi: automake: add all python scripts to EXTRA_DISTEmil Velikov2017-03-171-0/+3
| | | | | | | Otherwise it'll be missing in the tarball and make distcheck will fail. Fixes: 05dd4a1104e ("glapi: Generate GL API marshalling code from the XML.") Signed-off-by: Emil Velikov <[email protected]>
* glapi: avoid using $< in non-suffix make rulesJonathan Gray2017-03-171-2/+2
| | | | | | | | Using $< in non-suffix make rules is a GNU extension. Explicitly use the name of the python script to fix the build on OpenBSD. Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]>