From 4c228f00a2b3e0997e858eb6327fe3678ebff31c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 27 Sep 2022 09:54:18 -0400 Subject: [PATCH] zink: don't access prog->shaders array during pipeline compile this may or may not have valid data Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_pipeline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index e15ae75b527..e81d471176d 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -367,7 +367,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen, VkPipelineTessellationStateCreateInfo tci = {0}; VkPipelineTessellationDomainOriginStateCreateInfo tdci = {0}; - if (prog->shaders[MESA_SHADER_TESS_CTRL] && prog->shaders[MESA_SHADER_TESS_EVAL]) { + if (prog->modules[MESA_SHADER_TESS_CTRL] && prog->modules[MESA_SHADER_TESS_EVAL]) { tci.sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; tci.patchControlPoints = state->dyn_state2.vertices_per_patch; pci.pTessellationState = &tci; @@ -717,7 +717,7 @@ zink_create_gfx_pipeline_library(struct zink_screen *screen, struct zink_gfx_pro VkPipelineTessellationStateCreateInfo tci = {0}; VkPipelineTessellationDomainOriginStateCreateInfo tdci = {0}; - if (prog->shaders[MESA_SHADER_TESS_CTRL] && prog->shaders[MESA_SHADER_TESS_EVAL]) { + if (prog->modules[MESA_SHADER_TESS_CTRL] && prog->modules[MESA_SHADER_TESS_EVAL]) { tci.sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; //this is a wild guess; pray for extendedDynamicState2PatchControlPoints if (!screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints) {