anv: Invalidate the correct AUX-TT entry
While invalidating the AUX-TT entries, we have to consider the surface offset as well otherwise, we will end up invalidating another surface's CCS portion. For eg. when we have HiZ+CCS and STC_CCS enabled, both will use the CCS portion allocated at the end of BO. While invalidating the CCS portion of stencil buffer, we will end up invalidating the CCS portion that belongs to the depth main surface and vice-versa, if the surface offset is not considered. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4123 Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Acked-by: Nanley Chery <nanley.g.chery@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8677>
This commit is contained in:
@@ -462,8 +462,10 @@ anv_image_init_aux_tt(struct anv_cmd_buffer *cmd_buffer,
|
||||
{
|
||||
uint32_t plane = anv_image_aspect_to_plane(image->aspects, aspect);
|
||||
|
||||
const struct anv_surface *surface = &image->planes[plane].surface;
|
||||
uint64_t base_address =
|
||||
anv_address_physical(image->planes[plane].address);
|
||||
anv_address_physical(anv_address_add(image->planes[plane].address,
|
||||
surface->offset));
|
||||
|
||||
const struct isl_surf *isl_surf = &image->planes[plane].surface.isl;
|
||||
uint64_t format_bits = gen_aux_map_format_bits_for_isl_surf(isl_surf);
|
||||
|
Reference in New Issue
Block a user