diff options
author | Leo Liu <[email protected]> | 2017-03-23 10:29:47 -0400 |
---|---|---|
committer | Leo Liu <[email protected]> | 2017-03-23 14:43:42 -0400 |
commit | 54f9f34181ff3f6840472d16000e0092d12eb64d (patch) | |
tree | 91243ac3b47b70bf2fab641a9f47c2dc1eeec007 | |
parent | 378025ca8b82c5f2068e202f1016450d97820d99 (diff) |
st/omx/enc: use PIPE_USAGE_STAGING for output buffer
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 <[email protected]>
Reviewed-by: Christian König <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/gallium/state_trackers/omx/vid_enc.c | 6 |
1 files 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; |