Explorar el Código

VK: Added debug marker extension header.

Branimir Karadžić hace 9 años
padre
commit
0d91203823
Se han modificado 1 ficheros con 98 adiciones y 0 borrados
  1. 98 0
      3rdparty/khronos/vulkan/vk_lunarg_debug_marker.h

+ 98 - 0
3rdparty/khronos/vulkan/vk_lunarg_debug_marker.h

@@ -0,0 +1,98 @@
+//
+// File: vk_lunarg_debug_marker.h
+//
+/*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
+ *
+ * Authors:
+ *   Jon Ashburn <[email protected]>
+ *   Courtney Goeltzenleuchter <[email protected]>
+ */
+
+#ifndef __VK_DEBUG_MARKER_H__
+#define __VK_DEBUG_MARKER_H__
+
+#include "vulkan.h"
+
+#define VK_DEBUG_MARKER_EXTENSION_NUMBER 6
+#define VK_DEBUG_MARKER_EXTENSION_REVISION 1
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
+/*
+***************************************************************************************************
+*   DebugMarker Vulkan Extension API
+***************************************************************************************************
+*/
+
+#define DEBUG_MARKER_EXTENSION_NAME "VK_LUNARG_DEBUG_MARKER"
+
+// ------------------------------------------------------------------------------------------------
+// Enumerations
+
+#define VK_DEBUG_MARKER_ENUM_EXTEND(type, id)                                  \
+    ((type)(VK_DEBUG_MARKER_EXTENSION_NUMBER * -1000 + (id)))
+
+#define VK_OBJECT_INFO_TYPE_DBG_OBJECT_TAG                                     \
+    VK_DEBUG_MARKER_ENUM_EXTEND(VkDbgObjectInfoType, 0)
+#define VK_OBJECT_INFO_TYPE_DBG_OBJECT_NAME                                    \
+    VK_DEBUG_MARKER_ENUM_EXTEND(VkDbgObjectInfoType, 1)
+
+// ------------------------------------------------------------------------------------------------
+// API functions
+
+typedef void(VKAPI_PTR *PFN_vkCmdDbgMarkerBegin)(VkCommandBuffer commandBuffer,
+                                                 const char *pMarker);
+typedef void(VKAPI_PTR *PFN_vkCmdDbgMarkerEnd)(VkCommandBuffer commandBuffer);
+typedef VkResult(VKAPI_PTR *PFN_vkDbgSetObjectTag)(
+    VkDevice device, VkDebugReportObjectTypeEXT objType, uint64_t object,
+    size_t tagSize, const void *pTag);
+typedef VkResult(VKAPI_PTR *PFN_vkDbgSetObjectName)(
+    VkDevice device, VkDebugReportObjectTypeEXT objType, uint64_t object,
+    size_t nameSize, const char *pName);
+
+#ifndef VK_NO_PROTOTYPES
+
+// DebugMarker extension entrypoints
+VKAPI_ATTR void VKAPI_CALL
+vkCmdDbgMarkerBegin(VkCommandBuffer commandBuffer, const char *pMarker);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdDbgMarkerEnd(VkCommandBuffer commandBuffer);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+vkDbgSetObjectTag(VkDevice device, VkDebugReportObjectTypeEXT objType,
+                  uint64_t object, size_t tagSize, const void *pTag);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+vkDbgSetObjectName(VkDevice device, VkDebugReportObjectTypeEXT objType,
+                   uint64_t object, size_t nameSize, const char *pName);
+
+#endif // VK_NO_PROTOTYPES
+
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
+
+#endif // __VK_DEBUG_MARKER_H__