mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 13:30:12 +01:00
radeon/video: don't use sub-allocated buffers
Cc: Christian König <christian.koenig@amd.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97976 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97969 Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
1d466b9b04
commit
13cb41f666
2 changed files with 10 additions and 1 deletions
|
|
@ -531,6 +531,9 @@ struct pipe_resource *r600_buffer_create(struct pipe_screen *screen,
|
||||||
|
|
||||||
r600_init_resource_fields(rscreen, rbuffer, templ->width0, alignment);
|
r600_init_resource_fields(rscreen, rbuffer, templ->width0, alignment);
|
||||||
|
|
||||||
|
if (templ->bind & PIPE_BIND_SHARED)
|
||||||
|
rbuffer->flags |= RADEON_FLAG_HANDLE;
|
||||||
|
|
||||||
if (!r600_alloc_resource(rscreen, rbuffer)) {
|
if (!r600_alloc_resource(rscreen, rbuffer)) {
|
||||||
FREE(rbuffer);
|
FREE(rbuffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,14 @@ bool rvid_create_buffer(struct pipe_screen *screen, struct rvid_buffer *buffer,
|
||||||
{
|
{
|
||||||
memset(buffer, 0, sizeof(*buffer));
|
memset(buffer, 0, sizeof(*buffer));
|
||||||
buffer->usage = usage;
|
buffer->usage = usage;
|
||||||
|
|
||||||
|
/* Hardware buffer placement restrictions require the kernel to be
|
||||||
|
* able to move buffers around individually, so request a
|
||||||
|
* non-sub-allocated buffer.
|
||||||
|
*/
|
||||||
buffer->res = (struct r600_resource *)
|
buffer->res = (struct r600_resource *)
|
||||||
pipe_buffer_create(screen, PIPE_BIND_CUSTOM, usage, size);
|
pipe_buffer_create(screen, PIPE_BIND_CUSTOM | PIPE_BIND_SHARED,
|
||||||
|
usage, size);
|
||||||
|
|
||||||
return buffer->res != NULL;
|
return buffer->res != NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue