diff options
author | Marek Olšák <marek.olsak@amd.com> | 2021-03-28 06:17:03 -0400 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-04-06 22:31:15 +0000 |
commit | 712b629abff0ae66aa8fe51e5119f75c4161c7bb (patch) | |
tree | 1f46fae8d749a60f9ae6be26d18f1548283074be /src/gallium/drivers/radeonsi/si_texture.c | |
parent | 3d0a4864ce969a15019aa0f39965a77d22152185 (diff) |
gallium/pb: change pb_buffer::alignment to alignment_log2
Alignments are always 2^n, so store n = log2(alignment). The next commit
will take advantage of the saved space.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9809>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_texture.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_texture.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c index 8a02fd6f071..a301a32272f 100644 --- a/src/gallium/drivers/radeonsi/si_texture.c +++ b/src/gallium/drivers/radeonsi/si_texture.c @@ -1008,7 +1008,7 @@ static struct si_texture *si_texture_create_object(struct pipe_screen *screen, resource->buf = imported_buf; resource->gpu_address = sscreen->ws->buffer_get_virtual_address(resource->buf); resource->bo_size = imported_buf->size; - resource->bo_alignment = imported_buf->alignment; + resource->bo_alignment = 1 << imported_buf->alignment_log2; resource->domains = sscreen->ws->buffer_get_initial_domain(resource->buf); if (resource->domains & RADEON_DOMAIN_VRAM) resource->vram_usage_kb = MAX2(1, resource->bo_size / 1024); @@ -1625,7 +1625,7 @@ static struct pipe_resource *si_texture_from_winsys_buffer(struct si_screen *ssc if (ac_surface_get_plane_offset(sscreen->info.chip_class, &tex->surface, 0, 0) + tex->surface.total_size > buf->size || - buf->alignment < tex->surface.alignment) { + 1 << buf->alignment_log2 < tex->surface.alignment) { si_texture_reference(&tex, NULL); return NULL; } |