radeonsi: Fix offset for linear surfaces on GFX < 9
Fixes: 86262b6eac
("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>
This commit is contained in:
@@ -638,7 +638,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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user