aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2019-09-18 20:18:39 -0400
committerMarek Olšák <[email protected]>2019-09-24 19:23:30 -0400
commit67d930d64bb27944f4ad02068720a832c503ab1f (patch)
treeae4785ab4172809298c6040c5dcf50b3d698a725 /src/gallium/drivers/radeonsi
parentf52afdf67274d58951124b20a42fe932a5deda4d (diff)
radeonsi: fix VAAPI segfault due to various bugs
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111236
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r--src/gallium/drivers/radeonsi/si_texture.c1
-rw-r--r--src/gallium/drivers/radeonsi/si_uvd.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c
index a8504f4e90c..3d35fb41cf0 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -1863,6 +1863,7 @@ static bool si_can_invalidate_texture(struct si_screen *sscreen,
const struct pipe_box *box)
{
return !tex->buffer.b.is_shared &&
+ !(tex->surface.flags & RADEON_SURF_IMPORTED) &&
!(transfer_usage & PIPE_TRANSFER_READ) &&
tex->buffer.b.b.last_level == 0 &&
util_texrange_covers_whole_level(&tex->buffer.b.b, 0,
diff --git a/src/gallium/drivers/radeonsi/si_uvd.c b/src/gallium/drivers/radeonsi/si_uvd.c
index 94d81a4ab6c..19d1b09f1c1 100644
--- a/src/gallium/drivers/radeonsi/si_uvd.c
+++ b/src/gallium/drivers/radeonsi/si_uvd.c
@@ -96,6 +96,7 @@ struct pipe_video_buffer *si_video_buffer_create(struct pipe_context *pipe,
/* reset the address */
resources[i]->buffer.gpu_address = ctx->ws->buffer_get_virtual_address(
resources[i]->buffer.buf);
+ resources[i]->buffer.bo_size = resources[i]->buffer.buf->size;
}
vidtemplate.height *= array_size;