vk/image: Remove unneeded data from anv_buffer_view

This completes the FINISHME to trim unneeded data from anv_buffer_view.

A VkExtent3D doesn't make sense for a VkBufferView.
So remove the member anv_surface_view::extent, and push it up to the two
objects that actually need it, anv_image_view and anv_attachment_view.
This commit is contained in:
Chad Versace
2015-07-17 14:48:23 -07:00
parent 194b77d426
commit f70d079854
3 changed files with 16 additions and 17 deletions

View File

@@ -372,7 +372,7 @@ anv_image_view_init(struct anv_image_view *iview,
view->offset = image->offset + surface->offset;
view->format = pCreateInfo->format;
view->extent = (VkExtent3D) {
iview->extent = (VkExtent3D) {
.width = anv_minify(image->extent.width, range->baseMipLevel),
.height = anv_minify(image->extent.height, range->baseMipLevel),
.depth = anv_minify(image->extent.depth, range->baseMipLevel),
@@ -588,7 +588,7 @@ anv_color_attachment_view_init(struct anv_color_attachment_view *aview,
view->offset = image->offset + surface->offset;
view->format = pCreateInfo->format;
view->extent = (VkExtent3D) {
aview->base.extent = (VkExtent3D) {
.width = anv_minify(image->extent.width, pCreateInfo->mipLevel),
.height = anv_minify(image->extent.height, pCreateInfo->mipLevel),
.depth = anv_minify(image->extent.depth, pCreateInfo->mipLevel),

View File

@@ -543,8 +543,8 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
dest_offset.y + dest_extent.height,
},
.tex_coord = {
(float)(src_offset.x + src_extent.width) / (float)src->view.extent.width,
(float)(src_offset.y + src_extent.height) / (float)src->view.extent.height,
(float)(src_offset.x + src_extent.width) / (float)src->extent.width,
(float)(src_offset.y + src_extent.height) / (float)src->extent.height,
},
};
@@ -554,8 +554,8 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
dest_offset.y + dest_extent.height,
},
.tex_coord = {
(float)src_offset.x / (float)src->view.extent.width,
(float)(src_offset.y + src_extent.height) / (float)src->view.extent.height,
(float)src_offset.x / (float)src->extent.width,
(float)(src_offset.y + src_extent.height) / (float)src->extent.height,
},
};
@@ -565,8 +565,8 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
dest_offset.y,
},
.tex_coord = {
(float)src_offset.x / (float)src->view.extent.width,
(float)src_offset.y / (float)src->view.extent.height,
(float)src_offset.x / (float)src->extent.width,
(float)src_offset.y / (float)src->extent.height,
},
};
@@ -622,8 +622,8 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
.layout = VK_IMAGE_LAYOUT_GENERAL
}
},
.width = dest->view.extent.width,
.height = dest->view.extent.height,
.width = dest->base.extent.width,
.height = dest->base.extent.height,
.layers = 1
}, &fb);
@@ -1274,8 +1274,8 @@ void anv_CmdClearColorImage(
.layout = VK_IMAGE_LAYOUT_GENERAL
}
},
.width = view.view.extent.width,
.height = view.view.extent.height,
.width = view.base.extent.width,
.height = view.base.extent.height,
.layers = 1
}, &fb);
@@ -1322,8 +1322,8 @@ void anv_CmdClearColorImage(
.renderArea = {
.offset = { 0, 0, },
.extent = {
.width = view.view.extent.width,
.height = view.view.extent.height,
.width = view.base.extent.width,
.height = view.base.extent.height,
},
},
.renderPass = pass,

View File

@@ -889,17 +889,16 @@ struct anv_surface_view {
struct anv_bo *bo;
uint32_t offset; /**< VkBufferCreateInfo::offset */
uint32_t range; /**< VkBufferCreateInfo::range */
VkExtent3D extent;
VkFormat format; /**< VkBufferCreateInfo::format */
};
struct anv_buffer_view {
/* FINISHME: Trim unneeded data from this struct. */
struct anv_surface_view view;
};
struct anv_image_view {
struct anv_surface_view view;
VkExtent3D extent;
};
enum anv_attachment_view_type {
@@ -909,11 +908,11 @@ enum anv_attachment_view_type {
struct anv_attachment_view {
enum anv_attachment_view_type attachment_type;
VkExtent3D extent;
};
struct anv_color_attachment_view {
struct anv_attachment_view base;
struct anv_surface_view view;
};