[Mesa-dev] [RFC PATCH 13/13] RFC: anv: Drop unneeded struct anv_image_create_info
Chad Versace
chadversary at chromium.org
Mon Mar 6 20:40:22 UTC 2017
Now that anv_image_create() is gone, there is no need for struct
anv_image_create_info. The struct just adds an unused layer of
indirection.
---
src/intel/vulkan/anv_image.c | 38 +++++++++++---------------------------
src/intel/vulkan/anv_private.h | 9 ---------
2 files changed, 11 insertions(+), 36 deletions(-)
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 998b0b43391..e5e93f702f6 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -106,7 +106,7 @@ get_surface(struct anv_image *image, VkImageAspectFlags aspect)
}
static isl_tiling_flags_t
-choose_isl_tiling_flags(const struct anv_image_create_info *anv_info,
+choose_isl_tiling_flags(const VkImageCreateInfo *base_info,
const VkImportImageDmaBufInfoMESAX *import_dma_buf_info,
const VkExportImageDmaBufInfoMESAX *export_dma_buf_info)
{
@@ -122,15 +122,12 @@ choose_isl_tiling_flags(const struct anv_image_create_info *anv_info,
uint64_t mod = export_dma_buf_info->pDrmFormatModifiers[i];
flags |= 1 << isl_tiling_from_drm_format_mod(mod);
}
- } else if (anv_info->vk_info->tiling == VK_IMAGE_TILING_LINEAR) {
+ } else if (base_info->tiling == VK_IMAGE_TILING_LINEAR) {
flags = ISL_TILING_LINEAR_BIT;
} else {
flags = ISL_TILING_ANY_MASK;
}
- if (anv_info->isl_tiling_flags)
- flags &= anv_info->isl_tiling_flags;
-
assert(flags != 0);
return flags;
@@ -158,22 +155,6 @@ choose_isl_format(const struct anv_device *dev,
}
}
-static uint32_t
-choose_row_pitch(const struct anv_image_create_info *anv_info,
- const VkImportImageDmaBufPlaneInfoMESAX *plane_info)
-{
- if (anv_info->stride != 0)
- return anv_info->stride;
-
- if (plane_info) {
- assert(plane_info->rowPitch > 0);
- return plane_info->rowPitch;
- }
-
- /* Let isl choose the pitch. */
- return 0;
-}
-
static void
set_min_surface_offset(const struct anv_image *image, struct anv_surface *surf)
{
@@ -318,14 +299,13 @@ make_aux_surface_maybe(const struct anv_device *dev,
*/
static void
make_main_surface(const struct anv_device *dev,
- const struct anv_image_create_info *anv_info,
+ const VkImageCreateInfo *base_info,
const VkImportImageDmaBufInfoMESAX *import_dma_buf_info,
const VkExportImageDmaBufInfoMESAX *export_dma_buf_info,
VkImageAspectFlags aspect,
VkExternalMemoryHandleTypeFlagsKHX handle_types,
struct anv_image *image)
{
- const VkImageCreateInfo *base_info = anv_info->vk_info;
bool ok UNUSED;
static const enum isl_surf_dim vk_to_isl_surf_dim[] = {
@@ -339,8 +319,13 @@ make_main_surface(const struct anv_device *dev,
plane_info = &import_dma_buf_info->pPlanes[0];
const isl_tiling_flags_t tiling_flags =
- choose_isl_tiling_flags(anv_info, import_dma_buf_info, export_dma_buf_info);
- const uint32_t row_pitch = choose_row_pitch(anv_info, plane_info);
+ choose_isl_tiling_flags(base_info, import_dma_buf_info, export_dma_buf_info);
+
+ uint32_t row_pitch = 0;
+ if (plane_info) {
+ assert(plane_info->rowPitch > 0);
+ row_pitch = plane_info->rowPitch;
+ }
struct anv_surface *anv_surf = get_surface(image, aspect);
@@ -386,7 +371,6 @@ anv_CreateImage(VkDevice _device,
VkImage *pImage)
{
ANV_FROM_HANDLE(anv_device, device, _device);
- const struct anv_image_create_info anv_info = { .vk_info = base_info };
const VkImportImageDmaBufInfoMESAX *import_dma_buf_info = NULL;
const VkExportImageDmaBufInfoMESAX *export_dma_buf_info = NULL;
VkExternalMemoryHandleTypeFlagsKHX handle_types = 0;
@@ -444,7 +428,7 @@ anv_CreateImage(VkDevice _device,
uint32_t b;
for_each_bit(b, image->aspects) {
VkImageAspectFlagBits aspect = 1 << b;
- make_main_surface(device, &anv_info, import_dma_buf_info,
+ make_main_surface(device, base_info, import_dma_buf_info,
export_dma_buf_info, aspect, handle_types, image);
make_aux_surface_maybe(device, base_info, aspect, handle_types, image);
}
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 2f62ec50c5b..a5dd0f72de1 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1860,15 +1860,6 @@ struct anv_image_view {
struct brw_image_param storage_image_param;
};
-struct anv_image_create_info {
- const VkImageCreateInfo *vk_info;
-
- /** An opt-in bitmask which filters an ISL-mapping of the Vulkan tiling. */
- isl_tiling_flags_t isl_tiling_flags;
-
- uint32_t stride;
-};
-
const struct anv_surface *
anv_image_get_surface_for_aspect_mask(const struct anv_image *image,
VkImageAspectFlags aspect_mask);
--
2.12.0
More information about the mesa-dev
mailing list