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: 055ff2ec52 ("anv: Replace anv_image_has_hiz() with ISL_AUX_USAGE_HIZ")
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Nanley Chery 2017-02-21 18:17:59 -08:00
parent 54d29ee65f
commit 258af3a856
1 changed files with 7 additions and 2 deletions

View File

@ -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,