zink: stop passing modifier pointers internally

this is confusing and unnecessary

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31413>
This commit is contained in:
Mike Blumenkrantz 2024-09-23 13:13:18 -04:00 committed by Marge Bot
parent 4bd8daa24c
commit dbfa597544

View file

@ -475,14 +475,14 @@ find_modifier_feats(const struct zink_modifier_props *prop, uint64_t modifier)
/* check HIC optimalness */ /* check HIC optimalness */
static bool static bool
suboptimal_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, uint64_t *mod) suboptimal_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, uint64_t mod)
{ {
usage_fail fail = check_ici(screen, ici, *mod); usage_fail fail = check_ici(screen, ici, mod);
if (!fail) if (!fail)
return true; return true;
if (fail == USAGE_FAIL_SUBOPTIMAL) { if (fail == USAGE_FAIL_SUBOPTIMAL) {
ici->usage &= ~VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT; ici->usage &= ~VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT;
fail = check_ici(screen, ici, *mod); fail = check_ici(screen, ici, mod);
if (!fail) if (!fail)
return true; return true;
ici->usage |= VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT; ici->usage |= VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT;
@ -494,7 +494,7 @@ suboptimal_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, uint64_
* thus also the list of formats we might might mutate to) * thus also the list of formats we might might mutate to)
*/ */
static bool static bool
double_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, VkImageUsageFlags usage, uint64_t *mod) double_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, VkImageUsageFlags usage, uint64_t mod)
{ {
if (!usage) if (!usage)
return false; return false;
@ -503,7 +503,7 @@ double_check_ici(struct zink_screen *screen, VkImageCreateInfo *ici, VkImageUsag
if (suboptimal_check_ici(screen, ici, mod)) if (suboptimal_check_ici(screen, ici, mod))
return true; return true;
usage_fail fail = check_ici(screen, ici, *mod); usage_fail fail = check_ici(screen, ici, mod);
if (!fail) if (!fail)
return true; return true;
const void *pNext = ici->pNext; const void *pNext = ici->pNext;
@ -561,7 +561,7 @@ get_image_usage(struct zink_screen *screen, VkImageCreateInfo *ici, const struct
ici->flags |= VK_IMAGE_CREATE_DISJOINT_BIT; ici->flags |= VK_IMAGE_CREATE_DISJOINT_BIT;
VkImageUsageFlags usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended); VkImageUsageFlags usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended);
assert(!need_extended); assert(!need_extended);
if (double_check_ici(screen, ici, usage, &modifiers[i])) { if (double_check_ici(screen, ici, usage, modifiers[i])) {
if (!found) { if (!found) {
found = true; found = true;
good_mod = modifiers[i]; good_mod = modifiers[i];
@ -584,8 +584,8 @@ get_image_usage(struct zink_screen *screen, VkImageCreateInfo *ici, const struct
ici->flags |= VK_IMAGE_CREATE_DISJOINT_BIT; ici->flags |= VK_IMAGE_CREATE_DISJOINT_BIT;
VkImageUsageFlags usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended); VkImageUsageFlags usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended);
assert(!need_extended); assert(!need_extended);
*mod = DRM_FORMAT_MOD_LINEAR; if (double_check_ici(screen, ici, usage, DRM_FORMAT_MOD_LINEAR)) {
if (double_check_ici(screen, ici, usage, mod)) { *mod = DRM_FORMAT_MOD_LINEAR;
return usage; return usage;
} }
} }
@ -603,17 +603,17 @@ get_image_usage(struct zink_screen *screen, VkImageCreateInfo *ici, const struct
feats = UINT32_MAX; feats = UINT32_MAX;
usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended); usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended);
} }
if (double_check_ici(screen, ici, usage, mod)) if (double_check_ici(screen, ici, usage, DRM_FORMAT_MOD_INVALID))
return usage; return usage;
if (util_format_is_depth_or_stencil(templ->format)) { if (util_format_is_depth_or_stencil(templ->format)) {
if (!(templ->bind & PIPE_BIND_DEPTH_STENCIL)) { if (!(templ->bind & PIPE_BIND_DEPTH_STENCIL)) {
usage &= ~VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; usage &= ~VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
if (double_check_ici(screen, ici, usage, mod)) if (double_check_ici(screen, ici, usage, DRM_FORMAT_MOD_INVALID))
return usage; return usage;
} }
} else if (!(templ->bind & PIPE_BIND_RENDER_TARGET)) { } else if (!(templ->bind & PIPE_BIND_RENDER_TARGET)) {
usage &= ~VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; usage &= ~VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
if (double_check_ici(screen, ici, usage, mod)) if (double_check_ici(screen, ici, usage, DRM_FORMAT_MOD_INVALID))
return usage; return usage;
} }
} }