Update DEBUG_REPORT extension and callback for v170.2

Change-Id: Ica7bb0fb738804c48f165409882086d0300bc294
(cherry picked from commit 647626135721fc28d36364031f04a1541719fb5e)
diff --git a/vulkan/include/vulkan/vk_debug_report_lunarg.h b/vulkan/include/vulkan/vk_debug_report_lunarg.h
index 8ff5654..23bb63c 100644
--- a/vulkan/include/vulkan/vk_debug_report_lunarg.h
+++ b/vulkan/include/vulkan/vk_debug_report_lunarg.h
@@ -32,13 +32,14 @@
 #ifndef __VK_DEBUG_REPORT_LUNARG_H__
 #define __VK_DEBUG_REPORT_LUNARG_H__
 
-#include <vulkan/vulkan.h>
+#include "vulkan.h"
 
 #define VK_DEBUG_REPORT_EXTENSION_NUMBER 5
 #define VK_DEBUG_REPORT_EXTENSION_REVISION 1
 #ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
+extern "C"
+{
+#endif // __cplusplus
 
 /*
 ***************************************************************************************************
@@ -65,25 +66,18 @@
     VK_OBJECT_TYPE_DESCRIPTOR_SET = 17,
     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 18,
     VK_OBJECT_TYPE_DESCRIPTOR_POOL = 19,
-    VK_OBJECT_TYPE_DYNAMIC_VIEWPORT_STATE = 20,
-    VK_OBJECT_TYPE_DYNAMIC_LINE_WIDTH_STATE = 21,
-    VK_OBJECT_TYPE_DYNAMIC_DEPTH_BIAS_STATE = 22,
-    VK_OBJECT_TYPE_DYNAMIC_BLEND_STATE = 23,
-    VK_OBJECT_TYPE_DYNAMIC_DEPTH_BOUNDS_STATE = 24,
-    VK_OBJECT_TYPE_DYNAMIC_STENCIL_STATE = 25,
-    VK_OBJECT_TYPE_FENCE = 26,
-    VK_OBJECT_TYPE_SEMAPHORE = 27,
-    VK_OBJECT_TYPE_EVENT = 28,
-    VK_OBJECT_TYPE_QUERY_POOL = 29,
-    VK_OBJECT_TYPE_FRAMEBUFFER = 30,
-    VK_OBJECT_TYPE_RENDER_PASS = 31,
-    VK_OBJECT_TYPE_PIPELINE_CACHE = 32,
-    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 33,
-    VK_OBJECT_TYPE_CMD_POOL = 34,
+    VK_OBJECT_TYPE_FENCE = 20,
+    VK_OBJECT_TYPE_SEMAPHORE = 21,
+    VK_OBJECT_TYPE_EVENT = 22,
+    VK_OBJECT_TYPE_QUERY_POOL = 23,
+    VK_OBJECT_TYPE_FRAMEBUFFER = 24,
+    VK_OBJECT_TYPE_RENDER_PASS = 25,
+    VK_OBJECT_TYPE_PIPELINE_CACHE = 26,
+    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 27,
+    VK_OBJECT_TYPE_CMD_POOL = 28,
     VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_INSTANCE,
     VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_CMD_POOL,
-    VK_OBJECT_TYPE_NUM =
-        (VK_OBJECT_TYPE_CMD_POOL - VK_OBJECT_TYPE_INSTANCE + 1),
+    VK_OBJECT_TYPE_NUM = (VK_OBJECT_TYPE_CMD_POOL - VK_OBJECT_TYPE_INSTANCE + 1),
     VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkDbgObjectType;
 
@@ -94,95 +88,95 @@
 // ------------------------------------------------------------------------------------------------
 // Enumerations
 
-typedef enum VkDbgReportFlags_ {
-    VK_DBG_REPORT_INFO_BIT = 0x0001,
-    VK_DBG_REPORT_WARN_BIT = 0x0002,
-    VK_DBG_REPORT_PERF_WARN_BIT = 0x0004,
-    VK_DBG_REPORT_ERROR_BIT = 0x0008,
-    VK_DBG_REPORT_DEBUG_BIT = 0x0010,
+typedef enum VkDbgReportFlags_
+{
+    VK_DBG_REPORT_INFO_BIT       = 0x0001,
+    VK_DBG_REPORT_WARN_BIT       = 0x0002,
+    VK_DBG_REPORT_PERF_WARN_BIT  = 0x0004,
+    VK_DBG_REPORT_ERROR_BIT      = 0x0008,
+    VK_DBG_REPORT_DEBUG_BIT      = 0x0010,
 } VkDbgReportFlags;
 
 // Debug Report ERROR codes
-typedef enum _DEBUG_REPORT_ERROR {
-    DEBUG_REPORT_NONE,          // Used for INFO & other non-error messages
-    DEBUG_REPORT_CALLBACK_REF,  // Callbacks were not destroyed prior to calling
-                                // DestroyInstance
+typedef enum _DEBUG_REPORT_ERROR
+{
+    DEBUG_REPORT_NONE,                  // Used for INFO & other non-error messages
+    DEBUG_REPORT_CALLBACK_REF,          // Callbacks were not destroyed prior to calling DestroyInstance
 } DEBUG_REPORT_ERROR;
 
-#define VK_DEBUG_REPORT_ENUM_EXTEND(type, id) \
-    ((type)(VK_DEBUG_REPORT_EXTENSION_NUMBER * -1000 + (id)))
+#define VK_DEBUG_REPORT_ENUM_EXTEND(type, id)    ((type)(VK_DEBUG_REPORT_EXTENSION_NUMBER * -1000 + (id)))
 
-#define VK_OBJECT_TYPE_MSG_CALLBACK \
-    VK_DEBUG_REPORT_ENUM_EXTEND(VkDbgObjectType, 0)
+#define VK_OBJECT_TYPE_MSG_CALLBACK VK_DEBUG_REPORT_ENUM_EXTEND(VkDbgObjectType, 0)
+#define VK_ERROR_VALIDATION_FAILED VK_DEBUG_REPORT_ENUM_EXTEND(VkResult, 0)
+
 // ------------------------------------------------------------------------------------------------
 // Vulkan function pointers
 
-typedef void (*PFN_vkDbgMsgCallback)(VkFlags msgFlags,
-                                     VkDbgObjectType objType,
-                                     uint64_t srcObject,
-                                     size_t location,
-                                     int32_t msgCode,
-                                     const char* pLayerPrefix,
-                                     const char* pMsg,
-                                     void* pUserData);
+typedef VkBool32 (*PFN_vkDbgMsgCallback)(
+    VkFlags                             msgFlags,
+    VkDbgObjectType                     objType,
+    uint64_t                            srcObject,
+    size_t                              location,
+    int32_t                             msgCode,
+    const char*                         pLayerPrefix,
+    const char*                         pMsg,
+    void*                               pUserData);
 
 // ------------------------------------------------------------------------------------------------
 // API functions
 
-typedef VkResult(VKAPI* PFN_vkDbgCreateMsgCallback)(
-    VkInstance instance,
-    VkFlags msgFlags,
-    const PFN_vkDbgMsgCallback pfnMsgCallback,
-    void* pUserData,
-    VkDbgMsgCallback* pMsgCallback);
-typedef VkResult(VKAPI* PFN_vkDbgDestroyMsgCallback)(
-    VkInstance instance,
-    VkDbgMsgCallback msgCallback);
+typedef VkResult (VKAPI *PFN_vkDbgCreateMsgCallback)(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback);
+typedef VkResult (VKAPI *PFN_vkDbgDestroyMsgCallback)(VkInstance instance, VkDbgMsgCallback msgCallback);
 
 #ifdef VK_PROTOTYPES
 
 // DebugReport extension entrypoints
-VkResult VKAPI vkDbgCreateMsgCallback(VkInstance instance,
-                                      VkFlags msgFlags,
-                                      const PFN_vkDbgMsgCallback pfnMsgCallback,
-                                      void* pUserData,
-                                      VkDbgMsgCallback* pMsgCallback);
+VkResult VKAPI vkDbgCreateMsgCallback(
+    VkInstance                          instance,
+    VkFlags                             msgFlags,
+    const PFN_vkDbgMsgCallback          pfnMsgCallback,
+    void*                               pUserData,
+    VkDbgMsgCallback*                   pMsgCallback);
 
-VkResult VKAPI vkDbgDestroyMsgCallback(VkInstance instance,
-                                       VkDbgMsgCallback msgCallback);
+VkResult VKAPI vkDbgDestroyMsgCallback(
+    VkInstance                          instance,
+    VkDbgMsgCallback                    msgCallback);
 
 // DebugReport utility callback functions
-void VKAPI vkDbgStringCallback(VkFlags msgFlags,
-                               VkDbgObjectType objType,
-                               uint64_t srcObject,
-                               size_t location,
-                               int32_t msgCode,
-                               const char* pLayerPrefix,
-                               const char* pMsg,
-                               void* pUserData);
+void VKAPI vkDbgStringCallback(
+    VkFlags                             msgFlags,
+    VkDbgObjectType                     objType,
+    uint64_t                            srcObject,
+    size_t                              location,
+    int32_t                             msgCode,
+    const char*                         pLayerPrefix,
+    const char*                         pMsg,
+    void*                               pUserData);
 
-void VKAPI vkDbgStdioCallback(VkFlags msgFlags,
-                              VkDbgObjectType objType,
-                              uint64_t srcObject,
-                              size_t location,
-                              int32_t msgCode,
-                              const char* pLayerPrefix,
-                              const char* pMsg,
-                              void* pUserData);
+void VKAPI vkDbgStdioCallback(
+    VkFlags                             msgFlags,
+    VkDbgObjectType                     objType,
+    uint64_t                            srcObject,
+    size_t                              location,
+    int32_t                             msgCode,
+    const char*                         pLayerPrefix,
+    const char*                         pMsg,
+    void*                               pUserData);
 
-void VKAPI vkDbgBreakCallback(VkFlags msgFlags,
-                              VkDbgObjectType objType,
-                              uint64_t srcObject,
-                              size_t location,
-                              int32_t msgCode,
-                              const char* pLayerPrefix,
-                              const char* pMsg,
-                              void* pUserData);
+void VKAPI vkDbgBreakCallback(
+    VkFlags                             msgFlags,
+    VkDbgObjectType                     objType,
+    uint64_t                            srcObject,
+    size_t                              location,
+    int32_t                             msgCode,
+    const char*                         pLayerPrefix,
+    const char*                         pMsg,
+    void*                               pUserData);
 
-#endif  // VK_PROTOTYPES
+#endif // VK_PROTOTYPES
 
 #ifdef __cplusplus
-}  // extern "C"
-#endif  // __cplusplus
+} // extern "C"
+#endif // __cplusplus
 
-#endif  // __VK_DEBUG_REPORT_LUNARG_H__
+#endif // __VK_DEBUG_REPORT_LUNARG_H__
diff --git a/vulkan/libvulkan/loader.cpp b/vulkan/libvulkan/loader.cpp
index 16bc8b8..6683196 100644
--- a/vulkan/libvulkan/loader.cpp
+++ b/vulkan/libvulkan/loader.cpp
@@ -469,19 +469,20 @@
         const_cast<char**>(local_create_info.ppEnabledExtensionNames));
 }
 
-void LogDebugMessageCallback(VkFlags message_flags,
-                             VkDbgObjectType /*obj_type*/,
-                             uint64_t /*src_object*/,
-                             size_t /*location*/,
-                             int32_t message_code,
-                             const char* layer_prefix,
-                             const char* message,
-                             void* /*user_data*/) {
+VkBool32 LogDebugMessageCallback(VkFlags message_flags,
+                                 VkDbgObjectType /*obj_type*/,
+                                 uint64_t /*src_object*/,
+                                 size_t /*location*/,
+                                 int32_t message_code,
+                                 const char* layer_prefix,
+                                 const char* message,
+                                 void* /*user_data*/) {
     if (message_flags & VK_DBG_REPORT_ERROR_BIT) {
         ALOGE("[%s] Code %d : %s", layer_prefix, message_code, message);
     } else if (message_flags & VK_DBG_REPORT_WARN_BIT) {
         ALOGW("[%s] Code %d : %s", layer_prefix, message_code, message);
     }
+    return false;
 }
 
 VkResult CreateDeviceNoop(VkPhysicalDevice,