Mesa (main): egl/dri: Enable FP16 for EGL_EXT_platform_device

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 13 17:02:14 UTC 2021


Module: Mesa
Branch: main
Commit: 27054f737a276b12a26af661908a302dcdfbaaea
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27054f737a276b12a26af661908a302dcdfbaaea

Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Oct  4 16:25:00 2021 -0400

egl/dri: Enable FP16 for EGL_EXT_platform_device

Why is this not the same code as EGL_MESA_platform_surfaceless.

Reviewed-by: Emma Anholt <emma at anholt.net>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13182>

---

 src/egl/drivers/dri2/platform_device.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/egl/drivers/dri2/platform_device.c b/src/egl/drivers/dri2/platform_device.c
index 3d979e982a5..30f6f7e6b8b 100644
--- a/src/egl/drivers/dri2/platform_device.c
+++ b/src/egl/drivers/dri2/platform_device.c
@@ -193,10 +193,23 @@ device_flush_front_buffer(__DRIdrawable *driDrawable, void *loaderPrivate)
 {
 }
 
+static unsigned
+device_get_capability(void *loaderPrivate, enum dri_loader_cap cap)
+{
+   /* Note: loaderPrivate is _EGLDisplay* */
+   switch (cap) {
+   case DRI_LOADER_CAP_FP16:
+      return 1;
+   default:
+      return 0;
+   }
+}
+
 static const __DRIimageLoaderExtension image_loader_extension = {
-   .base             = { __DRI_IMAGE_LOADER, 1 },
+   .base             = { __DRI_IMAGE_LOADER, 2 },
    .getBuffers       = device_image_get_buffers,
    .flushFrontBuffer = device_flush_front_buffer,
+   .getCapability    = device_get_capability,
 };
 
 static const __DRIextension *image_loader_extensions[] = {



More information about the mesa-commit mailing list