summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2015-09-06 09:39:15 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2015-09-06 15:13:58 +0800
commit0665aa21b1c0a05a1aa39c55b776f8acdb23498d (patch)
tree63f02986aef3594fd63d073f6549c9a9be70dfbf
parent282d501e9d3092039415031442b22112c4b303d4 (diff)
Export the profile/entrypoints for the wrapped backend drivers
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Sean V Kelley <seanvk@posteo.de> (cherry picked from commit ad7b5a0233d8ead9a2ca141f3fa75f4bda1045c1)
-rw-r--r--src/i965_drv_video.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 5bf9ff3..1cc4775 100644
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -564,6 +564,25 @@ i965_QueryConfigProfiles(VADriverContextP ctx,
profile_list[i++] = VAProfileHEVCMain;
}
+ if (i965->wrapper_pdrvctx) {
+ VAProfile wrapper_list[4];
+ int wrapper_num;
+ VADriverContextP pdrvctx;
+ VAStatus va_status;
+
+ pdrvctx = i965->wrapper_pdrvctx;
+ CALL_VTABLE(pdrvctx, va_status,
+ vaQueryConfigProfiles(pdrvctx,
+ wrapper_list, &wrapper_num));
+
+ if (va_status == VA_STATUS_SUCCESS) {
+ int j;
+ for (j = 0; j < wrapper_num; j++)
+ if (wrapper_list[j] != VAProfileNone)
+ profile_list[i++] = wrapper_list[j];
+ }
+ }
+
/* If the assert fails then I965_MAX_PROFILES needs to be bigger */
ASSERT_RET(i <= I965_MAX_PROFILES, VA_STATUS_ERROR_OPERATION_FAILED);
*num_profiles = i;
@@ -648,6 +667,20 @@ i965_QueryConfigEntrypoints(VADriverContextP ctx,
break;
+ case VAProfileVP9Profile0:
+ if (i965->wrapper_pdrvctx) {
+ VAStatus va_status = VA_STATUS_SUCCESS;
+ VADriverContextP pdrvctx = i965->wrapper_pdrvctx;
+
+ CALL_VTABLE(pdrvctx, va_status,
+ vaQueryConfigEntrypoints(pdrvctx, profile,
+ entrypoint_list,
+ num_entrypoints));
+ return va_status;
+ }
+
+ break;
+
default:
break;
}
@@ -745,6 +778,13 @@ i965_validate_config(VADriverContextP ctx, VAProfile profile,
break;
+ case VAProfileVP9Profile0:
+ if (i965->wrapper_pdrvctx)
+ va_status = VA_STATUS_SUCCESS;
+ else
+ va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
+ break;
+
default:
va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
break;