layers: Pass entire pipeline state down to FS output check
diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp
index c6697f9..e050030 100644
--- a/layers/shader_validation.cpp
+++ b/layers/shader_validation.cpp
@@ -768,8 +768,10 @@
}
static bool validate_fs_outputs_against_render_pass(debug_report_data const *report_data, shader_module const *fs,
- spirv_inst_iter entrypoint, VkRenderPassCreateInfo const *rpci,
+ spirv_inst_iter entrypoint, PIPELINE_STATE const *pPipeline,
uint32_t subpass_index) {
+ auto rpci = pPipeline->render_pass_ci.ptr();
+
std::map<uint32_t, VkFormat> color_attachments;
auto subpass = rpci->pSubpasses[subpass_index];
for (auto i = 0u; i < subpass.colorAttachmentCount; ++i) {
@@ -1495,7 +1497,7 @@
if (shaders[fragment_stage] && shaders[fragment_stage]->has_valid_spirv) {
skip |= validate_fs_outputs_against_render_pass(report_data, shaders[fragment_stage], entrypoints[fragment_stage],
- pPipeline->render_pass_ci.ptr(), pCreateInfo->subpass);
+ pPipeline, pCreateInfo->subpass);
}
return skip;