From 802fabdaa4be7fd1847ec35920663064689a253c Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 17 Nov 2020 23:22:58 -0600 Subject: [PATCH] Revert "anv/image: Define anv_image_get_aux_addr (v3)" This reverts commit 87dc3106b077199b829a082e32ec33d0c6d400ab. Fixes: 87dc3106b077 "anv/image: Define anv_image_get_aux_addr (v3)" Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3826 Part-of: --- src/intel/vulkan/anv_blorp.c | 8 +++----- src/intel/vulkan/anv_image.c | 3 ++- src/intel/vulkan/anv_private.h | 13 ------------- src/intel/vulkan/genX_cmd_buffer.c | 11 +++++------ 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index eab86a0807a..7e6fb39cf7e 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -227,13 +227,11 @@ get_blorp_surf_for_anv_image(const struct anv_device *device, if (aux_usage != ISL_AUX_USAGE_NONE) { const struct anv_surface *aux_surface = &image->planes[plane].aux_surface; - const struct anv_address aux_addr = anv_image_get_aux_addr(device, image, plane); - blorp_surf->aux_surf = &aux_surface->isl, blorp_surf->aux_addr = (struct blorp_address) { - .buffer = aux_addr.bo, - .offset = aux_addr.offset, - .mocs = anv_mocs(device, aux_addr.bo, 0), + .buffer = image->planes[plane].address.bo, + .offset = image->planes[plane].address.offset + aux_surface->offset, + .mocs = anv_mocs(device, image->planes[plane].address.bo, 0), }; blorp_surf->aux_usage = aux_usage; diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 53bc8d1abf5..fcebe0f770f 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1880,7 +1880,8 @@ anv_image_fill_surface_state(struct anv_device *device, struct anv_address aux_address = ANV_NULL_ADDRESS; if (aux_usage != ISL_AUX_USAGE_NONE) { - aux_address = anv_image_get_aux_addr(device, image, plane); + aux_address = anv_address_add(image->planes[plane].address, + aux_surface->offset); } state_inout->aux_address = aux_address; diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index c1b0d5f4d34..f4abf6bfb82 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3894,19 +3894,6 @@ anv_image_aux_layers(const struct anv_image * const image, return MAX2(image->array_size, image->extent.depth >> miplevel); } -static inline struct anv_address -anv_image_get_aux_addr(UNUSED const struct anv_device *device, - const struct anv_image *image, - uint32_t plane) -{ - const struct anv_image_plane *p = &image->planes[plane]; - - if (p->aux_surface.isl.size_B == 0) - return ANV_NULL_ADDRESS; - - return anv_address_add(p->address, p->aux_surface.offset); -} - static inline struct anv_address anv_image_get_clear_color_addr(UNUSED const struct anv_device *device, const struct anv_image *image, diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 7eb901b6418..6fb09bba4d8 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -5087,16 +5087,15 @@ cmd_buffer_emit_depth_stencil(struct anv_cmd_buffer *cmd_buffer) info.hiz_usage = cmd_buffer->state.attachments[ds].aux_usage; if (info.hiz_usage != ISL_AUX_USAGE_NONE) { assert(isl_aux_usage_has_hiz(info.hiz_usage)); - - struct anv_address hiz_addr = - anv_image_get_aux_addr(device, image, depth_plane); - info.hiz_surf = &image->planes[depth_plane].aux_surface.isl; + info.hiz_address = anv_batch_emit_reloc(&cmd_buffer->batch, dw + device->isl_dev.ds.hiz_offset / 4, - hiz_addr.bo, - hiz_addr.offset); + image->planes[depth_plane].address.bo, + image->planes[depth_plane].address.offset + + image->planes[depth_plane].aux_surface.offset); + info.depth_clear_value = ANV_HZ_FC_VAL; } }