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,