Module: Mesa Branch: staging/23.3 Commit: f103f773b69c2acc95964d679ab79bc169493755 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f103f773b69c2acc95964d679ab79bc169493755
Author: David Rosca <now...@gmail.com> Date: Tue Oct 31 10:13:52 2023 +0100 radeonsi: Fix offset for linear surfaces on GFX < 9 Fixes: 86262b6eac0 ("radeonsi,radv: fix usages of surf_pitch") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9949 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10073 Reviewed-by: Marek Olšák <marek.ol...@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25970> (cherry picked from commit bf364cbdb40f044d2a11b6fe5636e8a039fdad81) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/si_texture.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 8429aa363e3..28a61b306e9 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -64,7 +64,7 @@ "description": "radeonsi: Fix offset for linear surfaces on GFX < 9", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "86262b6eac0c232f4b3085cfc86cff9b7de7d11b", "notes": null diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c index 16948db41a7..6003b71f40f 100644 --- a/src/gallium/drivers/radeonsi/si_texture.c +++ b/src/gallium/drivers/radeonsi/si_texture.c @@ -640,7 +640,9 @@ static bool si_resource_get_param(struct pipe_screen *screen, struct pipe_contex if (resource->target == PIPE_BUFFER) { *value = 0; } else { - uint64_t level_offset = tex->surface.is_linear ? tex->surface.u.gfx9.offset[level] : 0; + uint64_t level_offset = 0; + if (sscreen->info.gfx_level >= GFX9 && tex->surface.is_linear) + level_offset = tex->surface.u.gfx9.offset[level]; *value = ac_surface_get_plane_offset(sscreen->info.gfx_level, &tex->surface, plane, layer) + level_offset; }