From 62b3e75e4c5acd9b776592ff9e3151fe0a9ae079 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 9 Aug 2022 08:51:18 -0400 Subject: [PATCH] zink: use a maybe more accurate wild guess for pcp-less gpl this is only reachable with an env var, so being wrong is still okay, but maybe be right slightly more often Reviewed-by: Samuel Pitoiset Part-of: --- src/gallium/drivers/zink/zink_pipeline.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index c89c0b2dec5..ba3d905c800 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -756,7 +756,12 @@ zink_create_gfx_pipeline_library(struct zink_screen *screen, struct zink_gfx_pro VkPipelineTessellationDomainOriginStateCreateInfo tdci = {0}; if (prog->shaders[MESA_SHADER_TESS_CTRL] && prog->shaders[MESA_SHADER_TESS_EVAL]) { tci.sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; - tci.patchControlPoints = 3; //this is a wild guess; pray for extendedDynamicState2PatchControlPoints + //this is a wild guess; pray for extendedDynamicState2PatchControlPoints + if (!screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints) { + static bool warned = false; + warn_missing_feature(warned, "extendedDynamicState2PatchControlPoints"); + } + tci.patchControlPoints = prog->shaders[MESA_SHADER_TESS_EVAL]->nir->info.tess._primitive_mode == TESS_PRIMITIVE_ISOLINES ? 2 : 3; pci.pTessellationState = &tci; tci.pNext = &tdci; tdci.sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;