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;
+