summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-08-11 16:40:43 +0200
committerChristian König <christian.koenig@amd.com>2014-08-12 11:53:52 +0200
commit83012b50854c795294b4b9e8b2766bb5258dafea (patch)
tree5be7af469b684dedddadb9cd47e15e2e99979409
parent3b48f6a4c06db57a7203d247994b05e55c9418c1 (diff)
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@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
-rw-r--r--src/gallium/drivers/r600/r600_uvd.c2
-rw-r--r--src/gallium/drivers/radeonsi/si_uvd.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_uvd.c b/src/gallium/drivers/r600/r600_uvd.c
index f42384c12ee..ee5288f384d 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 9f25cd6b09a..0ba3b125351 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;