radeonsi: fix VAAPI segfault due to various bugs
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111236
This commit is contained in:

committed by
Marek Olšák

parent
f52afdf672
commit
67d930d64b
@@ -178,6 +178,7 @@ void si_vid_join_surfaces(struct si_context *sctx,
|
||||
surfaces[i]->u.gfx9.offset[j] += off;
|
||||
}
|
||||
|
||||
surfaces[i]->flags |= RADEON_SURF_IMPORTED;
|
||||
off += surfaces[i]->surf_size;
|
||||
}
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user