Mesa (master): radeon/uvd: fix gpu_address for video surfaces

Christian König deathsimple at kemper.freedesktop.org
Tue Aug 12 10:08:47 UTC 2014


Module: Mesa
Branch: master
Commit: 83012b50854c795294b4b9e8b2766bb5258dafea
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83012b50854c795294b4b9e8b2766bb5258dafea

Author: Christian König <christian.koenig at amd.com>
Date:   Mon Aug 11 16:40:43 2014 +0200

radeon/uvd: fix gpu_address for video surfaces

We need to get the new gpu_address as well when
reallocating the cs buffer.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=82428

Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Tested-by: Kai Wasserbäch <kai at dev.carbon-project.org>

---

 src/gallium/drivers/r600/r600_uvd.c   |    2 ++
 src/gallium/drivers/radeonsi/si_uvd.c |    2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_uvd.c b/src/gallium/drivers/r600/r600_uvd.c
index f42384c..ee5288f 100644
--- a/src/gallium/drivers/r600/r600_uvd.c
+++ b/src/gallium/drivers/r600/r600_uvd.c
@@ -121,6 +121,8 @@ struct pipe_video_buffer *r600_video_buffer_create(struct pipe_context *pipe,
 		/* recreate the CS handle */
 		resources[i]->resource.cs_buf = ctx->b.ws->buffer_get_cs_handle(
 			resources[i]->resource.buf);
+		resources[i]->resource.gpu_address = ctx->b.ws->buffer_get_virtual_address(
+			resources[i]->resource.cs_buf);
 	}
 
 	template.height *= array_size;
diff --git a/src/gallium/drivers/radeonsi/si_uvd.c b/src/gallium/drivers/radeonsi/si_uvd.c
index 9f25cd6..0ba3b12 100644
--- a/src/gallium/drivers/radeonsi/si_uvd.c
+++ b/src/gallium/drivers/radeonsi/si_uvd.c
@@ -106,6 +106,8 @@ struct pipe_video_buffer *si_video_buffer_create(struct pipe_context *pipe,
 		/* recreate the CS handle */
 		resources[i]->resource.cs_buf = ctx->b.ws->buffer_get_cs_handle(
 			resources[i]->resource.buf);
+		resources[i]->resource.gpu_address = ctx->b.ws->buffer_get_virtual_address(
+			resources[i]->resource.cs_buf);
 	}
 
 	template.height *= array_size;




More information about the mesa-commit mailing list