From 258af3a856328934d30b7cdf626d5fdba76852f2 Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Tue, 21 Feb 2017 18:17:59 -0800 Subject: [PATCH] anv/image: Remove extra dependency on HiZ-specific variable surf_usage is only useful to image views that may use HiZ buffers. Storage image views don't use HiZ buffers. v2: Update commit message and add an assertion. Fixes: 055ff2ec521 ("anv: Replace anv_image_has_hiz() with ISL_AUX_USAGE_HIZ") Signed-off-by: Nanley Chery Reviewed-by: Jason Ekstrand --- src/intel/vulkan/anv_image.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 4791465e48b..0c41ed301d3 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -180,6 +180,11 @@ make_surface(const struct anv_device *dev, /* Add a HiZ surface to a depth buffer that will be used for rendering. */ if (aspect == VK_IMAGE_ASPECT_DEPTH_BIT) { + /* We don't advertise that depth buffers could be used as storage + * images. + */ + assert(!(image->usage & VK_IMAGE_USAGE_STORAGE_BIT)); + /* Allow the user to control HiZ enabling. Disable by default on gen7 * because resolves are not currently implemented pre-BDW. */ @@ -738,7 +743,7 @@ anv_CreateImageView(VkDevice _device, .surf = &surface->isl, .view = &view, .aux_surf = &image->aux_surface.isl, - .aux_usage = surf_usage, + .aux_usage = image->aux_usage, .mocs = device->default_mocs); if (isl_has_matching_typed_storage_image_format(&device->info, @@ -755,7 +760,7 @@ anv_CreateImageView(VkDevice _device, .surf = &surface->isl, .view = &view, .aux_surf = &image->aux_surface.isl, - .aux_usage = surf_usage, + .aux_usage = image->aux_usage, .mocs = device->default_mocs); } else { anv_fill_buffer_surface_state(device, iview->storage_surface_state,