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
Marek Olšák
b5c58bbf6c
glthread: add support for glCallLists, glPatchParameterfv
...
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
1668a93903
glthread: add support for glClearNamedFramebuffer, glMaterial, glPointParameter
...
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
b0a20e7531
glthread: add support for glFog, glLight, glLightModel, glTexEnv, glTexGen
...
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
59e96bc513
glthread: add support for TexParameteri and SamplerParameteri functions
...
It's straightfoward except that I had to hack the python scripts to add
"marshal_count", which behaves just like "count" except that "variable_param"
is ignored. ("variable_param" changes the behavior of "count", which I don't
want)
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
108fdb54c6
glthread: replace custom ClearBuffer marshalling with generated one
...
If the count attribute contains "enum", the count is evaluated only once.
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