Michel Dänzer
71a0a386b5
Revert "egl/glx: add fallback for zink loading"
...
This reverts commit 2569215f43 .
Conflicts:
src/egl/main/eglapi.c
src/glx/glxext.c
It broke the fallback to swrast in some cases where zink can't work.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7333
Fixes: 2569215f43 ("egl/glx: add fallback for zink loading")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19681 >
2022-11-17 01:08:33 +00:00
Matt Coster
6bf17673a5
glx: Use common CONCAT/PASTE macros
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16945 >
2022-11-15 11:54:42 +00:00
Matt Coster
f2e9222701
glx: Unify naming of CONCAT/PASTE macros
...
In glxextensions.c:
- CONCAT => PASTE2
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16945 >
2022-11-15 11:54:42 +00:00
Yonggang Luo
26a6d16db0
zink: Only #include <vulkan/vulkan_core.h> instead #include <vulkan/vulkan.h> in kopper_interface.h
...
It's pulled too much system dependent headers before this commit
when #include <vulkan/vulkan.h> directly,
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19491 >
2022-11-10 06:59:42 +00:00
Yonggang Luo
2c89401f75
glapi: #include "util/glheader.h" in glapi_priv.h and glapitable.h directly
...
So that we do not need define GLAPIENTRY repeatedly, always using the
GLAPIENTRY macro comes from GL/gl.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Brian Paul brianp@vmware.com
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19472 >
2022-11-03 16:07:31 +00:00
Yonggang Luo
bfa3ce44a6
mesa: Move glheader.h from mesa/main/glheader.h to util/glheader.h
...
So it's can be accessed in broader places
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Brian Paul brianp@vmware.com
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19472 >
2022-11-03 16:07:31 +00:00
Yonggang Luo
287435134c
glx: Fixes apple/apple_visual.c that include non-exist util/debug.h
...
Fixes: aa4ac5ff8b ("utils: Merge util/debug.* into util/u_debug.* and remove util/debug.*")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19486 >
2022-11-02 22:51:12 +00:00
Jesse Natalie
8d55fb54b1
glx: Implement the new flush method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Illia Abernikhin
aa4ac5ff8b
utils: Merge util/debug.* into util/u_debug.* and remove util/debug.*
...
Rename env_var_as_unsigned() -> debug_get_num_option(), because duplicate
Rename env_var_as_bool() -> debug_get_bool_option(), because duplicate
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7177
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19336 >
2022-11-02 07:25:39 +00:00
Brian Paul
650597a770
glx: clean-ups in drisw_glx.c
...
Replace tabs with spaces. Fix up function pointer calls (don't use
the old style (*foo)(arg) syntax).
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Brian Paul
421777dd3a
glx: clean-ups in create_context.c
...
Replace tabs w/ spaces, remove trailing whitespace.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Yonggang Luo
d7e2ea803b
glx: Adot #ifdef GLX_USE_WINDOWSGL in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
...
glx_direct and glx_accel are guard by #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
d160ba93d1
glx: Adopt guard of glx_direct and glx_accel in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
6ac591028c
glx: Remove redundant #ifndef GLX_USE_APPLEGL in glx/glxext.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
bde5928264
glx: Trim trailing spaces in in glx/glxext.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
ffab4c8cb7
glx: Guard usage of infer_zink && !explicit_zink in glxext.c
...
Fixes: 2569215f43 ("egl/glx: add fallback for zink loading")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Marek Olšák
5679ef99b8
glapi: remove EXT and ARB suffixes from Draw functions
...
This swaps the function names with aliased names that don't have those
suffixes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Mike Blumenkrantz
2569215f43
egl/glx: add fallback for zink loading
...
if the driver attemping to load is not zink and not software, then
attempt a zink fallback on failure
this conservatively handles the case of "only zink is built", though it
is going to be noticeably slower at startup than loading zink directly
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16168 >
2022-09-21 20:29:06 +00:00
Adam Jackson
571309be31
glx: Remove some excess work from the GLX_FBCONFIG_ID fallback
...
The config matched by visual ID will have the right fbconfig ID set, you
don't need to go looking for it, so long as you look in the list of
fbconfigs as opposed to the list of visuals (which do not have
GLX_FBCONFIG_ID filled in).
It's sort of broken that we have two lists here, when the only real
distinction is that glXChooseVisuals needs to filter out non-window-
capable configs from its view. That's a bigger cleanup for another day.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Adam Jackson
fed3643eb9
glx/dri: Avoid a weird indirection in driFetchDrawable
...
The gc already has ->psc set, just use it rather than walking all the
way back to the display private to find it.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Adam Jackson
333895bebc
glx/dri*: Unify glx_context subclassing
...
The AppleGLX way reads a little nicer than the DRI wrapping way, I
think. First time for everything.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Adam Jackson
4d8420dcb4
Revert "glx: Use XSaveContext, delete glxhash.c"
...
This reverts commit 057c58b39b .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7242
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18556 >
2022-09-12 21:18:15 +00:00
Adam Jackson
057c58b39b
glx: Use XSaveContext, delete glxhash.c
...
libX11 has a perfectly good XID-based hash table we can be using, let's.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18474 >
2022-09-08 23:43:42 +00:00
Yonggang Luo
a5972eb7ac
mapi: Remove usage of _glapi_check_multithread and _glapi_destroy_multithread
...
They are empty stub functions now so have no need call to them
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
aa0b857544
glx: Remove usage of USE_ELF_TLS
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
9caa6bb71a
glx: Convert tab to space in applegl_glx.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
7d35d560ac
glx: __glX_tls_Context should use __THREAD_INITIAL_EXEC
...
Error message on OSX:
../src/glx/tests/fake_glx_screen.cpp:101:20: error: thread-local declaration of '__glX_tls_Context' with dynamic initialization follows declaration with static initialization
thread_local void *__glX_tls_Context = &dummyContext;
^
../src/glx/glxclient.h:655:36: note: previous declaration is here
extern __THREAD_INITIAL_EXEC void *__glX_tls_Context;
Fixes: be00a7c8ac ("glx: using C++11 keyword thread_local")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
jheaff1
2e71e23188
build(glx): Fix build by adding missing deps
...
dri3_glx.c includes xshmfence and glxcmds.c includes xf86vm, neither of
which are listed as dependencies of the glx lib in the meson.build file.
Consequently, those files would fail to compile on machines that did not
have xshmfence and xf86vm installed globally. This commit rectifies the
issue by adding the missing dependencies
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17585 >
2022-07-18 21:12:26 +00:00
Adam Jackson
c123ab2137
kopper: Implement {EGL,GLX}_EXT_buffer_age
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17527 >
2022-07-18 19:31:29 +00:00
Adam Jackson
768238fdc0
glx: Fix drawable refcounting for naked Windows
...
driFetchDrawable is only ever called from the MakeCurrent path, which
means it has to handle the case of pre-GLX-1.3 Windows being named as
the drawable. When it finds the drawable in the hash, it increments its
refcount before returning it, so for a GLXWindow it would be 2 on first
return, one from glXCreateWindow and one from glXMakeCurrent. But when
it does not find the drawable and creates one for the naked Window, the
reference count on first return would only be 1. As a result, if this
context was then ever bound to a different drawable, the old Window's
DRI drawable state (like the back buffer) would be destroyed.
Fixes piglit's glx-multi-window-single-context and glx-make-current for
a variety of drivers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6713
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17479 >
2022-07-13 12:25:30 -04:00
Emma Anholt
679e9697a9
kopper: Respect the vblank_mode env var.
...
We were defaulting to a swap interval of 1, but we can follow dri2/dri3's
lead and respect the driconf var.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
ff18be0872
glx: Unify dri2/dri3 vblank_mode logic.
...
We need it from kopper, as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
f3d3368065
kopper: Fix the return value of kopperSetSwapInterval().
...
Compare to dri2SetSwapInterval() and dri3_set_swap_interval()
implementations of the same method.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Adam Jackson
82fea22607
glx: Fix return values from __glXGetDrawableAttribute
...
This is intended to return true on attribute-found.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
11c30fcad0
glx/dri2: Stop tracking the protocol version in the display state
...
We only use it at init time, no need to keep it around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
1255d370b7
glx: Remove excess screen parameter from CreateContext
...
This is effectively looked up from the config anyway, which we're
already passing in.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
215200d8f1
glx: Remove unused __glXSetupForCommand from __glXIsDirect
...
This was needed when we emitted an xlib request here, but xcb knows the
GLX major opcode for the connection already.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
61834ae898
glx: Remove some can't-happen checks from protocolDestroyDrawable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
92b2e479b8
glx: Remove the remains of GLX_MESA_multithread_makecurrent
...
This hasn't actually been exported for a while. I think I probably broke
this in
commit 63a6b719d9
Author: Adam Jackson <ajax@redhat.com >
Date: Tue Dec 5 11:10:09 2017 -0500
glx: GLX_MESA_multithread_makecurrent is direct-only
in which I made it no longer default to having client support, but
failed to instruct dri{2,3,sw} to enable it. In any case, it was never
widely used, there is no EGL equivalent, and we've had zero complaints
about it getting nerfed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17473 >
2022-07-12 10:02:46 +00:00
Adam Jackson
31b04e420b
glx/dri: Fix DRI drawable release at MakeCurrent time
...
We want to release the drawables of the context we're coming from, but
we were releasing them from the context we're switching to. This is
probably not a big deal normally because both contexts are likely to be
on the same display, which is all that driReleaseDrawables is really
sensitive to. But if the contexts are on different Displays this would
go quite wrong.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17176 >
2022-06-27 20:03:26 +00:00
Dave Airlie
68e8940114
glx/drisw: use xcb instead of X to query connection
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17155 >
2022-06-22 03:28:21 +00:00
Mike Blumenkrantz
ea005c9e04
glx/drisw: invalidate drawables upon binding context if flush extension exists
...
this forces surface resize as expected
cc: mesa-stable
fixes #6706
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17147 >
2022-06-22 02:18:37 +00:00
Mike Blumenkrantz
23b63e536e
glx/drisw: store the flush extension to the screen
...
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17147 >
2022-06-22 02:18:37 +00:00
Yonggang Luo
be00a7c8ac
glx: using C++11 keyword thread_local
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:16 +00:00
Adam Jackson
4d0179af32
glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation
...
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808 >
2022-05-17 20:31:50 +00:00
Pierre-Eric Pelloux-Prayer
8779a5b84c
glx: set max values for pbuffer width / height
...
Without this change the values are always 0. This breaks
Maya which uses this value to create a pbuffer (and then
fails).
This commit is based on b91e1e38e8 which does the same
for EGL.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16496 >
2022-05-17 07:21:34 +00:00
Adam Jackson
b6ea787903
glx/kopper: Enable GLX_EXT_swap_control etc.
...
This requires newly tracking the max swap interval since kopper can't do
abs(interval) > 1 yet.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800 >
2022-05-04 15:06:51 +00:00
Adam Jackson
c865416f44
glx/kopper: Wire up a way for SwapBuffers to fail
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Adam Jackson
bab8d97ea9
glx: Learn about kopper
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14541 >
2022-04-07 00:17:40 +00:00
Yonggang Luo
24bc6c51e1
glx/egl: improve dri null screen related error messages.
...
Convert from `failed to create dri screen` to more exact error message
for easier debugging
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15480 >
2022-03-21 09:31:31 +00:00