Pass fragment shading rate info to pre rasterization shader state

Fragment shading rate info needs to be passed both as part of the
pre-rasterization shader state and as part of the fragment shader state
when creating pipelines, and it needs to be consistent in both cases.

The graphics pipeline library utilities were only passing that
information as part of the fragment shader state.

Affects:
dEQP-VK.fragment_shading_rate.*.misc_tests.*
dEQP-VK.fragment_shading_rate.*.basic.*
dEQP-VK.pipeline.*.mixed_attachment_samples.*
dEQP-VK.*.sample_locations_ext.*
dEQP-VK.pipeline.*.multisample_with_fragment_shading_rate.*

Components: Vulkan
VK-GL-CTS issue: 4006

Change-Id: Idebba54be2fe0a34a68aab1c5c9ba3d07affe47b
diff --git a/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp b/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp
index 3efed78..1a6595e 100644
--- a/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp
+++ b/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp
@@ -303,7 +303,7 @@
 			0u,																// VkPipelineTessellationStateCreateFlags		flags
 			3u																// deUint32										patchControlPoints
 		}
-		, pFragmentShadingRateState		(DE_NULL)
+		, pFragmentShadingRateState		(nullptr)
 		, pDynamicState					(DE_NULL)
 		, useViewportState				(DE_TRUE)
 		, useDefaultRasterizationState	(DE_FALSE)
@@ -526,6 +526,7 @@
 																				   const VkShaderModule								tessellationEvalShaderModule,
 																				   const VkShaderModule								geometryShaderModule,
 																				   const VkSpecializationInfo						*specializationInfo,
+																				   VkPipelineFragmentShadingRateStateCreateInfoKHR*	fragmentShadingRateState,
 																				   PipelineRenderingCreateInfoWrapper				rendering,
 																				   const VkPipelineCache							partPipelineCache,
 																				   PipelineCreationFeedbackCreateInfoWrapper		partCreationFeedback)
@@ -545,6 +546,7 @@
 											 specializationInfo,
 											 specializationInfo,
 											 specializationInfo,
+											 fragmentShadingRateState,
 											 rendering,
 											 partPipelineCache,
 											 partCreationFeedback);
@@ -564,6 +566,7 @@
 																					const VkSpecializationInfo*						tescSpecializationInfo,
 																					const VkSpecializationInfo*						teseSpecializationInfo,
 																					const VkSpecializationInfo*						geomSpecializationInfo,
+																					VkPipelineFragmentShadingRateStateCreateInfoKHR*fragmentShadingRateState,
 																					PipelineRenderingCreateInfoWrapper				rendering,
 																					const VkPipelineCache							partPipelineCache,
 																					PipelineCreationFeedbackCreateInfoWrapper		partCreationFeedback)
@@ -586,6 +589,7 @@
 											 tescSpecializationInfo,
 											 teseSpecializationInfo,
 											 geomSpecializationInfo,
+											 fragmentShadingRateState,
 											 rendering,
 											 partPipelineCache,
 											 partCreationFeedback);
@@ -609,6 +613,7 @@
 																					const VkSpecializationInfo*									tescSpecializationInfo,
 																					const VkSpecializationInfo*									teseSpecializationInfo,
 																					const VkSpecializationInfo*									geomSpecializationInfo,
+																					VkPipelineFragmentShadingRateStateCreateInfoKHR*			fragmentShadingRateState,
 																					PipelineRenderingCreateInfoWrapper							rendering,
 																					const VkPipelineCache										partPipelineCache,
 																					PipelineCreationFeedbackCreateInfoWrapper					partCreationFeedback)
@@ -628,6 +633,7 @@
 	DE_UNREF(geomShaderModuleId);
 
 	m_internalData->setupState |= PSS_PRE_RASTERIZATION_SHADERS;
+	m_internalData->pFragmentShadingRateState = fragmentShadingRateState;
 	m_internalData->pRenderingState.ptr = rendering.ptr;
 
 	const bool hasTesc = (tessellationControlShaderModule != DE_NULL || tescShaderModuleId.ptr);
@@ -761,6 +767,7 @@
 	{
 		auto	libraryCreateInfo	= makeGraphicsPipelineLibraryCreateInfo(VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT);
 		void*	firstStructInChain	= reinterpret_cast<void*>(&libraryCreateInfo);
+		addToChain(&firstStructInChain, m_internalData->pFragmentShadingRateState);
 		addToChain(&firstStructInChain, m_internalData->pRenderingState.ptr);
 		addToChain(&firstStructInChain, partCreationFeedback.ptr);
 
@@ -796,7 +803,6 @@
 																		   const VkShaderModule								fragmentShaderModule,
 																		   const VkPipelineDepthStencilStateCreateInfo*		depthStencilState,
 																		   const VkPipelineMultisampleStateCreateInfo*		multisampleState,
-																		   VkPipelineFragmentShadingRateStateCreateInfoKHR*	fragmentShadingRateState,
 																		   const VkSpecializationInfo*						specializationInfo,
 																		   const VkPipelineCache							partPipelineCache,
 																		   PipelineCreationFeedbackCreateInfoWrapper				partCreationFeedback)
@@ -808,7 +814,6 @@
 									 PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 									 depthStencilState,
 									 multisampleState,
-									 fragmentShadingRateState,
 									 specializationInfo,
 									 partPipelineCache,
 									 partCreationFeedback);
@@ -821,7 +826,6 @@
 																			PipelineShaderStageModuleIdentifierCreateInfoWrapper		fragmentShaderModuleId,
 																			const VkPipelineDepthStencilStateCreateInfo*				depthStencilState,
 																			const VkPipelineMultisampleStateCreateInfo*					multisampleState,
-																			VkPipelineFragmentShadingRateStateCreateInfoKHR*			fragmentShadingRateState,
 																			const VkSpecializationInfo*									specializationInfo,
 																			const VkPipelineCache										partPipelineCache,
 																			PipelineCreationFeedbackCreateInfoWrapper					partCreationFeedback)
@@ -841,7 +845,6 @@
 	DE_UNREF(fragmentShaderModuleId);
 
 	m_internalData->setupState |= PSS_FRAGMENT_SHADER;
-	m_internalData->pFragmentShadingRateState = fragmentShadingRateState;
 
 	const auto pDepthStencilState	= depthStencilState ? depthStencilState
 														: (m_internalData->useDefaultDepthStencilState ? &defaultDepthStencilState : DE_NULL);
diff --git a/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp b/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp
index 9783e7f..ff0d5bc 100644
--- a/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp
+++ b/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp
@@ -59,7 +59,6 @@
 class PointerWrapper
 {
 public:
-
 	PointerWrapper(): ptr(DE_NULL)	{}
 	PointerWrapper(T* p0) : ptr(p0) {}
 	T* ptr;
@@ -69,10 +68,9 @@
 class ConstPointerWrapper
 {
 public:
-
-        ConstPointerWrapper(): ptr(DE_NULL)  {}
+	ConstPointerWrapper(): ptr(DE_NULL)  {}
 	ConstPointerWrapper(const T* p0) : ptr(p0) {}
-        const T* ptr;
+	const T* ptr;
 };
 
 #ifndef CTS_USES_VULKANSC
@@ -166,6 +164,7 @@
 																	 const VkShaderModule								tessellationEvalShaderModule = DE_NULL,
 																	 const VkShaderModule								geometryShaderModule = DE_NULL,
 																	 const VkSpecializationInfo*						specializationInfo = DE_NULL,
+																	 VkPipelineFragmentShadingRateStateCreateInfoKHR*	fragmentShadingRateState = nullptr,
 																	 PipelineRenderingCreateInfoWrapper					rendering = PipelineRenderingCreateInfoWrapper(),
 																	 const VkPipelineCache								partPipelineCache = DE_NULL,
 																	 PipelineCreationFeedbackCreateInfoWrapper			partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
@@ -184,9 +183,10 @@
 																	 const VkSpecializationInfo*						tescSpecializationInfo = nullptr,
 																	 const VkSpecializationInfo*						teseSpecializationInfo = nullptr,
 																	 const VkSpecializationInfo*						geomSpecializationInfo = nullptr,
+																	 VkPipelineFragmentShadingRateStateCreateInfoKHR*	fragmentShadingRateState = nullptr,
 																	 PipelineRenderingCreateInfoWrapper					rendering = PipelineRenderingCreateInfoWrapper(),
 																	 const VkPipelineCache								partPipelineCache = DE_NULL,
-																	 PipelineCreationFeedbackCreateInfoWrapper				partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
+																	 PipelineCreationFeedbackCreateInfoWrapper			partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
 
 	// Note: VkPipelineShaderStageModuleIdentifierCreateInfoEXT::pIdentifier will not be copied. They need to continue to exist outside this wrapper.
 	GraphicsPipelineWrapper&	setupPreRasterizationShaderState3	(const std::vector<VkViewport>&								viewports,
@@ -195,18 +195,19 @@
 																	 const VkRenderPass											renderPass,
 																	 const deUint32												subpass,
 																	 const VkShaderModule										vertexShaderModule,
-																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper			vertShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
+																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper		vertShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 																	 const VkPipelineRasterizationStateCreateInfo*				rasterizationState = nullptr,
 																	 const VkShaderModule										tessellationControlShaderModule = DE_NULL,
-																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper			tescShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
+																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper		tescShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 																	 const VkShaderModule										tessellationEvalShaderModule = DE_NULL,
-																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper			teseShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
+																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper		teseShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 																	 const VkShaderModule										geometryShaderModule = DE_NULL,
-																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper			geomShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
+																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper		geomShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 																	 const VkSpecializationInfo*								vertSpecializationInfo = nullptr,
 																	 const VkSpecializationInfo*								tescSpecializationInfo = nullptr,
 																	 const VkSpecializationInfo*								teseSpecializationInfo = nullptr,
 																	 const VkSpecializationInfo*								geomSpecializationInfo = nullptr,
+																	 VkPipelineFragmentShadingRateStateCreateInfoKHR*			fragmentShadingRateState = nullptr,
 																	 PipelineRenderingCreateInfoWrapper							rendering = PipelineRenderingCreateInfoWrapper(),
 																	 const VkPipelineCache										partPipelineCache = DE_NULL,
 																	 PipelineCreationFeedbackCreateInfoWrapper					partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
@@ -218,7 +219,6 @@
 																	 const VkShaderModule								fragmentShaderModule,
 																	 const VkPipelineDepthStencilStateCreateInfo*		depthStencilState = DE_NULL,
 																	 const VkPipelineMultisampleStateCreateInfo*		multisampleState = DE_NULL,
-																	 VkPipelineFragmentShadingRateStateCreateInfoKHR*	fragmentShadingRateState = DE_NULL,
 																	 const VkSpecializationInfo*						specializationInfo = DE_NULL,
 																	 const VkPipelineCache								partPipelineCache = DE_NULL,
 																	 PipelineCreationFeedbackCreateInfoWrapper			partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
@@ -228,13 +228,12 @@
 																	 const VkRenderPass											renderPass,
 																	 const deUint32												subpass,
 																	 const VkShaderModule										fragmentShaderModule,
-																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper			fragmentShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
+																	 PipelineShaderStageModuleIdentifierCreateInfoWrapper		fragmentShaderModuleId = PipelineShaderStageModuleIdentifierCreateInfoWrapper(),
 																	 const VkPipelineDepthStencilStateCreateInfo*				depthStencilState = nullptr,
 																	 const VkPipelineMultisampleStateCreateInfo*				multisampleState = nullptr,
-																	 VkPipelineFragmentShadingRateStateCreateInfoKHR*			fragmentShadingRateState = nullptr,
 																	 const VkSpecializationInfo*								specializationInfo = nullptr,
 																	 const VkPipelineCache										partPipelineCache = DE_NULL,
-																	 PipelineCreationFeedbackCreateInfoWrapper                      partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
+																	 PipelineCreationFeedbackCreateInfoWrapper					partCreationFeedback = PipelineCreationFeedbackCreateInfoWrapper());
 
 	// Setup fragment output state.
 	GraphicsPipelineWrapper&	setupFragmentOutputState			(const VkRenderPass									renderPass,
diff --git a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp
index 6586d81..601da6e 100644
--- a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp
+++ b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp
@@ -2606,14 +2606,14 @@
 											  DE_NULL,
 											  geomShader,
 											  DE_NULL,
+											  shadingRateState,
 											  dynamicRenderingState)
 			.setupFragmentShaderState(pipelineLayout,
 									  renderPass,
 									  0u,
 									  fragShader,
 									  depthStencilState,
-									  multisampleState,
-									  shadingRateState)
+									  multisampleState)
 			.setupFragmentOutputState(renderPass, 0u, DE_NULL, multisampleState)
 			.setMonolithicPipelineLayout(pipelineLayout)
 			.buildPipeline();
@@ -2657,14 +2657,14 @@
 												  DE_NULL,
 												  geomShader,
 												  DE_NULL,
+												  shadingRateState,
 												  dynamicRenderingState)
 				.setupFragmentShaderState(pipelineLayout,
 										  renderPass,
 										  0u,
 										  fragShader,
 										  depthStencilState,
-										  multisampleState,
-										  shadingRateState)
+										  multisampleState)
 				.setupFragmentOutputState(renderPass, 0u, DE_NULL, multisampleState)
 				.setMonolithicPipelineLayout(pipelineLayout)
 				.buildPipeline();
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp
index 1c6ae06..6390bf3 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp
@@ -653,6 +653,7 @@
 			teseShaderModule,
 			geomShaderModule,
 			DE_NULL,
+			nullptr,
 			PipelineRenderingCreateInfoWrapper(),
 			*m_cache,
 			pipelineCreationFeedbackWrapper[1])
@@ -664,7 +665,6 @@
 			&depthStencilStateParams,
 			DE_NULL,
 			DE_NULL,
-			DE_NULL,
 			*m_cache,
 			pipelineCreationFeedbackWrapper[2])
 	   .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateParams, DE_NULL, *m_cache, pipelineCreationFeedbackWrapper[3])
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMaxVaryingsTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMaxVaryingsTests.cpp
index b4e7686..d91a8d4 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMaxVaryingsTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMaxVaryingsTests.cpp
@@ -1067,7 +1067,7 @@
 													*teseShaderModule,
 													*geomShaderModule,
 													&pSpecInfo)
-					.setupFragmentShaderState(*pipelineLayout, *renderPass, 0u, *fragShaderModule, DE_NULL, DE_NULL, DE_NULL, &pSpecInfo)
+					.setupFragmentShaderState(*pipelineLayout, *renderPass, 0u, *fragShaderModule, DE_NULL, DE_NULL, &pSpecInfo)
 					.setupFragmentOutputState(*renderPass)
 					.setMonolithicPipelineLayout(*pipelineLayout)
 					.buildPipeline();
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleMixedAttachmentSamplesTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleMixedAttachmentSamplesTests.cpp
index 837d18f..ea060ce 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleMixedAttachmentSamplesTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleMixedAttachmentSamplesTests.cpp
@@ -304,14 +304,15 @@
 								pipelineLayout,
 								renderPass,
 								subpassNdx,
-								vertexModule)
+								vertexModule,
+								nullptr, DE_NULL, DE_NULL, DE_NULL, DE_NULL,
+								(useFragmentShadingRate ? &shadingRateStateCreateInfo : nullptr))
 	   .setupFragmentShaderState(pipelineLayout,
 								renderPass,
 								subpassNdx,
 								fragmentModule,
 								&pipelineDepthStencilStateInfo,
-								&pipelineMultisampleStateInfo,
-								(useFragmentShadingRate ? &shadingRateStateCreateInfo : DE_NULL))
+								&pipelineMultisampleStateInfo)
 	   .setupFragmentOutputState(renderPass, subpassNdx, &pipelineColorBlendStateInfo, &pipelineMultisampleStateInfo)
 	   .setMonolithicPipelineLayout(pipelineLayout)
 	   .buildPipeline();
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleSampleLocationsExtTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleSampleLocationsExtTests.cpp
index 9ea2c82..8d8b586 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleSampleLocationsExtTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleSampleLocationsExtTests.cpp
@@ -697,14 +697,15 @@
 								pipelineLayout,
 								renderPass,
 								subpassIndex,
-								vertexModule)
+								vertexModule,
+								nullptr, DE_NULL, DE_NULL, DE_NULL, DE_NULL,
+								(useFragmentShadingRate ? &shadingRateStateCreateInfo : nullptr))
 	   .setupFragmentShaderState(pipelineLayout,
 								renderPass,
 								subpassIndex,
 								fragmentModule,
 								&pipelineDepthStencilStateInfo,
-								&pipelineMultisampleStateInfo,
-								(useFragmentShadingRate ? &shadingRateStateCreateInfo : DE_NULL))
+								&pipelineMultisampleStateInfo)
 	   .setupFragmentOutputState(renderPass, subpassIndex, &colorBlendStateCreateInfoDefault, &pipelineMultisampleStateInfo)
 	   .setMonolithicPipelineLayout(pipelineLayout)
 	   .buildPipeline();
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
index 34fb0b2..68919c7 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
@@ -4158,14 +4158,15 @@
 																			*m_renderPass,
 																			subpassIdx,
 																			*m_vertexShaderModule,
-																			&rasterizationStateCreateInfo)
+																			&rasterizationStateCreateInfo,
+																			DE_NULL, DE_NULL, DE_NULL, DE_NULL,
+																			(m_useFragmentShadingRate ? &shadingRateStateCreateInfo : nullptr))
 										  .setupFragmentShaderState(*m_pipelineLayout,
 																	*m_renderPass,
 																	subpassIdx,
 																	*m_fragmentShaderModule,
 																	&depthStencilStateParams,
-																	&m_multisampleStateParams,
-																	m_useFragmentShadingRate ? &shadingRateStateCreateInfo : DE_NULL)
+																	&m_multisampleStateParams)
 										  .setupFragmentOutputState(*m_renderPass, subpassIdx, &colorBlendStateParams, &m_multisampleStateParams)
 										  .setMonolithicPipelineLayout(*m_pipelineLayout)
 										  .buildPipeline();
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampledRenderToSingleSampledTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampledRenderToSingleSampledTests.cpp
index 8166a56..64200db 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampledRenderToSingleSampledTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampledRenderToSingleSampledTests.cpp
@@ -595,6 +595,7 @@
 											  DE_NULL,
 											  DE_NULL,
 											  DE_NULL,
+											  nullptr,
 											  pipelineRenderingCreateInfo)
 			.setupFragmentShaderState(pipelineLayout,
 									  renderPass,
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp
index abe1f09..bfc5c0d 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp
@@ -922,7 +922,6 @@
 									*fragShader,
 									DE_NULL,
 									DE_NULL,
-									DE_NULL,
 									&specializationInfo)
 					.setupFragmentOutputState(*renderPass, 0u, &colorBlendInfo)
 					.setMonolithicPipelineLayout(*pipelineLayout)
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp
index 99e4692..0c86244 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp
@@ -2210,6 +2210,7 @@
 						tescSpecInfo.get(),
 						teseSpecInfo.get(),
 						geomSpecInfo.get(),
+						nullptr,
 						PipelineRenderingCreateInfoWrapper(),
 						pipelineCache.get())
 					.setupFragmentShaderState(
@@ -2219,7 +2220,6 @@
 						fragModule,
 						&depthStencilState,
 						&multisampleState,
-						nullptr,
 						fragSpecInfo.get(),
 						pipelineCache.get())
 					.setupFragmentOutputState(*renderPass, 0u, &colorBlendState, &multisampleState, pipelineCache.get())
@@ -2295,6 +2295,7 @@
 							tescToRun.getSpecInfo(),
 							teseToRun.getSpecInfo(),
 							geomToRun.getSpecInfo(),
+							nullptr,
 							PipelineRenderingCreateInfoWrapper(),
 							pipelineCache.get())
 						.setupFragmentShaderState2(
@@ -2305,7 +2306,6 @@
 							fragToRun.getModuleIdCreateInfo(),
 							&depthStencilState,
 							&multisampleState,
-							nullptr,
 							fragToRun.getSpecInfo(),
 							pipelineCache.get())
 						.setupFragmentOutputState(*renderPass, 0u, &colorBlendState, &multisampleState, pipelineCache.get())
@@ -3299,6 +3299,7 @@
 							nullptr,
 							nullptr,
 							nullptr,
+							nullptr,
 							PipelineRenderingCreateInfoWrapper(),
 							pipelineCache.get())
 						.setupFragmentShaderState(
@@ -3309,7 +3310,6 @@
 							&depthStencilState,
 							&multisampleState,
 							nullptr,
-							nullptr,
 							pipelineCache.get())
 						.setupFragmentOutputState(
 							*renderPass,
@@ -3373,6 +3373,7 @@
 						nullptr,
 						nullptr,
 						nullptr,
+						nullptr,
 						PipelineRenderingCreateInfoWrapper(),
 						pipelineCache.get())
 					.setupFragmentShaderState2(
@@ -3384,7 +3385,6 @@
 						&depthStencilState,
 						&multisampleState,
 						nullptr,
-						nullptr,
 						pipelineCache.get())
 					.setupFragmentOutputState(
 						*renderPass,
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp
index fad8ca0..cfcc265 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp
@@ -725,7 +725,7 @@
 													  *teseShaderModule,
 													  *geomShaderModule,
 													  pSpecInfo)
-					.setupFragmentShaderState(*pipelineLayout, *renderPass, 0u, *fragShaderModule, DE_NULL, DE_NULL, DE_NULL, pSpecInfo)
+					.setupFragmentShaderState(*pipelineLayout, *renderPass, 0u, *fragShaderModule, DE_NULL, DE_NULL, pSpecInfo)
 					.setupFragmentOutputState(*renderPass)
 					.setMonolithicPipelineLayout(*pipelineLayout)
 					.buildPipeline();