Commit graph

1009 commits

Author SHA1 Message Date
Samuel Pitoiset
afb141156f mesa: add support for unsigned 64-bit vertex attributes
This adds support in the VBO and array code to handle unsigned
64-bit vertex attributes as specified by ARB_bindless_texture.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-06-14 10:04:35 +02:00
Samuel Pitoiset
5f249b9f05 mapi: add GL_ARB_bindless_texture entry points
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-06-14 10:04:35 +02:00
Samuel Pitoiset
98d5667f4b mesa: add KHR_no_error support for glTexSubImage*D()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:04:40 +02:00
Samuel Pitoiset
287a7a0ca6 mesa: add KHR_no_error support for glCopyImageSubData()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:04:33 +02:00
Samuel Pitoiset
a9600318ee mesa: add KHR_no_error support for glBlitFramebuffer()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:04:16 +02:00
Samuel Pitoiset
c231590f8d mesa: add KHR_no_error support for glBindBuffer()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:03:54 +02:00
Samuel Pitoiset
b019c4e6e8 mesa: add KHR_no_error support for glInvalidateBufferData()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:03:53 +02:00
Samuel Pitoiset
9ab285e588 mesa: add KHR_no_error support for glInvalidateBufferSubData()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:03:52 +02:00
Samuel Pitoiset
2933ed56ce mesa: add KHR_no_error support for glBindVertexBuffers()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:03:47 +02:00
Samuel Pitoiset
5da83140df mesa: add KHR_no_error support for glVertexArrayVertexBuffers()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 11:03:45 +02:00
Samuel Pitoiset
f075c2bc0b mesa: add KHR_no_error support for glScissor*()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-06-07 09:09:19 +02:00
Timothy Arceri
d0cec1fce1 glthread: remove extra _mesa_glthread_finish() from generated code
The other user of print_sync_dispatch() was ending up with code that
looked like:

      _mesa_glthread_finish(ctx);
      _mesa_glthread_restore_dispatch(ctx);
      _mesa_glthread_finish(ctx);

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-06-07 14:53:38 +10:00
Timothy Arceri
2c2ea573e5 mesa: add KHR_no_error support for glBindBufferRange()
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2017-05-30 08:03:32 +10:00
Timothy Arceri
85e891283c mesa: add KHR_no_error support for glVertexArrayVertexBuffer()
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2017-05-30 08:03:32 +10:00
Timothy Arceri
9d331739ae mesa: add KHR_no_error support for glBindVertexBuffer()
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2017-05-30 08:03:32 +10:00
Samuel Pitoiset
55083705cf mesa: add KHR_no_error support for glBindImageTextures()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-05-29 10:11:44 +02:00
Samuel Pitoiset
def908af6c mesa: add KHR_no_error support for glBindImageTexture()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-05-29 10:11:43 +02:00
Samuel Pitoiset
5521dc2477 mesa: add KHR_no_error support for glActiveTexture()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2017-05-29 10:03:11 +02:00
Ian Romanick
7009955281 mesa: Remove GL_APPLE_vertex_array_object stubs
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 <ian.d.romanick@intel.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2017-05-23 15:02:29 -07:00
Timothy Arceri
4eb0411ed7 mesa: add APPLE_vertex_array_object stubs
APPLE_vertex_array_object support was removed in 7927d0378f.
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: 7927d0378f ("mesa: drop APPLE_vertex_array_object support")

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-22 14:56:51 +10:00
Timothy Arceri
f96edf72b4 mesa: add KHR_no_error support for glDispatchCompute*()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:04 +10:00
Timothy Arceri
25591adc28 mesa: add KHR_no_error support for glBlendEquationSeparateiARB()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:04 +10:00
Timothy Arceri
5c8252ba6f mesa: add KHR_no_error support for glBlendFunc*iARB()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:04 +10:00
Timothy Arceri
b3888b7a68 mesa: add KHR_no_error support for glBufferSubData()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
7ec12293be mesa: add KHR_no_error support for glNamedBufferSubData()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
624dc2833e mesa: add KHR_no_error support for glBufferStorage()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
cdbfb19420 mesa: add KHR_no_error support for glNamedBufferStorage()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
6c8964bf63 mesa: add KHR_no_error support for glCompressedTex*SubImage3D()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
7cc190aae8 mesa: add KHR_no_error support for glCompressedTex*SubImage2D()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
d5e382e316 mesa: add KHR_no_error support for CompressedTex*SubImage1D()
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
3336d248e8 mesa: add KHR_no_error support for NamedFramebufferTexture
V3: use frame_buffer_texture() helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
4e8aa4b9a2 mesa: add KHR_no_error support for FramebufferTexture
V3: use the frame_buffer_texture() helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
4e125c4da6 mesa: add KHR_no_error support for NamedFramebufferTextureLayer
v3: use frame_buffer_texture_layer() helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
e75e8d6c94 mesa: add KHR_no_error support for FramebufferTextureLayer
V3: use frame_buffer_texture_layer() helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
70aa66f181 mesa: add KHR_no_error support for glUseProgram
V3: use always_inline attribute (Suggested by Nicolai)

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-17 10:12:03 +10:00
Timothy Arceri
276166c45b mesa: add KHR_no_error support for FramebufferTexture*D functions
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11 13:53:39 +10:00
Timothy Arceri
244cef1694 mesa: add KHR_no_error support for glBindProgramPipeline()
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11 10:56:08 +10:00
Timothy Arceri
0bca4784c2 mesa: add KHR_no_error support for glActiveShaderProgram()
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11 10:56:08 +10:00
Timothy Arceri
00c5119a5e mesa: add KHR_no_error support for glUseProgramStages()
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11 10:56:08 +10:00
Timothy Arceri
f9e6820652 mesa: add KHR_no_error support to copy buffer subdata functions
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-07 15:29:33 +10:00
Timothy Arceri
426e4765d2 mesa: add KHR_no_error support for flush mapped buffer functions
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-07 15:29:33 +10:00
Timothy Arceri
bbae62c714 mesa: add KHR_no_error support for unmap buffer functions
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-07 15:29:33 +10:00
Timothy Arceri
9d010f57db mesa: add KHR_no_error support for some map buffer functions
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-07 15:29:33 +10:00
Emil Velikov
d230ef842c mapi_abi.py: remove no longer used --mode option
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-05-04 18:17:06 +01:00
Emil Velikov
edb7165b25 gl_table.py: always regenerate the complete struct _glapi_table
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 <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-04 18:12:07 +01:00
Emil Velikov
6177d60a37 glx: glX_proto_send.py: use correct compile guard GLX_INDIRECT_RENDERING
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: mesa-stable@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-04 18:11:50 +01:00
Timothy Arceri
e473fdcdab mesa/varray: make use of dispatch KHR_no_error support
Make use of dispatch KHR_no_error support for varray functions.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-04 11:35:37 +10:00
Timothy Arceri
2f541f63ea glapi: add KHR_no_error support to dispatch table generation
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 <nicolai.haehnle@amd.com>
2017-05-04 11:35:36 +10:00
Timothy Arceri
7927d0378f mesa: drop APPLE_vertex_array_object support
Shared context support for VAOs was dropped in 0b2750620b.

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 <nicolai.haehnle@amd.com>
2017-04-26 10:03:06 +10:00
Nicolai Hähnle
42d5465b9b mesa: move glMultiDrawArrays to vbo and fix error handling
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: mesa-stable@lists.freedesktop.org
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-04-19 08:10:19 +02:00