layers: Move debug action enums from vk_layer.h
Moved debug-report related items from vk_layer.h. Enums are now in
vk_layer_logging.h and DbgFunctionNode has been moved into a new
loader header file vk_loader_layer.h.
Change-Id: I6031146ba474ff01ca039da44ad5d42d054383a3
diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h
index 6f49e07..8b7d82f 100644
--- a/include/vulkan/vk_layer.h
+++ b/include/vulkan/vk_layer.h
@@ -234,29 +234,6 @@
CreateDisplayPlaneSurfaceKHR;
} VkLayerInstanceDispatchTable;
-
-// LL node for tree of dbg callback functions
-typedef struct VkLayerDbgFunctionNode_ {
- VkDebugReportCallbackEXT msgCallback;
- PFN_vkDebugReportCallbackEXT pfnMsgCallback;
- VkFlags msgFlags;
- void *pUserData;
- bool default_callback;
- struct VkLayerDbgFunctionNode_ *pNext;
-} VkLayerDbgFunctionNode;
-
-// TODO: Move debug action definitions out of this header file
-// Definitions for Debug Actions
-typedef enum VkLayerDbgActionBits {
- VK_DBG_LAYER_ACTION_IGNORE = 0x00000000,
- VK_DBG_LAYER_ACTION_CALLBACK = 0x00000001,
- VK_DBG_LAYER_ACTION_LOG_MSG = 0x00000002,
- VK_DBG_LAYER_ACTION_BREAK = 0x00000004,
- VK_DBG_LAYER_ACTION_DEBUG_OUTPUT = 0x00000008,
- VK_DBG_LAYER_ACTION_DEFAULT = 0x40000000,
-} VkLayerDbgActionBits;
-typedef VkFlags VkLayerDbgActionFlags;
-
// ------------------------------------------------------------------------------------------------
// CreateInstance and CreateDevice support structures
diff --git a/layers/vk_layer_config.h b/layers/vk_layer_config.h
index 8530a97..c4526db 100644
--- a/layers/vk_layer_config.h
+++ b/layers/vk_layer_config.h
@@ -28,6 +28,17 @@
extern "C" {
#endif
+// Definitions for Debug Actions
+typedef enum VkLayerDbgActionBits {
+ VK_DBG_LAYER_ACTION_IGNORE = 0x00000000,
+ VK_DBG_LAYER_ACTION_CALLBACK = 0x00000001,
+ VK_DBG_LAYER_ACTION_LOG_MSG = 0x00000002,
+ VK_DBG_LAYER_ACTION_BREAK = 0x00000004,
+ VK_DBG_LAYER_ACTION_DEBUG_OUTPUT = 0x00000008,
+ VK_DBG_LAYER_ACTION_DEFAULT = 0x40000000,
+} VkLayerDbgActionBits;
+typedef VkFlags VkLayerDbgActionFlags;
+
const std::unordered_map<std::string, VkFlags> debug_actions_option_definitions = {
{std::string("VK_DBG_LAYER_ACTION_IGNORE"), VK_DBG_LAYER_ACTION_IGNORE},
{std::string("VK_DBG_LAYER_ACTION_CALLBACK"), VK_DBG_LAYER_ACTION_CALLBACK},
diff --git a/layers/vk_layer_logging.h b/layers/vk_layer_logging.h
index cb4c44c..0328031 100644
--- a/layers/vk_layer_logging.h
+++ b/layers/vk_layer_logging.h
@@ -22,6 +22,7 @@
#ifndef LAYER_LOGGING_H
#define LAYER_LOGGING_H
+#include "vk_loader_layer.h"
#include "vk_layer_config.h"
#include "vk_layer_data.h"
#include "vk_layer_table.h"
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index f47ee58..15577b8 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -17,6 +17,7 @@
loader.c
loader.h
vk_loader_platform.h
+ vk_loader_layer.h
trampoline.c
wsi.c
wsi.h
diff --git a/loader/loader.h b/loader/loader.h
index 95803c0..ecc945e 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -30,8 +30,9 @@
#include <vulkan/vulkan.h>
#include "vk_loader_platform.h"
-
+#include "vk_loader_layer.h"
#include <vulkan/vk_layer.h>
+
#include <vulkan/vk_icd.h>
#include <assert.h>
diff --git a/loader/vk_loader_layer.h b/loader/vk_loader_layer.h
new file mode 100644
index 0000000..2207c02
--- /dev/null
+++ b/loader/vk_loader_layer.h
@@ -0,0 +1,32 @@
+/*
+*
+* Copyright (c) 2016 The Khronos Group Inc.
+* Copyright (c) 2016 Valve Corporation
+* Copyright (c) 2016 LunarG, Inc.
+*
+* 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.
+*
+* Author: Mark Lobodzinski <mark@lunarg.com>
+*
+*/
+#pragma once
+
+// Linked list node for tree of debug callback functions
+typedef struct VkLayerDbgFunctionNode_ {
+ VkDebugReportCallbackEXT msgCallback;
+ PFN_vkDebugReportCallbackEXT pfnMsgCallback;
+ VkFlags msgFlags;
+ void *pUserData;
+ struct VkLayerDbgFunctionNode_ *pNext;
+} VkLayerDbgFunctionNode;
+