From 54f9f34181ff3f6840472d16000e0092d12eb64d Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Thu, 23 Mar 2017 10:29:47 -0400 Subject: [PATCH] st/omx/enc: use PIPE_USAGE_STAGING for output buffer MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Workaround an unknown bug with inside the transfer_map for certain ASIC, also tested with un-affected ASICs, the performance actually improved slightly. Signed-off-by: Leo Liu Reviewed-by: Christian König Reviewed-by: Marek Olšák --- src/gallium/state_trackers/omx/vid_enc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/state_trackers/omx/vid_enc.c b/src/gallium/state_trackers/omx/vid_enc.c index b58063e6e65..5274f6403bd 100644 --- a/src/gallium/state_trackers/omx/vid_enc.c +++ b/src/gallium/state_trackers/omx/vid_enc.c @@ -1092,8 +1092,10 @@ static void enc_HandleTask(omx_base_PortType *port, struct encode_task *task, priv->s_pipe->flush(priv->s_pipe, NULL, 0); /* -------------- allocate output buffer --------- */ - task->bitstream = pipe_buffer_create(priv->s_pipe->screen, PIPE_BIND_VERTEX_BUFFER, - PIPE_USAGE_STREAM, size); + task->bitstream = pipe_buffer_create(priv->s_pipe->screen, + PIPE_BIND_VERTEX_BUFFER, + PIPE_USAGE_STAGING, /* map for read */ + size); picture.picture_type = picture_type; picture.pic_order_cnt = task->pic_order_cnt; -- 2.30.2