aboutsummaryrefslogtreecommitdiff
path: root/layers/shader_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2017-07-20 11:10:09 -0700
committerChris Forbes <chrisf@ijw.co.nz>2017-07-20 13:11:11 -0700
commitc986282a32d2126239eada5aa8fd6022e39b2e57 (patch)
tree509ed4aee2dbe1851622859ac5578cf1553a8390 /layers/shader_validation.cpp
parent3f0751ae70a905638899b70fb32d93fc1034183f (diff)
downloadusermoji-c986282a32d2126239eada5aa8fd6022e39b2e57.tar.xz
layers: Pass entire pipeline state down to FS output check
Diffstat (limited to 'layers/shader_validation.cpp')
-rw-r--r--layers/shader_validation.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp
index c6697f90..e0500305 100644
--- a/layers/shader_validation.cpp
+++ b/layers/shader_validation.cpp
@@ -768,8 +768,10 @@ static bool validate_vi_against_vs_inputs(debug_report_data const *report_data,
}
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 @@ bool validate_and_capture_pipeline_shader_state(layer_data *dev_data, PIPELINE_S
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;