Marek Olšák
d76e8131ac
glthread: sync in glFlush for multiple contexts
...
See the code comment.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5382 >
2020-06-09 05:07:01 +00:00
Vinson Lee
faa339e666
Switch from cElementTree to ElementTree.
...
The xml.etree.cElementTree module will be removed in Python 3.9. Since
Python 3.3 the xml.etree.cElementTree module has been deprecated, the
xml.etree.ElementTree module uses a fast implementation whenever
available.
Builds using Python 2.7 can still work but with the slower
implementation.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5349 >
2020-06-05 23:42:54 -07:00
Eric Engestrom
7a68045b5d
glapi: remove deprecated .getchildren() that has been replace with an iterator
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3086
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5342 >
2020-06-05 09:16:13 +00:00
Vinson Lee
c3025bde19
mesa: Fix NetBSD compiler macro.
...
Reported-by: Rafał Mikrut <mikrutrafal54@gmail.com>
Fixes: a63b90712a ("mesa: also check for __NetBSD__")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3015
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5191 >
2020-06-03 21:09:54 -07:00
Dylan Baker
a8e2d79e02
meson: use gnu_symbol_visibility argument
...
This uses a meson builtin to handle -fvisibility=hidden. This is nice
because we don't need to track which languages are used, if C++ is
suddenly added meson just does the right thing.
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Marek Olšák
4925fb97f6
glthread: don't upload for glDraw inside a display list and always sync
...
Let the vbo module handle it, not glthread.
This handles functions set in vbo_initialize_save_dispatch.
Fixes: 2840bc3065 ("glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3001
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5246 >
2020-05-30 01:42:56 +00:00
Kristian H. Kristensen
12653beacb
mapi: Fix a couple of warning in generated code
...
safe_mul may not be used and clang doesn't understand the "optimize"
attribute.
src/mapi/glapi/gen/marshal_generated0.c:1216:16: warning: unknown
attribute 'optimize' ignored [-Wunknown-attributes]
src/mapi/glapi/gen/marshal_generated0.c:36:19: warning: unused
function 'safe_mul' [-Wunused-function]
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Marek Olšák
64c7363f7e
glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums
...
Reported by Ian Romanick.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5016 >
2020-05-13 20:10:42 +00:00
Marek Olšák
2840bc3065
glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws
...
This is basically the same thing u_vbuf does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
1485a3ff7b
glthread: handle gl{Push,Pop}ClientAttrib{DefaultEXT} for glthread states
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
47cf310a67
glthread: track primitive restart state
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
9037005d60
glthread: track instance divisor changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
c9c9f57b02
glthread: track pointers and strides for Pointer & EXT_dsa attrib functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
a82889e537
mesa: add glInternalBufferSubDataCopyMESA for glthread
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
6215465842
glthread: sort variables in marshal structures to pack them optimally
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758 >
2020-04-27 11:56:06 +00:00
Marek Olšák
6f8a387b37
glthread: use GLenum16 in batch buffers to save space
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758 >
2020-04-27 11:56:06 +00:00
Marek Olšák
41671ec544
mesa: remove exec="dynamic" from Draw functions that are not really dynamic
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758 >
2020-04-27 11:56:06 +00:00
Indrajit Kumar Das
ede36a2efe
mesa: add support for AlphaToCoverageDitherControlNV
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4543 >
2020-04-23 12:02:45 +05:30
Dylan Baker
8e3696137f
remove final imports.h and imports.c bits
...
This moves the fi_types to a new mesa_private.h and removes the
imports.c file. The vast majority of this patch is just removing
pound includes of imports.h and fixing up the recursive includes.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024 >
2020-04-21 11:09:04 -07:00
Dylan Baker
bf188f3494
mesa|mapi: replace _mesa_[v]snprintf with [v]snprintf
...
MSVC 2015 and newer has perfectly valid snprintf and vsnprintf
implementations, let's just use those.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024 >
2020-04-21 11:09:03 -07:00
Karol Herbst
1aefe78b47
mesa: fix enum value of VIEWPORT_SWIZZLE_POSITIVE_W_NV
...
Fixes: ff168b297d ("mesa: add GL_NV_viewport_swizzle support")
Reported-by: Roy Spliet <nouveau@spliet.org>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4567 >
2020-04-15 16:43:36 +02:00
Ilia Mirkin
ff168b297d
mesa: add GL_NV_viewport_swizzle support
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4519 >
2020-04-12 12:01:46 -04:00
Jose Fonseca
2e92d33819
scons: Prune out unnecessary targets.
...
This prunes out all targets except libgl-gdi, libgl-xlib, and svga, as
suggested by Marek Olšák.
libgl-xlib will be remove once I have had time to confirm no automated
tests we have rely upon it.
There are also a bunch of Makefile.sources which become orphaned as
result, that are not taken care of in this change.
v2: Prune remainders of swr support.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4348 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4348 >
2020-03-30 13:38:01 +00:00
Marek Olšák
e5339fe4a4
Move compiler.h and imports.h/c from src/mesa/main into src/util
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4324 >
2020-03-27 21:00:09 +00:00
H.J. Lu
e352e7e792
x86: Add ENDBR at function entries
...
Intel Control-flow Enforcement Technology (CET):
https://software.intel.com/en-us/articles/intel-sdm
contains shadow stack (SHSTK) and indirect branch tracking (IBT).
When IBT is enabled, all indirect branch targets must start with
ENDBR instruction which is a NOP on non-CET processors.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2538
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Ben Widawsky <ben.widawsky@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3865 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3865 >
2020-03-26 16:38:46 -07:00
Marek Olšák
8a3e2cd9b2
glthread: compile marshal_generated.c faster by breaking it up into 8 files
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Marek Olšák
cadddbd269
glthread: declare marshal and unmarshal functions as non-static
...
Declare them in the header file. Then we can split marshal_generated.c
into multiple files.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Marek Olšák
03da51eb07
glthread: inline SET_func and add -O1 to build _mesa_create_marshal_table faster
...
The compile time of marshal_generated.c improved from 30.1s to 12.4s.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Marek Olšák
11d3aa5e7b
glthread: remove the marshal_fail XML attribute
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
c02a1347e5
glthread: ignore vertex arrays with user pointers if they're disabled
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
0b1dd18591
glthread: track which vertex array attribs are enabled
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
c571dda1e0
glthread: rename non_vbo helper functions
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
bde4505f61
glthread: handle buffer unbinding via glDeleteBuffers
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
8a4114b929
glthread: rename marshal.h/c to glthread_marshal.h and glthread_shaderobj.c
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
37725e6c38
glthread: autogenerate prototypes for custom-marshalled functions
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
4ded23a4ad
glthread: simplify printing safe_mul in gl_marshal.py
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124 >
2020-03-20 23:01:13 -04:00
Marek Olšák
b13d5265cc
glthread: don't declare unmarshal functions as inline
...
They are never inlined.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
2020-03-20 00:00:22 +00:00
Marek Olšák
b00d219ec0
glthread: remove debug_print_marshal function
...
We don't need to print every function we execute.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
2020-03-20 00:00:22 +00:00
Marek Olšák
951c6acb07
glthread: don't execute any custom VAO and BindBuffer code in the Core profile
...
It's not needed, because user pointers can never occur there.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
2020-03-20 00:00:22 +00:00
Marek Olšák
87f6be4456
glthread: track VAOs created by CreateVertexArrays
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
2020-03-20 00:00:22 +00:00
Marek Olšák
720f34d5eb
glthread: enable display lists
...
They seem to work fine.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251 >
2020-03-20 00:00:22 +00:00
Marek Olšák
ff0881c686
mesa: remove redundant api_loopback functions
...
vbo_attrib_tmp.h implements them, so this loopback code isn't needed
and shouldn't be used.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4123 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4123 >
2020-03-19 23:24:08 +00:00
Marek Olšák
ed0bea4495
glthread: fall back if a param size is non-zero and a pointer param is NULL
...
So that we don't crash. This is a GL error anyway.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
c5825b7b6e
glthread: add custom marshalling for glNamedBuffer(Sub)DataEXT
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
93b2ee18a1
glthread: replace custom glBindBuffer marshalling with generated one
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
85276e2c1b
glthread: sync instead of disabling glthread for non-VBO pointers
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
28a2ad7ddf
glthread: track for each VAO whether the user has set a user pointer
...
This commit mainly adds basic infrastructure for tracking vertex array
state.
If glthread gets a non-VBO pointer, this commit delays disabling
glthread until glDraw is called. The next will change that to "sync"
instead of "disable".
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
d510e652d4
glthread: add marshal_call_after and remove custom glFlush and glEnable code
...
Instead of implementing marshalling manually, this XML property allows us
to insert additional code into code-generated functions.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
4970199d11
glthread: don't insert an empty line after (void) cmd;
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00
Marek Olšák
b9eef27920
glthread: add support for glMemoryObjectParameteriv, glSemaphoreParameterui64v
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948 >
2020-03-06 01:06:14 +00:00