anv: don't use Element.get in anv_entrypoints_gen.py
[mesa.git] / src / intel / vulkan / anv_image.c
index 59f730c7c6071ad683e194d235838a8e815b75c8..33499abca1a54d6384b57f308481d7d98bdc9ed5 100644 (file)
@@ -190,15 +190,15 @@ make_surface(const struct anv_device *dev,
        */
       if (!(image->usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) {
          /* It will never be used as an attachment, HiZ is pointless. */
-      } else if (!env_var_as_boolean("INTEL_VK_HIZ", dev->info.gen >= 8)) {
-         anv_finishme("Implement gen7 HiZ");
+      } else if (dev->info.gen == 7) {
+         anv_perf_warn("Implement gen7 HiZ");
       } else if (vk_info->mipLevels > 1) {
-         anv_finishme("Test multi-LOD HiZ");
+         anv_perf_warn("Enable multi-LOD HiZ");
       } else if (vk_info->arrayLayers > 1) {
-         anv_finishme("Implement multi-arrayLayer HiZ clears and resolves");
+         anv_perf_warn("Implement multi-arrayLayer HiZ clears and resolves");
       } else if (dev->info.gen == 8 && vk_info->samples > 1) {
-         anv_finishme("Test gen8 multisampled HiZ");
-      } else {
+         anv_perf_warn("Enable gen8 multisampled HiZ");
+      } else if (!unlikely(INTEL_DEBUG & DEBUG_NO_HIZ)) {
          assert(image->aux_surface.isl.size == 0);
          ok = isl_surf_get_hiz_surf(&dev->isl_dev, &image->depth_surface.isl,
                                     &image->aux_surface.isl);
@@ -335,14 +335,15 @@ VkResult anv_BindImageMemory(
    ANV_FROM_HANDLE(anv_device_memory, mem, _memory);
    ANV_FROM_HANDLE(anv_image, image, _image);
 
-   if (mem) {
-      image->bo = &mem->bo;
-      image->offset = memoryOffset;
-   } else {
+   if (mem == NULL) {
       image->bo = NULL;
       image->offset = 0;
+      return VK_SUCCESS;
    }
 
+   image->bo = &mem->bo;
+   image->offset = memoryOffset;
+
    if (image->aux_surface.isl.size > 0) {
 
       /* The offset and size must be a multiple of 4K or else the
@@ -837,8 +838,8 @@ anv_CreateBufferView(VkDevice _device,
    const uint32_t format_bs = isl_format_get_layout(view->format)->bpb / 8;
    view->bo = buffer->bo;
    view->offset = buffer->offset + pCreateInfo->offset;
-   view->range = pCreateInfo->range == VK_WHOLE_SIZE ?
-                 buffer->size - pCreateInfo->offset : pCreateInfo->range;
+   view->range = anv_buffer_get_range(buffer, pCreateInfo->offset,
+                                              pCreateInfo->range);
    view->range = align_down_npot_u32(view->range, format_bs);
 
    if (buffer->usage & VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT) {