tu: Ignore pTessellationState if there is no tesselation shaders
According to the spec:
"pTessellationState [...] is ignored if the pipeline does not
include a tessellation control shader stage and tessellation
evaluation shader stage."
Fixes crash in RenderDoc when inspecting draw call with
geometry shader but without tesselation shaders.
Fixes: eefdca2e
"turnip: Parse tess state and support PATCH primtype"
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8140>
This commit is contained in:
parent
4d47b22bf0
commit
6aec3c9a23
|
@ -2431,12 +2431,13 @@ static void
|
|||
tu_pipeline_builder_parse_tessellation(struct tu_pipeline_builder *builder,
|
||||
struct tu_pipeline *pipeline)
|
||||
{
|
||||
if (!(pipeline->active_stages & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
|
||||
!(pipeline->active_stages & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT))
|
||||
return;
|
||||
|
||||
const VkPipelineTessellationStateCreateInfo *tess_info =
|
||||
builder->create_info->pTessellationState;
|
||||
|
||||
if (!tess_info)
|
||||
return;
|
||||
|
||||
assert(!(pipeline->dynamic_state_mask & BIT(TU_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY)));
|
||||
|
||||
assert(pipeline->ia.primtype == DI_PT_PATCHES0);
|
||||
|
|
Loading…
Reference in New Issue