anv: fix R64* vertex buffer format support
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Disabled by mistake :(

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 5c7397c751 ("anv: add mapping for VBO formats in format mapping")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36771>
This commit is contained in:
Lionel Landwerlin 2025-08-14 09:52:13 +03:00 committed by Marge Bot
parent 645f752c60
commit 381cb2cabd
3 changed files with 9 additions and 9 deletions

View file

@ -531,7 +531,8 @@ anv_get_format(const struct anv_physical_device *device, VkFormat vk_format)
const struct anv_format *format =
&anv_formats[ext_number].formats[enum_offset];
if (format->planes[0].isl_format == ISL_FORMAT_UNSUPPORTED)
if (format->planes[0].isl_format == ISL_FORMAT_UNSUPPORTED &&
format->planes[0].vbo_format == ISL_FORMAT_UNSUPPORTED)
return NULL;
/* This format is only available if custom border colors without format is
@ -644,7 +645,8 @@ anv_get_image_format_features2(const struct anv_physical_device *physical_device
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT |
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT)) != 0;
if (anv_format == NULL)
if (anv_format == NULL ||
anv_format->planes[0].isl_format == ISL_FORMAT_UNSUPPORTED)
return 0;
assert((isl_mod_info != NULL) ==

View file

@ -5635,10 +5635,10 @@ anv_get_isl_format(const struct anv_physical_device *device, VkFormat vk_format,
}
static inline enum isl_format
anv_get_vbo_format(const struct anv_physical_device *device, VkFormat vk_format,
VkImageAspectFlags aspect, VkImageTiling tiling)
anv_get_vbo_format(const struct anv_physical_device *device, VkFormat vk_format)
{
return anv_get_format_aspect(device, vk_format, aspect, tiling).vbo_format;
const struct anv_format *format = anv_get_format(device, vk_format);
return format != NULL ? format->planes[0].vbo_format : ISL_FORMAT_UNSUPPORTED;
}
bool anv_format_supports_ccs_e(const struct anv_physical_device *device,

View file

@ -215,10 +215,8 @@ emit_ves_vf_instancing(struct anv_batch *batch,
}
u_foreach_bit(a, vi->attributes_valid) {
enum isl_format format = anv_get_vbo_format(device->physical,
vi->attributes[a].format,
VK_IMAGE_ASPECT_COLOR_BIT,
VK_IMAGE_TILING_LINEAR);
enum isl_format format = anv_get_vbo_format(
device->physical, vi->attributes[a].format);
assume(format < ISL_NUM_FORMATS);
uint32_t binding = vi->attributes[a].binding;