diff options
| author | Jan-Harald Fredriksen <jan-harald.fredriksen@arm.com> | 2016-06-08 14:20:50 +0200 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2016-06-09 10:39:39 -0600 |
| commit | f99171e3401949aa86e0c0cca31fca3c9b229b5d (patch) | |
| tree | 4b931efdf010a3451d1fba8e36c290b7476cc940 /layers/core_validation.cpp | |
| parent | a2f7158ec4016adbca53bed110654edfb3a4c945 (diff) | |
| download | usermoji-f99171e3401949aa86e0c0cca31fca3c9b229b5d.tar.xz | |
layers: PR629, Remove subpass warnings
The validation layer checks for dependency between subpasses using the
same attachments, but it also issues warnings if there are "only"
implicit dependencies between two subpasses. This is explicitly
allowed by the spec and should not cause validation warnings.
Change-Id: I1039955d6d445e1ee234116c6da2e4dbaf9c7dd9
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 809023af..949276b6 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -8199,15 +8199,10 @@ static bool CheckDependencyExists(const layer_data *my_data, const int subpass, auto prev_elem = std::find(node.prev.begin(), node.prev.end(), dependent_subpasses[k]); auto next_elem = std::find(node.next.begin(), node.next.end(), dependent_subpasses[k]); if (prev_elem == node.prev.end() && next_elem == node.next.end()) { - // If no dependency exits an implicit dependency still might. If so, warn and if not throw an error. + // If no dependency exits an implicit dependency still might. If not, throw an error. std::unordered_set<uint32_t> processed_nodes; - if (FindDependency(subpass, dependent_subpasses[k], subpass_to_node, processed_nodes) || - FindDependency(dependent_subpasses[k], subpass, subpass_to_node, processed_nodes)) { - skip_call |= log_msg(my_data->report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, - __LINE__, DRAWSTATE_INVALID_RENDERPASS, "DS", - "A dependency between subpasses %d and %d must exist but only an implicit one is specified.", - subpass, dependent_subpasses[k]); - } else { + if (!(FindDependency(subpass, dependent_subpasses[k], subpass_to_node, processed_nodes) || + FindDependency(dependent_subpasses[k], subpass, subpass_to_node, processed_nodes))) { skip_call |= log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, DRAWSTATE_INVALID_RENDERPASS, "DS", "A dependency between subpasses %d and %d must exist but one is not specified.", subpass, |
