[Mesa-dev] [PATCH 10/18] anv/image: Memset all aux surfaces (not just HiZ) to 0

Michael Schellenberger Costa mschellenbergercosta at googlemail.com
Fri Oct 28 09:52:18 UTC 2016


Hi Jason,

the first word of the comment should be auxiliary?

--Michael

Am 28.10.2016 um 11:17 schrieb Jason Ekstrand:
> Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
> ---
>  src/intel/vulkan/anv_image.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
> index 2104901..bdf8bca 100644
> --- a/src/intel/vulkan/anv_image.c
> +++ b/src/intel/vulkan/anv_image.c
> @@ -293,7 +293,7 @@ VkResult anv_BindImageMemory(
>        image->offset = 0;
>     }
>  
> -   if (anv_image_has_hiz(image)) {
> +   if (image->aux_surface.isl.size > 0) {
>  
>        /* The offset and size must be a multiple of 4K or else the
>         * anv_gem_mmap call below will return NULL.
> @@ -301,9 +301,11 @@ VkResult anv_BindImageMemory(
>        assert((image->offset + image->aux_surface.offset) % 4096 == 0);
>        assert(image->aux_surface.isl.size % 4096 == 0);
>  
> -      /* HiZ surfaces need to have their memory cleared to 0 before they
> -       * can be used.  If we let it have garbage data, it can cause GPU
> -       * hangs on some hardware.
> +      /* Ausilizry surfaces need to have their memory cleared to 0 before they
> +       * can be used.  For CCS surfaces, this puts them in the "resolved"
> +       * state so they can be used with CCS enabled before we ever touch it
> +       * from the GPU.  For HiZ, we need something valid or else we may get
> +       * GPU hangs on some hardware and 0 works fine.
>         */
>        void *map = anv_gem_mmap(device, image->bo->gem_handle,
>                                 image->offset + image->aux_surface.offset,
> 


More information about the mesa-dev mailing list