layers: Plumb OT failure codes through to user

The return values of many OT log_msg() calls were ignored. Enabled
user-control of down-chain calls for these errors.

Change-Id: I3b440b270d429f55608ca506d3b6e1911e9c50ee
diff --git a/scripts/object_tracker_generator.py b/scripts/object_tracker_generator.py
index fa3c5e1..8f9926b 100644
--- a/scripts/object_tracker_generator.py
+++ b/scripts/object_tracker_generator.py
@@ -326,11 +326,13 @@
     # Generate the object tracker undestroyed object validation function
     def GenReportFunc(self):
         output_func = ''
-        output_func += 'void ReportUndestroyedObjects(VkDevice device, const std::string& error_code) {\n'
-        output_func += '    DeviceReportUndestroyedObjects(device, kVulkanObjectTypeCommandBuffer, error_code);\n'
+        output_func += 'bool ReportUndestroyedObjects(VkDevice device, const std::string& error_code) {\n'
+        output_func += '    bool skip = false;\n'
+        output_func += '    skip |= DeviceReportUndestroyedObjects(device, kVulkanObjectTypeCommandBuffer, error_code);\n'
         for handle in self.object_types:
             if self.isHandleTypeNonDispatchable(handle):
-                output_func += '    DeviceReportUndestroyedObjects(device, %s, error_code);\n' % (self.GetVulkanObjType(handle))
+                output_func += '    skip |= DeviceReportUndestroyedObjects(device, %s, error_code);\n' % (self.GetVulkanObjType(handle))
+        output_func += '    return skip;\n'
         output_func += '}\n'
         return output_func