anv/gen7: Only try to get the depth format the surface has depth
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 27 Feb 2016 17:26:04 +0000 (09:26 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sat, 27 Feb 2016 19:23:18 +0000 (11:23 -0800)
src/intel/vulkan/gen7_cmd_buffer.c

index 7377487cf7e7e4e4ff53ae03e77d041d58ae6b67..9681f22dc3de6078f52aeeb7c3a140b7f1968b67 100644 (file)
@@ -458,7 +458,10 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
       const struct anv_image_view *iview =
          anv_cmd_buffer_get_depth_stencil_view(cmd_buffer);
       const struct anv_image *image = iview ? iview->image : NULL;
-      const uint32_t depth_format = image ?
+      const struct anv_format *anv_format =
+         iview ? anv_format_for_vk_format(iview->vk_format) : NULL;
+      const bool has_depth = iview && anv_format->has_depth;
+      const uint32_t depth_format = has_depth ?
          isl_surf_get_depth_format(&cmd_buffer->device->isl_dev,
                                    &image->depth_surface.isl) : D16_UNORM;