summaryrefslogtreecommitdiff
path: root/src/egl/drivers/dri2/egl_dri2.h
AgeCommit message (Collapse)AuthorFilesLines
2024-02-29egl/wayland: Remove EGL_WL_create_wayland_buffer_from_imageDaniel Stone1-4/+0
This extension was originally intended to complement EGL_WL_bind_wayland_display. The idea behind bind_wayland_display was that libEGL.so on the server side could register Wayland extensions for libEGL.so on the client side to use to create buffers, with eglQueryWaylandBufferWL being used to query the buffer properties, and EGL_WAYLAND_BUFFER_WL added as an EGLImage target for texturing. eglCreateWaylandBufferFromImageWL was then to be used for nested compositors to perform passthrough: it would take an EGLImage created by the magical libEGL secret handshake, and make it usable in the parent compositor by doing the same secret handshake again. Since that original idea, we've just standardised dmabuf across the Wayland ecosystem instead. The last known user of this extension was a sample client in the Weston tree, which was broken quite some years ago and never ported to the Meson build system when we moved. Given it won't affect anyone, let's just remove this extension so no-one thinks it would be a good idea to use it. Signed-off-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27793>
2024-02-27egl: Remove shifts/sizes from dri2_add_config argumentDaniel Stone1-2/+1
All the callers now do their own filtering on driver configs to decide whether or not to add them. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709>
2024-02-27egl: Use pipe_format for pbuffer configsDaniel Stone1-2/+3
There's no need to pass shifts and masks now; we can just take a list of pbuffer configs to add. Signed-off-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709>
2024-02-27egl: Automatically set EGLConfig IDDaniel Stone1-1/+1
There's no reason to make the users go through and count all their configs; just set it ourselves in the core. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709>
2024-02-27egl/{surfaceless,device}: Remove check for EGLConfig presenceDaniel Stone1-1/+1
We now check in the EGL core that we actually have some configs for the display, so no need to do it in the platform. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27709>
2024-02-21egl/dri2: if zink is preferred from dri3 skip dri2 paths.Dave Airlie1-0/+6
This just avoids some error prints. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27739>
2024-01-10egl/android: Switch to generic buffer-info codeRoman Stratiienko1-1/+3
Switch to a new common buffer-info layer. After this change, the virgl fallback logic is changed, but it should work as well. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24374>
2023-11-18egl: extract EGLDevice setup in dedicated functionSimon Ser1-0/+3
Extract the logic responsible for populating disp->Device via _eglFindDevice(). This isn't much for now but will grow in a following commit. No functional changes. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Tested-by: Iago Toral Quiroga <itoral@igalia.com> Tested-by: Alejandro Piñeiro <apinheiro@igalia.com> Backport-to: 23.3 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26205>
2023-10-19egl: unify dri2_egl_display creationMike Blumenkrantz1-0/+3
this is the same for all platforms no functional changes Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
2023-10-04egl: move is_render_node flag to platform_waylandLeandro Ribeiro1-2/+1
This flag is being used only by platform_wayland. So move it to be included by the #ifdef HAVE_WAYLAND_PLATFORM in struct dri2_egl_display. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>
2023-07-07egl: re-format using clang-formatEric Engestrom1-58/+61
No manual changes here, this is simply running $ ninja -C build/ clang-format Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23398>
2023-05-11egl/loader: move crtc resource infrastructure as common helperTapani Pälli1-1/+2
Patch moves (and renames) the infrastructure to fix compilation failures when dri3 is not enabled in the build. Fixes: 3170b63314f ("loader: Add infrastructure for tracking active CRTC resources"); Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8476 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22897>
2023-03-30dri2/android: Bypass throttlingRob Clark1-0/+3
The android window system (SurfaceFlinger, et al) already does it's own throttling. Trying to do this also in mesa's egl is counterproductive. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22197>
2023-01-27egl: Rewrite eglGetMscRateANGLE to avoid probes and handle multi-monitorKenneth Graunke1-0/+1
RRGetScreenInfo re-probes connector status, which may result in an EDID transfer for every output, which according to Adam Jackson can be on the order of 100ms for a single EDID block. So our previous implementation of this eglGetMscRateANGLE was blocking for excessive periods of time instead of being a quick query of the refresh rate like users expect. This changes our eglGetMscRateANGLE implementation from using RRGetScreenInfo to RRGetScreenResourcesCurrent and RRGetCrtcInfo. This obtains the same monitor info without re-probing connectors. Fixes a severe performance regression in Chromium WebGL performance. While we're re-implementing the extension, we also implement proper multi-monitor support: if there are multiple active CRTCs, we determine which contains the largest portion of the surface, as specified in the EGL_ANGLE_sync_control_rate extension. We also now report fractional refresh rates correctly rather than rounding to the nearest Hz. Fixes: 47526556494 ("egl/x11: implement ANGLE_sync_control_rate") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6996 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7038 Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20665>
2023-01-24egl: remove is_different_gpu variable from struct dri2_egl_displayYogesh Mohan Marimuthu1-1/+11
v2: fd number is different (Pierre-Eric) v1: remove is_different_gpu (Pierre-Eric) Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13422>
2023-01-24egl: add render_gpu tag to dri2_dpy->fd and dri2_dpy->dri_screen variableYogesh Mohan Marimuthu1-3/+3
v1: add render_gpu_tag (Pierre-Eric) Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13422>
2023-01-24egl: create DRI screen for display GPU in case of primeYogesh Mohanmarimuthu1-0/+1
The created DRI screen can be used to allocate VRAM memory from display GPU in case of prime. v2: remove extra whitespace (Marek Olšák) Signed-off-by: Yogesh Mohanmarimuthu <yogesh.mohanmarimuthu@amd.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13422>
2023-01-24egl: add fd_display_gpu to struct dri2_egl_displayYogesh Mohanmarimuthu1-0/+1
fd opened on display gpu is saved in fd_display_gpu. It is later used to create dri screen on display gpu. Signed-off-by: Yogesh Mohanmarimuthu <yogesh.mohanmarimuthu@amd.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13422>
2022-12-09egl: Replace sRGB support check with a pscreen query.Emma Anholt1-1/+0
This drops the remaining use of rendererQuery from EGL. Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171>
2022-12-09egl: Replace the robustness DRI2 ext check with a pipe cap query.Emma Anholt1-1/+0
This means that swkms will now report it with llvmpipe. drisw reported it with llvmpipe, and it appears to have been an oversight that got refactored into an obvious "if !swkms" check later. Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171>
2022-12-05dri: Introduce internal Mesa DRI driver loader extension.Emma Anholt1-0/+2
All DRI loaders in Mesa (EGL, GLX, gbm) now require this ext and that the driver come from a matching build. This will let us use Mesa-internal types and enums across the loader-driver bounary inside of Mesa. Reviewed-by: Adam Jackson <ajax@redhat.com> Acked-by: Eric Engestrom <eric@igalia.com> LOL-YESed-by: Kristian Høgsberg <krh@bitplanet.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20069>
2022-09-07egl/dri2: Add display lockRob Clark1-0/+20
In preperation of relaxing eglapi to not hold a lock across driver calls, but instead only for protecting it's own state, add our own lock to protect code paths that need locking or have not been audited yet. The blocking calls (ClientWaitSyncKHR) or critical path and/or blocking (MakeCurrent, SwapBuffers*) are lockless, as they have already been audited for thread safety. Signed-off-by: Rob Clark <robdclark@chromium.org> Acked-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050>
2022-08-09egl/x11: implement ANGLE_sync_control_rateYonggang Luo1-0/+5
Implement EGL_ANGLE_sync_control_rate for running Chromium Linux on Wayland with EGL backend. Chromium works with this patch using(with videos playing smoothly): /usr/bin/google-chrome-stable --use-gl=egl --enable-features=VaapiVideoDecoder --ignore-gpu-blocklist Closes #2930 Signed-off-by: KJ Liew <liewkj@yahoo.com> Signed-off-by: Térence Clastres <t.clastres@gmail.com> Signed-off-by: Satadru Pramanik <satadru@gmail.com> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815>
2022-07-12egl: Just include driconf.h instead of redefining its values.Emma Anholt1-6/+0
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-04-16Revert "egl/wayland: deprecate drm_handle_format() and ↵Leandro Ribeiro1-0/+1
drm_handle_capabilities()" Commit af1ee8e010441f8f2ed8c77065b159652a4ac9fe dropped support to wl_drm, as we thought that most compositors from active projects were already supporting zwp_linux_dmabuf_v1. But that's not true, so revert this commit in order to give these projects a longer transition period. Note that we didn't add back the support to GEM name API, and that was on purpose. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15822>
2022-04-07egl: Learn about kopperAdam Jackson1-0/+2
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14541>
2022-03-04android: Push in-fence-fd down to driverRob Clark1-0/+4
Rather than immediately stall on the CPU in SwapBuffers() if the in-fence for the dequeued buffer is not yet signaled, push it down to the driver. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6048 Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15094>
2022-02-04egl: Use the new no-error driver interfaceAdam Jackson1-1/+0
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12474>
2021-11-26egl/wayland: use surface dma-buf feedback to allocate surface buffersLeandro Ribeiro1-0/+1
As explained in "egl/wayland: add initial dma-buf feedback support", we still don't use the per-surface dma-buf feedback. In this patch we start to use it. If per-surface dma-buf feedback is advertised, use it to allocate surface buffers. Also, the dma-buf protocol states that the feedback is resent only when the client is using a suboptimal format/modifier pair. So listen for new per-surface feedback events and reallocate the surface buffers based on them. We can't change the format of a buffer, but we can pick a new modifier. This patch is based on previous work of Scott Anderson (@ascent). Signed-off-by: Scott Anderson <scott.anderson@collabora.com> Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: add initial dma-buf feedback supportLeandro Ribeiro1-0/+30
This bumps the supported dma-buf version up to 4 and adds the initial dma-buf feedback implementation. It follows the changes in the dma-buf protocol extension [1] to include the dma-buf feedback interface, which should be incorporated by most Wayland compositors in the future. From version 4 onwards, the dma-buf modifier events are not sent by the compositor anymore, so we use the default feedback to pick the set of formats/modifiers supported by the compositor. Also, we try to avoid the wl_drm device event and instead use the dma-buf feedback main device. We only fallback to wl_drm when the compositor advertises a device that does not have a render node associated. In this initial dma-buf feedback implementation we still don't do anything with the per-surface dma-buf feedback, but in the next commits we add proper support. It's important to mention that this also bumps the minimal supported version of wayland-protocols to 1.24, in order to include [1]. [1] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/8 This patch is based on previous work of Scott Anderson (@ascent). Signed-off-by: Scott Anderson <scott.anderson@collabora.com> Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: remove unused constant EGL_DRI2_NUM_FORMATSLeandro Ribeiro1-2/+0
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: move formats and modifiers to a separate structLeandro Ribeiro1-2/+13
This will allow us to remove EGL_DRI2_NUM_FORMATS (as explained in "egl/wayland: remove unused constant EGL_DRI2_NUM_FORMATS") and it will also help to add the dma-buf feedback support. Both changes happen in the next commits. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()Leandro Ribeiro1-1/+0
Most Wayland compositors have already implemented the dma-buf protocol extension. So we can stop relying on the wl_drm events and start to depend only on the dma-buf interface to receive format/modifier pairs and create wl_buffer's. So we can deprecate drm_handle_format() and drm_handle_capabilities(). Note that we still use the wl_drm interface to find out the DRM device that the compositor is using, so we can't deprecate it fully for now. In the future (when the dma-buf feedback interface is added to the dma-buf protocol extension [1] and most compositors incorporate it) we may be able to fully deprecate wl_drm. [1] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/8 Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: replace EGL_DRI2_MAX_FORMATS by EGL_DRI2_NUM_FORMATSLeandro Ribeiro1-2/+2
Currently we have a weird design. We have a hardcoded array (named dri2_wl_visuals) with all the formats that we support, which are 9. And we also have EGL_DRI2_MAX_FORMATS, which is a constant set to 10. In patches in which people added new formats to dri2_wl_visuals, this constant had its value increased. This is confusing, as its name gives the idea that we can't support more formats. This constant is only used to define the bitset size of dri2_egl_display::formats. And it should work just fine if we created this bitset with the number of formats supported. To make things clearer, replace EGL_DRI2_MAX_FORMATS by EGL_DRI2_NUM_FORMATS, which must be equal to ARRAY_SIZE(dri2_wl_visuals) (i.e. the number of supported formats). In the next commits we get rid of this constant completely, as it is prone to errors. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl/wayland: Remove unused wayland enumScott Anderson1-9/+0
Signed-off-by: Scott Anderson <scott@anderso.nz> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-11-26egl: remove unnecessary spaces after typesLeandro Ribeiro1-77/+77
If we want to add a variable with a type name that is too long, we have to realign all the variables within these structs. The other option is to ignore and don't realign, and then we end up with a very ugly code. So get rid of these unnecessary spaces, as they don't bring anything useful. Instead, they are annoying. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11248>
2021-10-16egl/wayland: Properly clear stale buffers on resizeDerek Foreman1-0/+1
The following chain of events results in an incorrectly sized buffer persisting beyond its useful lifetime, and causing visual artifacts. buffer is attached at size A window is resized to size B rendering takes place for size B window is resized back to size A swapbuffers with damage is called In this scenario, update_buffers fails to recognize that the surface it's about to commit is a different size than it has rendered. The attached_width and attached_height are set incorrectly, and periodic flickering is observed. Instead, we set a boolean flag at time of resize and use this at the time we latch the window dimensions as surface dimensions to decide whether to discard stale buffers. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13270>
2021-10-06egl/wayland: Support RGBA ordered formatsDerek Foreman1-1/+1
There's no reason not to try to use RGBA ordered formats, and in some cases doing so might lead to features such as AFBC being available when they otherwise wouldn't. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13040>
2021-09-09egl/dri2: seperate EGLImage validate and lookupQiang Yu1-0/+6
Version 2 of DRIImageLookupExtension add two interface for EGLImage validate and lookup. This is for resolving deak lock in the following commits. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12336>
2021-07-08egl/android: only apply front rendering usage in shared buffer modeYiwei Zhang1-0/+1
When EGL_KHR_mutable_render_buffer extension is enabled, advertised configs unconditionally include EGL_MUTABLE_RENDER_BUFFER_BIT_KHR bit. However, f61337b5 starts requesting front rendering usage bit when EGL_MUTABLE_RENDER_BUFFER_BIT_KHR is seen on the SurfaceType, which essentially forces linear usage on all winsys BOs for gallium dri and i965 drivers on Android when cros gralloc is in use. This patch dynamically appends or strips the front rendering usage bit depends on whether EGL_RENDER_BUFFER is EGL_SINGLE_BUFFER or EGL_BACK_BUFFER. The next dequeuBuffer call will switch the buffer sharing mode while re-allocating winsys BOs given the updated gralloc usage bits if necessary. v2: handle ANativeWindow_setUsage on error Fixes: f61337b5 ("egl/android: check front rendering support for cros gralloc") Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Rob Clark <robdclark@chromium.org> (v1) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11787>
2021-06-11egl/android: add aosp_nougat system/window.h back for back compatYiwei Zhang1-0/+6
Also layer ANativeWindow_* APIs on top of legacy APIs for api level less than 26 in a new platform_android.h header. v2: persist frozen system/window.h header Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Rob Clark <robdclark@chromium.org> (v1) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11286>
2021-06-09egl/android: refactor to use the legit vndk/window.h headerYiwei Zhang1-1/+1
Using the system/window.h header can potentially cause AHB breakage because the system header is reserved for platform internal use. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11206>
2021-05-26egl/android: check front rendering support for cros grallocYiwei Zhang1-0/+2
Enable EGL_KHR_mutable_render_buffer when below conditions are met: 1. Driver part implementation of this extension is available 2. Loader part implementation of this extension is available 3. ClientAPIs must be OpenGL ES bits (ES, ES2 or ES3) 4. Gralloc is cros gralloc and it supports front render usage query (4) is optional as long as another gralloc supports similar query. Upon window surface creation, if the surface type has mutable render buffer, then append the cached front rendering usage to the existing usage and properly set to the ANativeWindow. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10685>
2020-08-18egl/android: Call createImageFromDmaBufs directlyKristian H. Kristensen1-0/+3
Instead of building up EGL attribute lists and then having to parse them again, call the DRI driver directly and then use the dri2_create_image_from_dri() helper to wrap the __DRIimage in an EGLImage. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055>
2020-08-16egl: drop unused _EGLDriver from QueryBufferAge()Eric Engestrom1-2/+1
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>
2020-08-16egl: drop unused _EGLDriver from PostSubBufferNV()Eric Engestrom1-2/+1
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>
2020-08-16egl: drop unused _EGLDriver from CreateWaylandBufferFromImageWL()Eric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>
2020-08-16egl: drop unused _EGLDriver from {Create,Destroy}ImageKHR()Eric Engestrom1-5/+3
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>
2020-08-16egl: drop unused _EGLDriver from CopyBuffers()Eric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>
2020-08-16egl: drop unused _EGLDriver from SwapBuffers{,WithDamageEXT,RegionNOK}()Eric Engestrom1-7/+4
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6241>