Commit graph

2583 commits

Author SHA1 Message Date
Mike Blumenkrantz
af3aefda04 egl: use a swrast check for a swapbuffers DRI2_FLUSH case
as the comment indicates, this is swrast. thus, check swrast

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
0ff37e7591 egl: use a non-kms_swrast check for swapbuffers DRI2_FLUSH
only swrast (non-kms) doesn't support this

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
484b50bd73 egl: add a bool to indicate swrast but not kms_swrast
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
3e7840ac37 egl: further simplify driver loading
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
a940f17ee1 egl: delete DRI_CONFIG_OPTIONS remnants
also simplify driver opening a little

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
7ea0091a19 egl: inline CONFIG_OPTIONS usage
this is always supported

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30494>
2024-08-05 20:33:14 +00:00
Mike Blumenkrantz
f4b51e0d8e egl: delete DRI_DRI2 remnants
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
93aea6df07 egl/x11: replace DRI_DRI2 check with fd check
only swrast (not kms_swrast) doesn't support this interface, so this
check should be equivalent

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
920f085dea egl: delete local_buffers
there's lots of calls to free these, but they are never allocated

thus they can be deleted entirely

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
f09e81636c egl: delete DRI_IMAGE remnants
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
18361e1a6e egl: delete last DRI_IMAGE check
DRI_IMAGE always exists, so this is always supported

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
54e0a90fbf egl: move some extension enablement out DRI_IMAGE conditional
this is functionally identical

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
9907166c42 egl: always check dri caps for EGL_WL_bind_wayland_display support
this should be functionally the same

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
455219979e egl: replace display_name checks with swrast checks
the only time when display_name isn't set is with true swrast

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
fc510ca674 egl: inline DRI_IMAGE compression modifier handling
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
60d81e2865 egl/wayland: delete check for DRI_IMAGE blitImage in drm init
this is always supported

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
c38b9aba0e egl/android: check PIPE_CAP_NATIVE_FENCE_FD directly
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
d86f39e7cf egl: swap DRI_IMAGE checks for dmabuf/modifier support for driver check
this probably also enables usage on swrast when available

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
89c6c150cc egl: inline simple DRI_IMAGE usage
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
75a08f6b00 egl: simplify MESA_drm_image enablement
the caps function here will always be accurate

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
027de039a3 egl/gbm: delete DRI_IMAGE_DRIVER remnants
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
703261c393 egl/drm: always expose EXT_buffer_age
this is implemented in swrast

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
03e88c0633 egl: simplify a non-swrast conditional
functionally identical

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
44b843b68a egl: collapse driCreateNewDrawable conditional
these are all the same case

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:32 +00:00
Mike Blumenkrantz
f43883cf67 egl/gbm: rip out DRI_SWRAST
the swrast struct member is now a bool for consistency

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
d9eae369e9 egl: inline DRI_SWRAST
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
789df29fc3 egl/gbm: remove DRI_KOPPER remnants
kopper struct member is still useful as a check, so replace it accordingly

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
5f8dec8f7c egl: inline DRI_KOPPER
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
1d86bc8791 egl: delete DRI_MESA remnants
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
0f8a85487b egl: inline DRI_MESA
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
0ae7349e06 egl/gbm: delete remnants of DRI_CORE
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
7732f1aa5d egl: inline DRI_CORE usage
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
85bf0892f6 egl/dri2: delete unused function
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30472>
2024-08-02 20:49:31 +00:00
Mike Blumenkrantz
1b6974095c loader/dri3: delete loader_dri3_extensions
no longer used

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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
546d71044a loader/dri: delete DRI_IMAGE remnants
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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
d703e7f289 loader/dri3: inline DRI_IMAGE usage
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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
35d518fcde dri: use image loader function directly in dri_create_image_with_modifiers
it can't be anything else

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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
2b042cb9c2 gallium: move loader_dri_create_image to dri frontend
this is another case of bad dependencies leaving dri the only place to
move something, which then exposes some other snags to be resolved later

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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
d3ecf106e9 loader/dri3: delete DRI2_CONFIG_QUERY remnants
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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
b7c17a4f3b loader/dri3: delete DRI2_FLUSH remnants
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/30450>
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
c4f7853131 loader/dri3: delete texBuffer struct member
unused

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
2024-07-31 18:50:38 +00:00
Mike Blumenkrantz
b0d0c1971c glx: delete releaseTexBuffer
this is always null, so none of the code is ever executed

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
2024-07-31 18:50:38 +00:00
Mike Blumenkrantz
87720ab42b loader/dri3: inline DRI_CORE
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
2024-07-31 18:50:38 +00:00
Mike Blumenkrantz
f9f8652445 loader: split out dri3 into subdir
this fixes dependency hell

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
2024-07-31 18:50:38 +00:00
Mike Blumenkrantz
4095fac72b loader: move some common dri3 functions out of dri3 loader
fixing dependency hell

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
2024-07-31 18:50:38 +00:00
X512
828c3cf002 egl/haiku: fix synchronization problems, add missing header
`st_context_invalidate_state` call is required when changing buffer attachments.

Including header with BBitmap class definition is required to properly
call C++ destructor.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30372>
2024-07-27 00:59:29 +00:00
Adam Jackson
ae51322d7b egl/x11: Move DRI2 client support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Renato Pereyra
97ed2e4d4b egl: Refactor init of CPU tracing in EGL for Android
eglGetPlatformDisplay is called by Android's Zygote when preloading
EGL at boot. When Perfetto is initialized by `util_cpu_trace_init`, it
launches side threads to handle tasks. Unfortunately, Zygote does not
tolerate unexpected threads created within its PID. As a result, Zygote
aborts and Android devices fail to boot.

Signed-off-by: Renato Pereyra <renatopereyra@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30360>
2024-07-25 18:37:37 +00:00
X512
2e70757dc0 egl/haiku: fix double free of BBitmap
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30364>
2024-07-25 14:20:42 +00:00
Alessandro Astone
7949471716 egl/gbm: Walk device list to initialize DRM platform
We cannot always use /dev/dri/card0.
As a matter of fact, on systems with SimpleDRM enabled /dev/dri/card0
will be created by it and removed once a GPU driver has loaded.

In any case we shouldn't hard-code the device number and instead walk
the device list to find the first suitable device.

This issue is trivially reproducible with `eglinfo -B -p gbm` on
Ubuntu 24.04 or Fedora 40

Fixes: 32f4cf3808 ("egl/gbm: Fix EGL_DEFAULT_DISPLAY")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30325>
2024-07-24 17:35:40 +00:00