void
radv_image_view_init(struct radv_image_view *iview,
struct radv_device *device,
- const VkImageViewCreateInfo* pCreateInfo)
+ const VkImageViewCreateInfo* pCreateInfo,
+ const struct radv_image_view_extra_create_info* extra_create_info)
{
RADV_FROM_HANDLE(radv_image, image, pCreateInfo->image);
const VkImageSubresourceRange *range = &pCreateInfo->subresourceRange;
if (view == NULL)
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
- radv_image_view_init(view, device, pCreateInfo);
+ radv_image_view_init(view, device, pCreateInfo, NULL);
*pView = radv_image_view_to_handle(view);
.baseArrayLayer = dest_array_slice,
.layerCount = 1
},
- });
+ }, NULL);
radv_image_view_init(&src_iview, cmd_buffer->device,
&(VkImageViewCreateInfo) {
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
.baseArrayLayer = src_array_slice,
.layerCount = 1
},
- });
+ }, NULL);
meta_emit_blit(cmd_buffer,
src_image, &src_iview, srcImageLayout,
src_offset_0, src_offset_1,
.baseArrayLayer = surf->layer,
.layerCount = 1
},
- });
+ }, NULL);
}
static void
.baseArrayLayer = surf->layer,
.layerCount = 1
},
- });
+ }, NULL);
}
static void
.baseArrayLayer = range->baseArrayLayer + layer,
.layerCount = 1
},
- });
+ }, NULL);
VkFramebuffer fb;
radv_CreateFramebuffer(device_h,
.baseArrayLayer = range->baseArrayLayer,
.layerCount = range->layerCount,
},
- });
+ }, NULL);
VkClearRect clear_rect = {
.rect = {
.baseArrayLayer = subresourceRange->baseArrayLayer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
VkFramebuffer fb_h;
.baseArrayLayer = range->baseArrayLayer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
VkFramebuffer fb_h;
radv_CreateFramebuffer(radv_device_to_handle(device),
.baseArrayLayer = subresourceRange->baseArrayLayer + s,
.layerCount = 1
},
- });
+ }, NULL);
radv_meta_push_descriptor_set(cmd_buffer,
VK_PIPELINE_BIND_POINT_COMPUTE,
.baseArrayLayer = subresourceRange->baseArrayLayer + l,
.layerCount = 1,
},
- });
+ }, NULL);
radv_meta_push_descriptor_set(cmd_buffer,
VK_PIPELINE_BIND_POINT_COMPUTE,
.baseArrayLayer = src_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
struct radv_image_view dest_iview;
radv_image_view_init(&dest_iview, cmd_buffer->device,
.baseArrayLayer = dest_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
VkFramebuffer fb_h;
radv_CreateFramebuffer(device_h,
.baseArrayLayer = src_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
struct radv_image_view dest_iview;
radv_image_view_init(&dest_iview, cmd_buffer->device,
.baseArrayLayer = dest_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
emit_resolve(cmd_buffer,
&src_iview,
.baseArrayLayer = src_iview->base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
struct radv_image_view tdst_iview;
radv_image_view_init(&tdst_iview, cmd_buffer->device,
.baseArrayLayer = dst_iview->base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
emit_depth_stencil_resolve(cmd_buffer, &tsrc_iview, &tdst_iview,
&(VkOffset2D) { 0, 0 },
.baseArrayLayer = src_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
struct radv_image_view dest_iview;
radv_image_view_init(&dest_iview, cmd_buffer->device,
.baseArrayLayer = dest_base_layer + layer,
.layerCount = 1,
},
- });
+ }, NULL);
VkFramebuffer fb;
.baseArrayLayer = 0,
.layerCount = 1,
},
- });
+ }, NULL);
emit_depth_stencil_resolve(cmd_buffer, &tsrc_iview, dst_iview,
&(VkOffset2D) { 0, 0 },
const VkAllocationCallbacks *alloc,
VkImage *out_image_h);
+struct radv_image_view_extra_create_info {
+};
+
void radv_image_view_init(struct radv_image_view *view,
struct radv_device *device,
- const VkImageViewCreateInfo* pCreateInfo);
+ const VkImageViewCreateInfo *pCreateInfo,
+ const struct radv_image_view_extra_create_info* extra_create_info);
VkFormat radv_get_aspect_format(struct radv_image *image, VkImageAspectFlags mask);