Add validation for barriers within render passes.

Conflicts:
	layers/draw_state.cpp
diff --git a/layers/draw_state.h b/layers/draw_state.h
index c55acf4..542013c 100755
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -40,7 +40,8 @@
     DRAWSTATE_INVALID_IMAGE_LAYOUT,             // Invalid Image layout
     DRAWSTATE_INVALID_PIPELINE,                 // Invalid Pipeline handle referenced
     DRAWSTATE_INVALID_PIPELINE_CREATE_STATE,    // Attempt to create a pipeline with invalid state
-    DRAWSTATE_INVALID_COMMAND_BUFFER,               // Invalid CommandBuffer referenced
+    DRAWSTATE_INVALID_COMMAND_BUFFER,           // Invalid CommandBuffer referenced
+    DRAWSTATE_INVALID_BARRIER,                  // Invalid Barrier
     DRAWSTATE_VTX_INDEX_OUT_OF_BOUNDS,          // binding in vkCmdBindVertexData() too large for PSO's pVertexBindingDescriptions array
     DRAWSTATE_VTX_INDEX_ALIGNMENT_ERROR,        // binding offset in vkCmdBindIndexBuffer() out of alignment based on indexType
     //DRAWSTATE_MISSING_DOT_PROGRAM,              // No "dot" program in order to generate png image
@@ -150,6 +151,11 @@
     VkImageLayout initialLayout;
 } IMAGE_CMD_BUF_NODE;
 
+typedef struct _RENDER_PASS_NODE {
+    VkRenderPassCreateInfo* createInfo;
+    std::vector<bool> hasSelfDependency;
+} RENDER_PASS_NODE;
+
 // Descriptor Data structures
 // Layout Node has the core layout data
 typedef struct _LAYOUT_NODE {