diff options
author | Mark Thompson <[email protected]> | 2017-10-10 22:21:04 +0100 |
---|---|---|
committer | Leo Liu <[email protected]> | 2017-10-17 08:23:55 -0400 |
commit | ba28c1c9f7800b81f1abfe482e2a03464d585519 (patch) | |
tree | 65f0ae73acf9158ee65f8b4c7595e4d77b1dd990 /src/gallium/state_trackers/va | |
parent | b6f41e393ee650bcfc2c5a78804ef914fc40ff4b (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.c | 18 |
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; |