Mesa (main): venus: cache front_rendering_usage bit at gralloc init
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Apr 30 04:30:52 UTC 2022
Module: Mesa
Branch: main
Commit: d6b4f746b001b1fe7b27bee997f345a5edab1608
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6b4f746b001b1fe7b27bee997f345a5edab1608
Author: Yiwei Zhang <zzyiwei at chromium.org>
Date: Sat Apr 9 00:21:53 2022 +0000
venus: cache front_rendering_usage bit at gralloc init
Signed-off-by: Yiwei Zhang <zzyiwei at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15868>
---
src/virtio/vulkan/vn_android.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c
index 32c465cab18..6e83670fb1a 100644
--- a/src/virtio/vulkan/vn_android.c
+++ b/src/virtio/vulkan/vn_android.c
@@ -30,9 +30,12 @@
/* perform options supported by CrOS Gralloc */
#define CROS_GRALLOC_DRM_GET_BUFFER_INFO 4
+#define CROS_GRALLOC_DRM_GET_USAGE 5
+#define CROS_GRALLOC_DRM_GET_USAGE_FRONT_RENDERING_BIT 0x1
struct vn_android_gralloc {
const gralloc_module_t *module;
+ uint32_t front_rendering_usage;
};
static struct vn_android_gralloc _vn_android_gralloc;
@@ -42,6 +45,7 @@ vn_android_gralloc_init()
{
static const char CROS_GRALLOC_MODULE_NAME[] = "CrOS Gralloc";
const gralloc_module_t *gralloc = NULL;
+ uint32_t front_rendering_usage = 0;
int ret;
/* get gralloc module for gralloc buffer info query */
@@ -64,6 +68,13 @@ vn_android_gralloc_init()
return -1;
}
+ if (gralloc->perform(gralloc, CROS_GRALLOC_DRM_GET_USAGE,
+ CROS_GRALLOC_DRM_GET_USAGE_FRONT_RENDERING_BIT,
+ &front_rendering_usage) == 0) {
+ assert(front_rendering_usage);
+ _vn_android_gralloc.front_rendering_usage = front_rendering_usage;
+ }
+
_vn_android_gralloc.module = gralloc;
return 0;
More information about the mesa-commit
mailing list