summaryrefslogtreecommitdiff
path: root/va/wayland
diff options
context:
space:
mode:
authorCarl Zhang <carl.zhang@intel.com>2019-12-10 10:50:25 -0500
committerXinfengZhang <carl.zhang@intel.com>2019-12-25 14:31:12 +0800
commitb4d0af7f43f0ef2d51f070c75429c0d6acca663b (patch)
tree942712839785dc6a344521d9392187f72c08703d /va/wayland
parentfbd16a1604b1a7a8e4d0ea20d500cfef43b63a3d (diff)
downloadlibva-b4d0af7f43f0ef2d51f070c75429c0d6acca663b.tar.gz
enable driver candidate select fucntion for DRM
add multiple backend driver support part 3 enable vaGetDriverNameByIndex for DRM add comments for the implementation mv authenticate operation into vaGetNumCandidates function from vaGetDriverName. Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Diffstat (limited to 'va/wayland')
-rw-r--r--va/wayland/va_wayland_drm.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/va/wayland/va_wayland_drm.c b/va/wayland/va_wayland_drm.c
index 4cd3f6c..aebddcc 100644
--- a/va/wayland/va_wayland_drm.c
+++ b/va/wayland/va_wayland_drm.c
@@ -117,6 +117,29 @@ static const struct wl_drm_listener drm_listener = {
};
static VAStatus
+va_DisplayContextGetNumCandidates(
+ VADisplayContextP pDisplayContext,
+ int *candidate_index
+)
+{
+ VADriverContextP const ctx = pDisplayContext->pDriverContext;
+
+ return VA_DRM_GetNumCandidates(ctx, candidate_index);
+}
+
+static VAStatus
+va_DisplayContextGetDriverNameByIndex(
+ VADisplayContextP pDisplayContext,
+ char **driver_name_ptr,
+ int candidate_index
+)
+{
+ VADriverContextP const ctx = pDisplayContext->pDriverContext;
+
+ return VA_DRM_GetDriverName(ctx, driver_name_ptr, candidate_index);
+}
+
+static VAStatus
va_DisplayContextGetDriverName(
VADisplayContextP pDisplayContext,
char **driver_name_ptr
@@ -124,7 +147,7 @@ va_DisplayContextGetDriverName(
{
VADriverContextP const ctx = pDisplayContext->pDriverContext;
- return VA_DRM_GetDriverName(ctx, driver_name_ptr);
+ return VA_DRM_GetDriverName(ctx, driver_name_ptr, 0);
}
void
@@ -237,6 +260,8 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
wl_drm_ctx->is_authenticated = 0;
pDisplayContext->opaque = wl_drm_ctx;
pDisplayContext->vaGetDriverName = va_DisplayContextGetDriverName;
+ pDisplayContext->vaGetNumCandidates = va_DisplayContextGetNumCandidates;
+ pDisplayContext->vaGetDriverNameByIndex = va_DisplayContextGetDriverNameByIndex;
drm_state = calloc(1, sizeof(struct drm_state));
if (!drm_state) {