layers: Verify that src of copy update is updated

Before verifying source update comments make sure that the source
descriptors have been updated. This guards against some obscure
corner cases where a bad source descriptor could slip through the
content verification.
diff --git a/layers/descriptor_sets.cpp b/layers/descriptor_sets.cpp
index 2955a6a..d178a91 100644
--- a/layers/descriptor_sets.cpp
+++ b/layers/descriptor_sets.cpp
@@ -543,7 +543,17 @@
                                              set_, error))) {
         return false;
     }
-    // Update parameters all look good so verify update contents
+    // First make sure source descriptors are updated
+    for (uint32_t i = 0; i < update->descriptorCount; ++i) {
+        if (!src_set->descriptors_[src_start_idx + i]) {
+            std::stringstream error_str;
+            error_str << "Attempting copy update from descriptorSet " << src_set << " binding #" << update->srcBinding << " but descriptor at array offset "
+                      << update->srcArrayElement + i << " has not been updated.";
+            *error = error_str.str();
+            return false;
+        }
+    }
+    // Update parameters all look good and descriptor updated so verify update contents
     if (!VerifyCopyUpdateContents(update, src_set, src_start_idx, error))
         return false;