anv: Fix dynamic primitive topology for tess on Gfx7.x too

Commit 24342e499b changed how primitive
topology is handled on Gfx8+ but missed updating the Gfx7.x code.

As a result, tests which previously used topologies like PATCHLIST_3
instead started using bogus ones like LINESTRIP_ADJ.  This caused a
GPU hangs in a bunch of Vulkan conformance tests involving tessellation.

This fixes those hangs.

Fixes: 24342e499b ("anv: fix dynamic primitive topology for tess")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11434>
(cherry picked from commit 0510a947ba)
This commit is contained in:
Kenneth Graunke 2021-06-16 15:58:28 -07:00 committed by Eric Engestrom
parent 482e34c78a
commit 46d222c2ab
2 changed files with 2 additions and 2 deletions

View file

@ -706,7 +706,7 @@
"description": "anv: Fix dynamic primitive topology for tess on Gfx7.x too",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "24342e499bc58348b257716f629dccca3c1b0833"
},

View file

@ -338,7 +338,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_TOPOLOGY)) {
uint32_t topology;
if (anv_pipeline_has_stage(pipeline, MESA_SHADER_TESS_EVAL))
topology = d->primitive_topology;
topology = pipeline->topology;
else
topology = genX(vk_to_gen_primitive_type)[d->primitive_topology];