zink: fix extended restart prim types without dynamic state2

these are all allowed with the ext

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978>
(cherry picked from commit 8806f444a5)
This commit is contained in:
Mike Blumenkrantz 2022-04-15 12:59:03 -04:00 committed by Dylan Baker
parent 24d6489d0d
commit 81b10bd0dd
2 changed files with 8 additions and 3 deletions

View file

@ -1138,7 +1138,7 @@
"description": "zink: fix extended restart prim types without dynamic state2",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -86,12 +86,17 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
switch (primitive_topology) {
case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
if (screen->info.have_EXT_primitive_topology_list_restart) {
primitive_state.primitiveRestartEnable = state->dyn_state2.primitive_restart ? VK_TRUE : VK_FALSE;
break;
}
FALLTHROUGH;
case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:
if (state->dyn_state2.primitive_restart)
debug_printf("restart_index set with unsupported primitive topology %u\n", primitive_topology);
mesa_loge("zink: restart_index set with unsupported primitive topology %u\n", primitive_topology);
primitive_state.primitiveRestartEnable = VK_FALSE;
break;
default: