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.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25970>
(cherry picked from commit
bf364cbdb40f044d2a11b6fe5636e8a039fdad81)
"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
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;
}