aboutsummaryrefslogtreecommitdiff
path: root/layers/shader_checker.cpp
diff options
context:
space:
mode:
authorMike Stroyan <mike@LunarG.com>2015-09-10 14:10:25 -0600
committerMike Stroyan <mike@LunarG.com>2015-09-22 09:37:06 -0600
commit98e92ae90aea81530fac9508f06e5beb61bf8b91 (patch)
tree8c1f4f96d5da93fb6ab86861fbb8757f55f9b8d5 /layers/shader_checker.cpp
parent092e33791ce4931ef03c2d22346b96d48819b810 (diff)
downloadusermoji-98e92ae90aea81530fac9508f06e5beb61bf8b91.tar.xz
layers: fix ShaderChecker hang on stage mismatch
validate_interface_between_stages was sometimes iterating past end of maps.
Diffstat (limited to 'layers/shader_checker.cpp')
-rw-r--r--layers/shader_checker.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 5b2076fb..7125fc2b 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -699,7 +699,7 @@ validate_interface_between_stages(VkDevice dev,
auto a_first = a_at_end ? 0 : a_it->first;
auto b_first = b_at_end ? 0 : b_it->first;
- if (b_at_end || a_first < b_first) {
+ if (b_at_end || ((!a_at_end) && (a_first < b_first))) {
log_msg(mdd(dev), VK_DBG_REPORT_WARN_BIT, VK_OBJECT_TYPE_DEVICE, /*dev*/0, 0, SHADER_CHECKER_OUTPUT_NOT_CONSUMED, "SC",
"%s writes to output location %d which is not consumed by %s", producer_name, a_first, consumer_name);
a_it++;