st/mesa: initialize affected_states and uniform storage earlier in deserialize
[mesa.git] / src / intel / vulkan / anv_intel.c
index ed1bc096c661b6d1a1c1d95369a7401d5987c3a7..1b6fd32b00dee0106b07fe69b80b872ee6262ae4 100644 (file)
@@ -53,34 +53,28 @@ VkResult anv_CreateDmaBufImageINTEL(
       &(struct anv_image_create_info) {
          .isl_tiling_flags = ISL_TILING_X_BIT,
          .stride = pCreateInfo->strideInBytes,
-         .vk_info =
-      &(VkImageCreateInfo) {
-         .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
-         .imageType = VK_IMAGE_TYPE_2D,
-         .format = pCreateInfo->format,
-         .extent = pCreateInfo->extent,
-         .mipLevels = 1,
-         .arrayLayers = 1,
-         .samples = 1,
-         /* FIXME: Need a way to use X tiling to allow scanout */
-         .tiling = VK_IMAGE_TILING_OPTIMAL,
-         .usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-         .flags = 0,
-      }},
-      pAllocator, &image_h);
+         .vk_info = &(VkImageCreateInfo) {
+            .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
+            .imageType = VK_IMAGE_TYPE_2D,
+            .format = pCreateInfo->format,
+            .extent = pCreateInfo->extent,
+            .mipLevels = 1,
+            .arrayLayers = 1,
+            .samples = 1,
+            /* FIXME: Need a way to use X tiling to allow scanout */
+            .tiling = VK_IMAGE_TILING_OPTIMAL,
+            .usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
+            .flags = 0,
+         }
+      }, pAllocator, &image_h);
    if (result != VK_SUCCESS)
       goto fail;
 
    image = anv_image_from_handle(image_h);
 
-   uint64_t bo_flags = ANV_BO_EXTERNAL;
-   if (device->instance->physicalDevice.supports_48bit_addresses)
-      bo_flags |= EXEC_OBJECT_SUPPORTS_48B_ADDRESS;
-   if (device->instance->physicalDevice.use_softpin)
-      bo_flags |= EXEC_OBJECT_PINNED;
-
-   result = anv_bo_cache_import(device, &device->bo_cache,
-                                pCreateInfo->fd, bo_flags, &mem->bo);
+   result = anv_device_import_bo(device, pCreateInfo->fd,
+                                 ANV_BO_ALLOC_IMPLICIT_SYNC,
+                                 &mem->bo);
    if (result != VK_SUCCESS)
       goto fail_import;
 
@@ -88,11 +82,11 @@ VkResult anv_CreateDmaBufImageINTEL(
 
    if (mem->bo->size < aligned_image_size) {
       result = vk_errorf(device->instance, device,
-                         VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
+                         VK_ERROR_INVALID_EXTERNAL_HANDLE,
                          "dma-buf too small for image in "
-                         "vkCreateDmaBufImageINTEL: %"PRIu64"B < "PRIu64"B",
+                         "vkCreateDmaBufImageINTEL: %"PRIu64"B < %"PRIu64"B",
                          mem->bo->size, aligned_image_size);
-      anv_bo_cache_release(device, &device->bo_cache, mem->bo);
+      anv_device_release_bo(device, mem->bo);
       goto fail_import;
    }