diff options
author | Julien Isorce <j.isorce@samsung.com> | 2015-11-06 09:45:22 +0000 |
---|---|---|
committer | Julien Isorce <j.isorce@samsung.com> | 2015-11-06 17:33:45 +0000 |
commit | cc1e5c972eff8c774c93c8dc51d89b550d00633e (patch) | |
tree | 01d95b51ea3d7ebd7f7cb735e2f4a7284ccd15ed /src/gallium/state_trackers/va/picture.c | |
parent | 42a5e143a8d58a0ad15dd5747449eb4b57c87177 (diff) | |
download | external_mesa3d-cc1e5c972eff8c774c93c8dc51d89b550d00633e.zip external_mesa3d-cc1e5c972eff8c774c93c8dc51d89b550d00633e.tar.gz external_mesa3d-cc1e5c972eff8c774c93c8dc51d89b550d00633e.tar.bz2 |
st/va: add support for RGBX and BGRX in VPP
Before it was only possible to convert a NV12 surface to
RGBA or BGRA. This patch uses the same post processing
function, "handleVAProcPipelineParameterBufferType", but
add definitions for RGBX and BGRX.
This patch also makes vlVaQuerySurfaceAttributes more generic
to avoid copy and pasting the same lines.
Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Christian K<C3><B6>nig <christian.koenig@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'src/gallium/state_trackers/va/picture.c')
-rw-r--r-- | src/gallium/state_trackers/va/picture.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c index 644b848..d6cdbea 100644 --- a/src/gallium/state_trackers/va/picture.c +++ b/src/gallium/state_trackers/va/picture.c @@ -59,11 +59,12 @@ vlVaBeginPicture(VADriverContextP ctx, VAContextID context_id, VASurfaceID rende return VA_STATUS_ERROR_INVALID_SURFACE; context->target = surf->buffer; - if (!context->decoder) { /* VPP */ if ((context->target->buffer_format != PIPE_FORMAT_B8G8R8A8_UNORM && - context->target->buffer_format != PIPE_FORMAT_R8G8B8A8_UNORM) || + context->target->buffer_format != PIPE_FORMAT_R8G8B8A8_UNORM && + context->target->buffer_format != PIPE_FORMAT_B8G8R8X8_UNORM && + context->target->buffer_format != PIPE_FORMAT_R8G8B8X8_UNORM) || context->target->interlaced) return VA_STATUS_ERROR_UNIMPLEMENTED; return VA_STATUS_SUCCESS; |