minigbm: dri: Enabled useInvalidate for buffer invalidation.
The drivers now require a loader with a working useInvalidate hook.
If not enabled then "createNewScreen2" call will fail in mesa-22.2.0 onwards.
BUG=b:245687387
TEST= screenshot --internal /tmp/test.png
tast run <IP> graphics.GLBench
Signed-off-by: Ikshwaku Chauhan <ikshwaku.chauhan@amd.corp-partner.google.com>
Change-Id: I0f7319fb7193be6ea938209413e8fbfe3b7f0c93
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3941506
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
diff --git a/dri.c b/dri.c
index e4bf85d..27331cf 100644
--- a/dri.c
+++ b/dri.c
@@ -186,6 +186,10 @@
return ret;
}
+const __DRIuseInvalidateExtension use_invalidate = {
+ .base = { __DRI_USE_INVALIDATE, 1 }
+};
+
/*
* The caller is responsible for setting drv->priv to a structure that derives from dri_driver.
*/
@@ -193,7 +197,8 @@
{
char fname[128];
const __DRIextension **(*get_extensions)();
- const __DRIextension *loader_extensions[] = { NULL };
+ const __DRIextension *loader_extensions[] = { &use_invalidate.base,
+ NULL };
struct dri_driver *dri = drv->priv;
char *node_name = drmGetRenderDeviceNameFromFd(drv_get_fd(drv));