mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 15:58:05 +02:00
vk/image: Stash more information in images and views
This commit is contained in:
parent
43126388cd
commit
1f7dcf9d75
2 changed files with 13 additions and 3 deletions
|
|
@ -244,6 +244,7 @@ VkResult VKAPI vkCreateImage(
|
|||
image->bo = NULL;
|
||||
image->offset = 0;
|
||||
image->type = pCreateInfo->imageType;
|
||||
image->format = pCreateInfo->format;
|
||||
image->extent = pCreateInfo->extent;
|
||||
|
||||
assert(image->extent.width > 0);
|
||||
|
|
@ -362,6 +363,9 @@ VkResult VKAPI vkCreateImageView(
|
|||
|
||||
view->surface_state = create_surface_state(device, view->image, format);
|
||||
|
||||
/* TODO: Miplevels */
|
||||
view->extent = view->image->extent;
|
||||
|
||||
*pView = (VkImageView) view;
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
|
@ -374,7 +378,6 @@ VkResult VKAPI vkCreateColorAttachmentView(
|
|||
{
|
||||
struct anv_device *device = (struct anv_device *) _device;
|
||||
struct anv_color_attachment_view *view;
|
||||
struct anv_image *image;
|
||||
const struct anv_format *format =
|
||||
anv_format_for_vk_format(pCreateInfo->format);
|
||||
|
||||
|
|
@ -386,9 +389,11 @@ VkResult VKAPI vkCreateColorAttachmentView(
|
|||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
view->image = (struct anv_image *) pCreateInfo->image;
|
||||
image = view->image;
|
||||
|
||||
view->surface_state = create_surface_state(device, image, format);
|
||||
view->surface_state = create_surface_state(device, view->image, format);
|
||||
|
||||
/* TODO: Miplevels */
|
||||
view->extent = view->image->extent;
|
||||
|
||||
*pView = (VkColorAttachmentView) view;
|
||||
|
||||
|
|
|
|||
|
|
@ -610,6 +610,7 @@ anv_format_for_vk_format(VkFormat format);
|
|||
|
||||
struct anv_image {
|
||||
VkImageType type;
|
||||
VkFormat format;
|
||||
VkExtent3D extent;
|
||||
uint32_t tile_mode;
|
||||
VkDeviceSize size;
|
||||
|
|
@ -630,11 +631,15 @@ struct anv_buffer_view {
|
|||
struct anv_color_attachment_view {
|
||||
struct anv_image * image;
|
||||
struct anv_state surface_state;
|
||||
|
||||
VkExtent3D extent;
|
||||
};
|
||||
|
||||
struct anv_image_view {
|
||||
struct anv_image * image;
|
||||
struct anv_state surface_state;
|
||||
|
||||
VkExtent3D extent;
|
||||
};
|
||||
|
||||
struct anv_sampler {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue