panvk: treat provoking vertex as dynamic state

Needed for VK_EXT_provoking_vertex, and makes the fbinfo provoking
vertex requirements easier to follow.

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32273>
This commit is contained in:
Benjamin Lee
2024-11-22 17:08:04 -08:00
committed by Marge Bot
parent c383859a07
commit c324790ca8
2 changed files with 7 additions and 3 deletions

View File

@@ -775,8 +775,9 @@ get_tiler_desc(struct panvk_cmd_buffer *cmdbuf)
cfg.sample_pattern = pan_sample_pattern(fbinfo->nr_samples);
/* TODO: revisit for VK_EXT_provoking_vertex. */
cfg.first_provoking_vertex = true;
cfg.first_provoking_vertex =
cmdbuf->vk.dynamic_graphics_state.rs.provoking_vertex ==
VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT;
/* This will be overloaded. */
cfg.layer_count = 1;

View File

@@ -911,7 +911,10 @@ panvk_emit_tiler_primitive(struct panvk_cmd_buffer *cmdbuf,
if (writes_point_size)
cfg.point_size_array_format = MALI_POINT_SIZE_ARRAY_FORMAT_FP16;
cfg.first_provoking_vertex = true;
cfg.first_provoking_vertex =
cmdbuf->vk.dynamic_graphics_state.rs.provoking_vertex ==
VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT;
if (ia->primitive_restart_enable)
cfg.primitive_restart = MALI_PRIMITIVE_RESTART_IMPLICIT;
cfg.job_task_split = 6;