Am 25.07.2017 um 08:27 schrieb Michel Dänzer:
On 25/07/17 02:54 AM, Leo Liu wrote:
To workaround an unknown bug.

Signed-off-by: Leo Liu <leo....@amd.com>
---
  src/gallium/drivers/radeon/radeon_vcn_dec.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c 
b/src/gallium/drivers/radeon/radeon_vcn_dec.c
index bd93b849db..a60b969a27 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_dec.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c
@@ -1237,8 +1237,9 @@ struct pipe_video_codec *radeon_create_decoder(struct 
pipe_context *context,
                unsigned msg_fb_it_size = FB_BUFFER_OFFSET + FB_BUFFER_SIZE;
                if (have_it(dec))
                        msg_fb_it_size += IT_SCALING_TABLE_SIZE;
+               /* use vram to improve performance, workaround an unknown bug */
                if (!rvid_create_buffer(dec->screen, &dec->msg_fb_it_buffers[i],
-                                       msg_fb_it_size, PIPE_USAGE_STAGING)) {
+                                       msg_fb_it_size, PIPE_USAGE_DEFAULT)) {
                        RVID_ERR("Can't allocated message buffers.\n");
                        goto error;
                }

Does PIPE_USAGE_STREAM help as well? That would be system memory but
with write-combined CPU access, whereas PIPE_USAGE_STAGING is cacheable.

No, unfortunately not. It's a hardware bug which is independent of the caching mode.

Leo can you limit this workaround to APUs? Shouldn't matter for dGPUs.

Additional to that I would rather like to have that in the kernel, so that we can easily remove it when the correct workaround from the hardware guys for this issue lands.

Christian.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to