aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 80e05490..3cda6489 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -2801,8 +2801,16 @@ static bool validate_pipeline_shader_stage(debug_report_data *report_data,
pass = false;
}
}
-
- /* TODO: type match, etc */
+ else if (get_format_type(rpci->pAttachments[index].format) !=
+ get_fundamental_type(module, use.second.type_id)) {
+ if (log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VkDebugReportObjectTypeEXT(0), 0, __LINE__,
+ SHADER_CHECKER_INPUT_ATTACHMENT_TYPE_MISMATCH, "SC",
+ "Subpass input attachment %u format of %s does not match type used in shader `%s`",
+ use.first, string_VkFormat(rpci->pAttachments[index].format),
+ describe_type(module, use.second.type_id).c_str())) {
+ pass = false;
+ }
+ }
}
}