mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
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:
parent
4bd8daa24c
commit
dbfa597544
1 changed files with 11 additions and 11 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue