layers: MR103, Improve image dependency validation

Remove duplicate dag creation and make sure image is valid if read first
in a subpass dag.
diff --git a/layers/mem_tracker.h b/layers/mem_tracker.h
index 1bf6ce5..d153115 100644
--- a/layers/mem_tracker.h
+++ b/layers/mem_tracker.h
@@ -25,6 +25,7 @@
  */
 #pragma once
 #include <vector>
+#include <unordered_map>
 #include "vulkan/vk_layer.h"
 #include "vulkan/vk_ext_debug_report.h"
 
@@ -161,13 +162,15 @@
 };
 
 struct MT_PASS_ATTACHMENT_INFO {
+   uint32_t attachment;
    VkAttachmentLoadOp load_op; 
-   VkAttachmentStoreOp store_op; 
+   VkAttachmentStoreOp store_op;
 };
 
 struct MT_PASS_INFO {
     VkFramebuffer fb;
     std::vector<MT_PASS_ATTACHMENT_INFO> attachments;
+    std::unordered_map<uint32_t, bool> attachment_first_read;
 };
 
 // Associate fenceId with a fence object