syncval: Guard image access of non-simple bindings

Restore the SimpleBinding() guards for image address access type and
range generator creation.

Change-Id: I779674b022e4a1d056305338285459da85bcdc6b
diff --git a/layers/synchronization_validation.cpp b/layers/synchronization_validation.cpp
index 5b0460d..ab64571 100644
--- a/layers/synchronization_validation.cpp
+++ b/layers/synchronization_validation.cpp
@@ -26,11 +26,15 @@
 #include "synchronization_validation.h"
 #include "sync_utils.h"
 
+static bool SimpleBinding(const BINDABLE &bindable) { return !bindable.sparse && bindable.binding.mem_state; }
+
 const static std::array<AccessAddressType, static_cast<size_t>(AccessAddressType::kTypeCount)> kAddressTypes = {
     AccessAddressType::kLinear, AccessAddressType::kIdealized};
 
 static constexpr AccessAddressType GetAccessAddressType(const BUFFER_STATE &) { return AccessAddressType::kLinear; };
-static AccessAddressType GetAccessAddressType(const IMAGE_STATE &image) { return AccessContext::ImageAddressType(image); }
+static AccessAddressType GetAccessAddressType(const IMAGE_STATE &image) {
+    return SimpleBinding(image) ? AccessContext::ImageAddressType(image) : AccessAddressType::kIdealized;
+}
 
 static const char *string_SyncHazardVUID(SyncHazard hazard) {
     switch (hazard) {
@@ -216,8 +220,6 @@
     return bindable.binding.offset + bindable.binding.mem_state->fake_base_address;
 }
 
-static bool SimpleBinding(const BINDABLE &bindable) { return !bindable.sparse && bindable.binding.mem_state; }
-
 inline VkDeviceSize GetRealWholeSize(VkDeviceSize offset, VkDeviceSize size, VkDeviceSize whole_size) {
     if (size == VK_WHOLE_SIZE) {
         return (whole_size - offset);
@@ -5144,7 +5146,7 @@
         return (range + base_address);
     }
     ImageRange MakeRangeGen(const IMAGE_STATE &image, const SyncImageMemoryBarrier::SubImageRange &range) const {
-        if (!SimpleBinding(image)) subresource_adapter::ImageRangeGenerator();
+        if (!SimpleBinding(image)) return subresource_adapter::ImageRangeGenerator();
 
         const auto base_address = ResourceBaseAddress(image);
         subresource_adapter::ImageRangeGenerator range_gen(*image.fragment_encoder.get(), range.subresource_range, range.offset,