summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/va
diff options
context:
space:
mode:
authorMark Thompson <[email protected]>2017-10-10 22:21:04 +0100
committerLeo Liu <[email protected]>2017-10-17 08:23:55 -0400
commitba28c1c9f7800b81f1abfe482e2a03464d585519 (patch)
tree65f0ae73acf9158ee65f8b4c7595e4d77b1dd990 /src/gallium/state_trackers/va
parentb6f41e393ee650bcfc2c5a78804ef914fc40ff4b (diff)
st/va: Fix config entrypoint handling
Consistently use it as a PIPE_VIDEO_ENTRYPOINT. v2: Return an error if the entrypoint is not set (Christian). Signed-off-by: Mark Thompson <[email protected]> Reviewed-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/va')
-rw-r--r--src/gallium/state_trackers/va/config.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/gallium/state_trackers/va/config.c b/src/gallium/state_trackers/va/config.c
index 1484fcacce1..25043d63742 100644
--- a/src/gallium/state_trackers/va/config.c
+++ b/src/gallium/state_trackers/va/config.c
@@ -195,7 +195,7 @@ vlVaCreateConfig(VADriverContextP ctx, VAProfile profile, VAEntrypoint entrypoin
return VA_STATUS_ERROR_ALLOCATION_FAILED;
if (profile == VAProfileNone && entrypoint == VAEntrypointVideoProc) {
- config->entrypoint = VAEntrypointVideoProc;
+ config->entrypoint = PIPE_VIDEO_ENTRYPOINT_UNKNOWN;
config->profile = PIPE_VIDEO_PROFILE_UNKNOWN;
supported_rt_formats = VA_RT_FORMAT_YUV420 |
VA_RT_FORMAT_YUV420_10BPP |
@@ -342,14 +342,20 @@ vlVaQueryConfigAttributes(VADriverContextP ctx, VAConfigID config_id, VAProfile
*profile = PipeToProfile(config->profile);
- if (config->profile == PIPE_VIDEO_PROFILE_UNKNOWN) {
+ switch (config->entrypoint) {
+ case PIPE_VIDEO_ENTRYPOINT_BITSTREAM:
+ *entrypoint = VAEntrypointVLD;
+ break;
+ case PIPE_VIDEO_ENTRYPOINT_ENCODE:
+ *entrypoint = VAEntrypointEncSlice;
+ break;
+ case PIPE_VIDEO_ENTRYPOINT_UNKNOWN:
*entrypoint = VAEntrypointVideoProc;
- *num_attribs = 0;
- return VA_STATUS_SUCCESS;
+ break;
+ default:
+ return VA_STATUS_ERROR_INVALID_CONFIG;
}
- *entrypoint = config->entrypoint;
-
*num_attribs = 1;
attrib_list[0].type = VAConfigAttribRTFormat;
attrib_list[0].value = config->rt_format;