This device extensions was not completely supported in any layer. It had partial
support (intercept) in draw_state and device_limits. This extension is being
changed and has a formal proposal in Khronos as debug_marker_ext. Removing
the existing extension since it is deprecated; once the debug_marker_ext gets
registered by Khronos, layers might want to start using the ObjectTag/ObjectName
commands to supplement error report messages in debug_report_ext. Since
debug_report_ext might get changed as part of Khronos review, don't add it yet.
-# Copyright 2015 The Android Open Source Project\r
-# Copyright (C) 2015 Valve Corporation\r
-\r
-# Licensed under the Apache License, Version 2.0 (the "License");\r
-# you may not use this file except in compliance with the License.\r
-# You may obtain a copy of the License at\r
-\r
-# http://www.apache.org/licenses/LICENSE-2.0\r
-\r
-# Unless required by applicable law or agreed to in writing, software\r
-# distributed under the License is distributed on an "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-# See the License for the specific language governing permissions and\r
-# limitations under the License.\r
-\r
-LOCAL_PATH := $(abspath $(call my-dir))\r
-MY_PATH := $(LOCAL_PATH)\r
-SRC_DIR := $(LOCAL_PATH)/../../\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := layer_utils\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_config.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_extension_utils.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_utils.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-include $(BUILD_STATIC_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_draw_state\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/draw_state.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_debug_marker_table.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader \\r
- $(SRC_DIR)/../glslang/SPIRV\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_mem_tracker\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/mem_tracker.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_device_limits\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/device_limits.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_debug_marker_table.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_image\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/image.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_param_checker\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/param_checker.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_debug_marker_table.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/layers \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_object_tracker\r
-LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/object_tracker.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/layers \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_threading\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/threading.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/layers \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_unique_objects\r
-LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/unique_objects.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/vk_safe_struct.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/layers \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-include $(CLEAR_VARS)\r
-LOCAL_MODULE := VkLayer_swapchain\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/swapchain.cpp\r
-LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp\r
-LOCAL_C_INCLUDES += $(SRC_DIR)/include \\r
- $(SRC_DIR)/buildAndroid/generated \\r
- $(SRC_DIR)/loader\r
-LOCAL_STATIC_LIBRARIES += layer_utils\r
-LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR\r
-LOCAL_LDLIBS := -llog\r
-include $(BUILD_SHARED_LIBRARY)\r
-\r
-$(call import-module,third_party/googletest)\r
+# Copyright 2015 The Android Open Source Project
+# Copyright (C) 2015 Valve Corporation
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(abspath $(call my-dir))
+MY_PATH := $(LOCAL_PATH)
+SRC_DIR := $(LOCAL_PATH)/../../
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := layer_utils
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_config.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_extension_utils.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_utils.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_draw_state
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/draw_state.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader \
+ $(SRC_DIR)/../glslang/SPIRV
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_mem_tracker
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/mem_tracker.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_device_limits
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/device_limits.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_image
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/image.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_param_checker
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/param_checker.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/layers \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_object_tracker
+LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/object_tracker.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/layers \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_threading
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/threading.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/layers \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_unique_objects
+LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/unique_objects.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/buildAndroid/generated/vk_safe_struct.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/layers \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := VkLayer_swapchain
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/swapchain.cpp
+LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_table.cpp
+LOCAL_C_INCLUDES += $(SRC_DIR)/include \
+ $(SRC_DIR)/buildAndroid/generated \
+ $(SRC_DIR)/loader
+LOCAL_STATIC_LIBRARIES += layer_utils
+LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
+LOCAL_LDLIBS := -llog
+include $(BUILD_SHARED_LIBRARY)
+
+$(call import-module,third_party/googletest)
+++ /dev/null
-//
-// File: vk_debug_marker_layer.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 <jon@lunarg.com>
- * Courtney Goeltzenleuchter <courtney@lunarg.com>
- */
-
-#pragma once
-
-#include "vulkan.h"
-#include "vk_lunarg_debug_marker.h"
-#include "vk_layer.h"
-
-typedef struct VkLayerDebugMarkerDispatchTable_ {
- PFN_vkCmdDbgMarkerBegin CmdDbgMarkerBegin;
- PFN_vkCmdDbgMarkerEnd CmdDbgMarkerEnd;
- PFN_vkDbgSetObjectTag DbgSetObjectTag;
- PFN_vkDbgSetObjectName DbgSetObjectName;
-} VkLayerDebugMarkerDispatchTable;
#pragma once
#include "vulkan.h"
-#include "vk_lunarg_debug_marker.h"
#if defined(__GNUC__) && __GNUC__ >= 4
#define VK_LAYER_EXPORT __attribute__((visibility("default")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+++ /dev/null
-//
-// 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 <jon@lunarg.com>
- * Courtney Goeltzenleuchter <courtney@lunarg.com>
- */
-
-#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__
install(TARGETS layer_utils DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
endif()
-add_vk_layer(draw_state draw_state.cpp vk_layer_debug_marker_table.cpp vk_layer_table.cpp)
-add_vk_layer(device_limits device_limits.cpp vk_layer_debug_marker_table.cpp vk_layer_table.cpp vk_layer_utils.cpp)
+add_vk_layer(draw_state draw_state.cpp vk_layer_table.cpp)
+add_vk_layer(device_limits device_limits.cpp vk_layer_table.cpp vk_layer_utils.cpp)
add_vk_layer(mem_tracker mem_tracker.cpp vk_layer_table.cpp)
add_vk_layer(image image.cpp vk_layer_table.cpp)
add_vk_layer(swapchain swapchain.cpp vk_layer_table.cpp)
add_vk_layer(object_tracker object_tracker.cpp vk_layer_table.cpp)
add_vk_layer(threading threading.cpp thread_check.h vk_layer_table.cpp)
add_vk_layer(unique_objects unique_objects.cpp vk_layer_table.cpp vk_safe_struct.cpp)
-add_vk_layer(param_checker param_checker.cpp param_check.h vk_layer_debug_marker_table.cpp vk_layer_table.cpp)
+add_vk_layer(param_checker param_checker.cpp param_check.h vk_layer_table.cpp)
#include "device_limits.h"
#include "vulkan/vk_layer.h"
#include "vk_layer_config.h"
-#include "vulkan/vk_debug_marker_layer.h"
#include "vk_enum_validate_helper.h"
#include "vk_layer_table.h"
-#include "vk_layer_debug_marker_table.h"
#include "vk_layer_data.h"
#include "vk_layer_logging.h"
#include "vk_layer_extension_utils.h"
#include "vk_layer_utils.h"
-struct devExts {
- bool debug_marker_enabled;
-};
-
// This struct will be stored in a map hashed by the dispatchable object
struct layer_data {
debug_report_data *report_data;
std::vector<VkDebugReportCallbackEXT> logging_callback;
VkLayerDispatchTable *device_dispatch_table;
VkLayerInstanceDispatchTable *instance_dispatch_table;
- devExts device_extensions;
// Track state of each instance
unique_ptr<INSTANCE_STATE> instanceState;
unique_ptr<PHYSICAL_DEVICE_STATE> physicalDeviceState;
report_data(nullptr),
device_dispatch_table(nullptr),
instance_dispatch_table(nullptr),
- device_extensions(),
instanceState(nullptr),
physicalDeviceState(nullptr),
actualPhysicalDeviceFeatures(),
}
}
-static void createDeviceRegisterExtensions(const VkDeviceCreateInfo* pCreateInfo, VkDevice device)
-{
- uint32_t i;
- layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
- my_data->device_extensions.debug_marker_enabled = false;
-
- for (i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
- if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], DEBUG_MARKER_EXTENSION_NAME) == 0) {
- /* Found a matching extension name, mark it enabled and init dispatch table*/
- initDebugMarkerTable(device);
- my_data->device_extensions.debug_marker_enabled = true;
- }
-
- }
-}
-
// Verify that features have been queried and verify that requested features are available
static VkBool32 validate_features_request(layer_data *phy_dev_data)
{
layer_init_device_dispatch_table(*pDevice, my_device_data->device_dispatch_table, fpGetDeviceProcAddr);
my_device_data->report_data = layer_debug_report_create_device(my_instance_data->report_data, *pDevice);
my_device_data->physicalDevice = gpu;
- createDeviceRegisterExtensions(pCreateInfo, *pDevice);
// Get physical device properties for this device
phy_dev_data->instance_dispatch_table->GetPhysicalDeviceProperties(gpu, &(phy_dev_data->physDevPropertyMap[*pDevice]));
dispatch_key key = get_dispatch_key(device);
layer_data *my_device_data = get_my_data_ptr(key, layer_data_map);
my_device_data->device_dispatch_table->DestroyDevice(device, pAllocator);
- tableDebugMarkerMap.erase(key);
delete my_device_data->device_dispatch_table;
layer_data_map.erase(key);
}
#include "vk_struct_size_helper.h"
#include "draw_state.h"
#include "vk_layer_config.h"
-#include "vulkan/vk_debug_marker_layer.h"
#include "vk_layer_table.h"
-#include "vk_layer_debug_marker_table.h"
#include "vk_layer_data.h"
#include "vk_layer_logging.h"
#include "vk_layer_extension_utils.h"
};
struct devExts {
- VkBool32 debug_marker_enabled;
VkBool32 wsi_enabled;
unordered_map<VkSwapchainKHR, SWAPCHAIN_NODE*> swapchainMap;
unordered_map<VkImage, VkSwapchainKHR> imageToSwapchainMap;
return "CMD_BEGINRENDERPASS";
case CMD_ENDRENDERPASS:
return "CMD_ENDRENDERPASS";
- case CMD_DBGMARKERBEGIN:
- return "CMD_DBGMARKERBEGIN";
- case CMD_DBGMARKEREND:
- return "CMD_DBGMARKEREND";
default:
return "UNKNOWN";
}
// TBD: Need any locking, in case this function is called at the same time
// by more than one thread?
layer_data* dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
- dev_data->device_extensions.debug_marker_enabled = false;
dev_data->device_extensions.wsi_enabled = false;
if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_SWAPCHAIN_EXTENSION_NAME) == 0) {
dev_data->device_extensions.wsi_enabled = true;
}
- if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], DEBUG_MARKER_EXTENSION_NAME) == 0) {
- /* Found a matching extension name, mark it enabled and init dispatch table*/
- dev_data->device_extensions.debug_marker_enabled = true;
- initDebugMarkerTable(device);
-
- }
}
}
loader_platform_thread_unlock_mutex(&globalLock);
dev_data->device_dispatch_table->DestroyDevice(device, pAllocator);
- tableDebugMarkerMap.erase(key);
delete dev_data->device_dispatch_table;
layer_data_map.erase(key);
}
pCount, pProperties);
}
-static const VkExtensionProperties ds_device_extensions[] = {
- {
- DEBUG_MARKER_EXTENSION_NAME,
- 1,
- }
-};
static const VkLayerProperties ds_device_layers[] = {
{
pCount,
pProperties);
} else {
- return util_GetExtensionProperties(ARRAY_SIZE(ds_device_extensions),
- ds_device_extensions,
- pCount, pProperties);
+ return util_GetExtensionProperties(0, NULL, pCount, pProperties);
}
}
my_data->instance_dispatch_table->DebugReportMessageEXT(instance, flags, objType, object, location, msgCode, pLayerPrefix, pMsg);
}
-VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDbgMarkerBegin(VkCommandBuffer commandBuffer, const char* pMarker)
-{
- VkBool32 skipCall = VK_FALSE;
- layer_data* dev_data = get_my_data_ptr(get_dispatch_key(commandBuffer), layer_data_map);
- loader_platform_thread_lock_mutex(&globalLock);
- GLOBAL_CB_NODE* pCB = getCBNode(dev_data, commandBuffer);
- if (!dev_data->device_extensions.debug_marker_enabled) {
- skipCall |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, (uint64_t)commandBuffer, __LINE__, DRAWSTATE_INVALID_EXTENSION, "DS",
- "Attempt to use CmdDbgMarkerBegin but extension disabled!");
- return;
- } else if (pCB) {
- skipCall |= addCmd(dev_data, pCB, CMD_DBGMARKERBEGIN, "vkCmdDbgMarkerBegin()");
- }
- loader_platform_thread_unlock_mutex(&globalLock);
- if (VK_FALSE == skipCall)
- debug_marker_dispatch_table(commandBuffer)->CmdDbgMarkerBegin(commandBuffer, pMarker);
-}
-
-VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDbgMarkerEnd(VkCommandBuffer commandBuffer)
-{
- VkBool32 skipCall = VK_FALSE;
- layer_data* dev_data = get_my_data_ptr(get_dispatch_key(commandBuffer), layer_data_map);
- loader_platform_thread_lock_mutex(&globalLock);
- GLOBAL_CB_NODE* pCB = getCBNode(dev_data, commandBuffer);
- if (!dev_data->device_extensions.debug_marker_enabled) {
- skipCall |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, (uint64_t)commandBuffer, __LINE__, DRAWSTATE_INVALID_EXTENSION, "DS",
- "Attempt to use CmdDbgMarkerEnd but extension disabled!");
- return;
- } else if (pCB) {
- skipCall |= addCmd(dev_data, pCB, CMD_DBGMARKEREND, "vkCmdDbgMarkerEnd()");
- }
- loader_platform_thread_unlock_mutex(&globalLock);
- if (VK_FALSE == skipCall)
- debug_marker_dispatch_table(commandBuffer)->CmdDbgMarkerEnd(commandBuffer);
-}
VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice dev, const char* funcName)
{
}
VkLayerDispatchTable* pTable = dev_data->device_dispatch_table;
- if (dev_data->device_extensions.debug_marker_enabled)
- {
- if (!strcmp(funcName, "vkCmdDbgMarkerBegin"))
- return (PFN_vkVoidFunction) vkCmdDbgMarkerBegin;
- if (!strcmp(funcName, "vkCmdDbgMarkerEnd"))
- return (PFN_vkVoidFunction) vkCmdDbgMarkerEnd;
- }
{
if (pTable->GetDeviceProcAddr == NULL)
return NULL;
// operation
DRAWSTATE_MISSING_ATTACHMENT_REFERENCE, // Attachment reference must be
// present in active subpass
- DRAWSTATE_INVALID_EXTENSION,
DRAWSTATE_SAMPLER_DESCRIPTOR_ERROR, // A Descriptor of *_SAMPLER type is
// being updated with an invalid or bad
// Sampler
CMD_NEXTSUBPASS,
CMD_ENDRENDERPASS,
CMD_EXECUTECOMMANDS,
- CMD_DBGMARKERBEGIN,
- CMD_DBGMARKEREND,
} CMD_TYPE;
// Data structure for holding sequence of cmds in cmd buffer
typedef struct _CMD_NODE {
"name": "VK_EXT_debug_report",
"spec_version": "1"
}
- ],
- "device_extensions": [
- {
- "name": "VK_LUNARG_DEBUG_MARKER",
- "spec_version": "0",
- "entrypoints": ["vkCmdDbgMarkerBegin","vkCmdDbgMarkerEnd"]
- }
]
}
}
+++ /dev/null
-/* 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
- *
- * Author: Tobin Ehlis <tobin@lunarg.com>
- */
-
-#include <assert.h>
-#include <unordered_map>
-#include "vulkan/vk_debug_marker_layer.h"
-std::unordered_map<void *, VkLayerDebugMarkerDispatchTable *> tableDebugMarkerMap;
-
-/* Various dispatchable objects will use the same underlying dispatch table if they
- * are created from that "parent" object. Thus use pointer to dispatch table
- * as the key to these table maps.
- * Instance -> PhysicalDevice
- * Device -> CommandBuffer or Queue
- * If use the object themselves as key to map then implies Create entrypoints have to be intercepted
- * and a new key inserted into map */
-VkLayerDebugMarkerDispatchTable * initDebugMarkerTable(VkDevice device)
-{
- VkLayerDebugMarkerDispatchTable *pDebugMarkerTable;
-
- assert(device);
- VkLayerDispatchTable *pDisp = *(VkLayerDispatchTable **) device;
-
- std::unordered_map<void *, VkLayerDebugMarkerDispatchTable *>::const_iterator it = tableDebugMarkerMap.find((void *) pDisp);
- if (it == tableDebugMarkerMap.end())
- {
- pDebugMarkerTable = new VkLayerDebugMarkerDispatchTable;
- tableDebugMarkerMap[(void *) pDisp] = pDebugMarkerTable;
- } else
- {
- return it->second;
- }
-
- pDebugMarkerTable->CmdDbgMarkerBegin = (PFN_vkCmdDbgMarkerBegin) pDisp->GetDeviceProcAddr(device, "vkCmdDbgMarkerBegin");
- pDebugMarkerTable->CmdDbgMarkerEnd = (PFN_vkCmdDbgMarkerEnd) pDisp->GetDeviceProcAddr(device, "vkCmdDbgMarkerEnd");
- pDebugMarkerTable->DbgSetObjectTag = (PFN_vkDbgSetObjectTag) pDisp->GetDeviceProcAddr(device, "vkDbgSetObjectTag");
- pDebugMarkerTable->DbgSetObjectName = (PFN_vkDbgSetObjectName) pDisp->GetDeviceProcAddr(device, "vkDbgSetObjectName");
-
- return pDebugMarkerTable;
-}
+++ /dev/null
-/* Copyright (c) 2015-2016 The Khronos Group Inc.
- * Copyright (c) 2015-2016 Valve Corporation
- * Copyright (c) 2015-2016 LunarG, Inc.
- * Copyright (c) 2015-2016 Google 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
- *
- * Author: Michael Lentine <mlentine@google.com>
- * Author: Tobin Ehlis <tobin@lunarg.com>
- */
-
-#pragma once
-
-#include <cassert>
-#include <unordered_map>
-
-extern std::unordered_map<void *, VkLayerDebugMarkerDispatchTable *> tableDebugMarkerMap;
-VkLayerDebugMarkerDispatchTable * initDebugMarkerTable(VkDevice dev);
-
-// Map lookup must be thread safe
-static inline VkLayerDebugMarkerDispatchTable *debug_marker_dispatch_table(void* object)
-{
- VkLayerDebugMarkerDispatchTable *pDisp = *(VkLayerDebugMarkerDispatchTable **) object;
- std::unordered_map<void *, VkLayerDebugMarkerDispatchTable *>::const_iterator it = tableDebugMarkerMap.find((void *) pDisp);
- assert(it != tableDebugMarkerMap.end() && "Not able to find debug marker dispatch entry");
- return it->second;
-}
-
| Check | Overview | ENUM DRAWSTATE_* | Relevant API | Testname | Notes/TODO |
| ----- | -------- | ---------------- | ------------ | -------- | ---------- |
| Valid Pipeline Layouts | Verify that sets being bound are compatible with their PipelineLayout and that the last-bound PSO PipelineLayout at Draw time is compatible with all bound sets used by that PSO | PIPELINE_LAYOUTS_INCOMPATIBLE | vkCmdDraw vkCmdDrawIndexed vkCmdDrawIndirect vkCmdDrawIndexedIndirect | TBD | None |
-| Validate DbgMarker exensions | Validates that DbgMarker extensions have been enabled before use | INVALID_EXTENSION | vkCmdDbgMarkerBegin vkCmdDbgMarkerEnd | TBD | None |
| Valid BeginCommandBuffer state | Must not call Begin on command buffers that are being recorded, and primary command buffers must specify VK_NULL_HANDLE for RenderPass or Framebuffer parameters, while secondary command buffers must provide non-null parameters, | BEGIN_CB_INVALID_STATE | vkBeginCommandBuffer | PrimaryCommandBufferFramebufferAndRenderpass SecondaryCommandBufferFramebufferAndRenderpass | None |
| Command Buffer Simultaneous Use | Violation of VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT rules. Most likely attempting to simultaneously use a CmdBuffer w/o having that bit set. This also warns if you add secondary command buffer w/o that bit set to a primary command buffer that does have that bit set. | INVALID_CB_SIMULTANEOUS_USE | vkQueueSubmit vkCmdExecuteCommands | TODO | Write test |
| Valid Command Buffer Reset | Can only reset individual command buffer that was allocated from a pool with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT set | INVALID_COMMAND_BUFFER_RESET | vkBeginCommandBuffer vkResetCommandBuffer | CommandBufferResetErrors | None |
| Valid Pipeline | Flag VkPipeline object that was not properly created | INVALID_PIPELINE | vkCmdBindPipeline | InvalidPipeline | NA |
| Valid PipelineLayout | Flag VkPipelineLayout object that was not properly created | INVALID_PIPELINE_LAYOUT | vkCmdBindPipeline | TODO | Write test for this case |
| Valid Pipeline Create Info | Tests for the following: That compute shaders are not specified for the graphics pipeline, tess evaluation and tess control shaders are included or excluded as a pair, that VK_PRIMITIVE_TOPOLOGY_PATCH_LIST is set as IA topology for tessellation pipelines, that VK_PRIMITIVE_TOPOLOGY_PATCH_LIST primitive topology is only set for tessellation pipelines, and that Vtx Shader specified | INVALID_PIPELINE_CREATE_STATE | vkCreateGraphicsPipelines | InvalidPipelineCreateState | NA |
-| Valid CommandBuffer | Validates that the command buffer object was properly created and is currently valid | INVALID_COMMAND_BUFFER | vkQueueSubmit vkBeginCommandBuffer vkEndCommandBuffer vkCmdBindPipeline vkCmdBindDescriptorSets vkCmdBindIndexBuffer vkCmdBindVertexBuffers vkCmdDraw vkCmdDrawIndexed vkCmdDrawIndirect vkCmdDrawIndexedIndirect vkCmdDispatch vkCmdDispatchIndirect vkCmdCopyBuffer vkCmdCopyImage vkCmdBlitImage vkCmdCopyBufferToImage vkCmdCopyImageToBuffer vkCmdUpdateBuffer vkCmdFillBuffer vkCmdClearAttachments vkCmdClearColorImage vkCmdClearDepthStencilImage vkCmdResolveImage vkCmdSetEvent vkCmdResetEvent vkCmdWaitEvents vkCmdPipelineBarrier vkCmdBeginQuery vkCmdEndQuery vkCmdResetQueryPool vkCmdWriteTimestamp vkCmdBeginRenderPass vkCmdNextSubpass vkCmdEndRenderPass vkCmdExecuteCommands vkCmdDbgMarkerBegin vkCmdDbgMarkerEnd vkAllocateCommandBuffers | None | NA |
+| Valid CommandBuffer | Validates that the command buffer object was properly created and is currently valid | INVALID_COMMAND_BUFFER | vkQueueSubmit vkBeginCommandBuffer vkEndCommandBuffer vkCmdBindPipeline vkCmdBindDescriptorSets vkCmdBindIndexBuffer vkCmdBindVertexBuffers vkCmdDraw vkCmdDrawIndexed vkCmdDrawIndirect vkCmdDrawIndexedIndirect vkCmdDispatch vkCmdDispatchIndirect vkCmdCopyBuffer vkCmdCopyImage vkCmdBlitImage vkCmdCopyBufferToImage vkCmdCopyImageToBuffer vkCmdUpdateBuffer vkCmdFillBuffer vkCmdClearAttachments vkCmdClearColorImage vkCmdClearDepthStencilImage vkCmdResolveImage vkCmdSetEvent vkCmdResetEvent vkCmdWaitEvents vkCmdPipelineBarrier vkCmdBeginQuery vkCmdEndQuery vkCmdResetQueryPool vkCmdWriteTimestamp vkCmdBeginRenderPass vkCmdNextSubpass vkCmdEndRenderPass vkCmdExecuteCommands vkAllocateCommandBuffers | None | NA |
| Vtx Buffer Bounds | Check if VBO index too large for PSO Vtx binding count, and that at least one vertex buffer is attached to pipeline object | VTX_INDEX_OUT_OF_BOUNDS | vkCmdBindDescriptorSets vkCmdBindVertexBuffers | VtxBufferBadIndex | NA |
| Idx Buffer Alignment | Verify that offset of Index buffer falls on an alignment boundary as defined by IdxBufferAlignmentError param | VTX_INDEX_ALIGNMENT_ERROR | vkCmdBindIndexBuffer | IdxBufferAlignmentError | NA |
| Cmd Buffer End | Verifies that EndCommandBuffer was called for this commandBuffer at QueueSubmit time | NO_END_COMMAND_BUFFER | vkQueueSubmit | NoEndCommandBuffer | NA |
"name": "VK_EXT_debug_report",
"spec_version": "1"
}
- ],
- "device_extensions": [
- {
- "name": "VK_LUNARG_DEBUG_MARKER",
- "spec_version": "0",
- "entrypoints": ["vkCmdDbgMarkerBegin","vkCmdDbgMarkerEnd"]
- }
]
}
}
],
"device_extensions": [
{
- "name": "VK_LUNARG_DEBUG_MARKER",
+ "name": "VK_DEBUG_MARKER_EXT",
"spec_version": "1",
"entrypoints": ["vkCmdDbgMarkerBegin", "vkCmdDbgMarkerEnd"]
}
],
"device_extensions": [
{
- "name": "VK_LUNARG_DEBUG_MARKER",
+ "name": "VK_DEBUG_MARKER_EXT",
"spec_version": "1",
"entrypoints": ["vkCmdDbgMarkerBegin", "vkCmdDbgMarkerEnd"]
}
input_header = os.path.basename(opts.input_file)
if 'vulkan.h' == input_header:
input_header = "vulkan/vulkan.h"
- if 'vk_lunarg_debug_marker.h' == input_header:
- input_header = "vulkan/vk_lunarg_debug_marker.h"
prefix = os.path.basename(opts.input_file).strip(".h")
if prefix == "vulkan":
wsi_s_names = [p.name for p in vulkan.ext_khr_surface.protos]
wsi_ds_names = [p.name for p in vulkan.ext_khr_device_swapchain.protos]
dbg_rpt_names = [p.name for p in vulkan.lunarg_debug_report.protos]
- dbg_mrk_names = [p.name for p in vulkan.lunarg_debug_marker.protos]
- api_names = core_api_names + wsi_s_names + wsi_ds_names + dbg_rpt_names + dbg_mrk_names
+ api_names = core_api_names + wsi_s_names + wsi_ds_names + dbg_rpt_names
for ln in self.layer_doc_dict:
for chk in self.layer_doc_dict[ln]:
if chk in ['overview', 'pending']:
Param("const char *", "pMsg")]),
],
)
-lunarg_debug_marker = Extension(
- name="VK_LUNARG_DEBUG_MARKER",
- headers=["vulkan/vk_lunarg_debug_marker.h"],
- objects=[],
- protos=[
- Proto("void", "CmdDbgMarkerBegin",
- [Param("VkCommandBuffer", "commandBuffer"),
- Param("const char*", "pMarker")]),
-
- Proto("void", "CmdDbgMarkerEnd",
- [Param("VkCommandBuffer", "commandBuffer")]),
-
- Proto("VkResult", "DbgSetObjectTag",
- [Param("VkDevice", "device"),
- Param("VkDebugReportObjectTypeEXT", "objType"),
- Param("uint64_t", "object"),
- Param("size_t", "tagSize"),
- Param("const void*", "pTag")]),
-
- Proto("VkResult", "DbgSetObjectName",
- [Param("VkDevice", "device"),
- Param("VkDebugReportObjectTypeEXT", "objType"),
- Param("uint64_t", "object"),
- Param("size_t", "nameSize"),
- Param("const char*", "pName")]),
- ],
-)
import sys
if len(sys.argv) > 3:
if sys.platform.startswith('win32'):
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface, lunarg_debug_report]
elif sys.platform.startswith('linux'):
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, lunarg_debug_report]
else: # android
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface, lunarg_debug_report]
else :
if sys.argv[1] == 'Win32':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface, lunarg_debug_report]
elif sys.argv[1] == 'Android':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_android_surface, lunarg_debug_report]
elif sys.argv[1] == 'Xcb':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, lunarg_debug_report]
elif sys.argv[1] == 'Xlib':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xlib_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xlib_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xlib_surface, lunarg_debug_report]
elif sys.argv[1] == 'Wayland':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_wayland_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_wayland_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_wayland_surface, lunarg_debug_report]
elif sys.argv[1] == 'Mir':
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_mir_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_mir_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_mir_surface, lunarg_debug_report]
else:
print('Error: Undefined DisplayServer')
extensions = []