Home | History | Annotate | Download | only in layers
      1 /*
      2  *
      3  * Copyright (c) 2016-2018 The Khronos Group Inc.
      4  * Copyright (c) 2016-2018 Valve Corporation
      5  * Copyright (c) 2016-2018 LunarG, Inc.
      6  *
      7  * Licensed under the Apache License, Version 2.0 (the "License");
      8  * you may not use this file except in compliance with the License.
      9  * You may obtain a copy of the License at
     10  *
     11  *     http://www.apache.org/licenses/LICENSE-2.0
     12  *
     13  * Unless required by applicable law or agreed to in writing, software
     14  * distributed under the License is distributed on an "AS IS" BASIS,
     15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16  * See the License for the specific language governing permissions and
     17  * limitations under the License.
     18  *
     19  * Author: Mark Lobodzinski <mark (at) lunarg.com>
     20  *
     21  */
     22 #pragma once
     23 
     24 // Linked list node for tree of debug callbacks
     25 typedef struct VkDebugReportContent {
     26     VkDebugReportCallbackEXT msgCallback;
     27     PFN_vkDebugReportCallbackEXT pfnMsgCallback;
     28     VkFlags msgFlags;
     29 } VkDebugReportContent;
     30 
     31 typedef struct VkDebugUtilsMessengerContent {
     32     VkDebugUtilsMessengerEXT messenger;
     33     VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
     34     VkDebugUtilsMessageTypeFlagsEXT messageType;
     35     PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
     36 } VkDebugUtilsMessengerContent;
     37 
     38 typedef struct VkLayerDbgFunctionNode_ {
     39     bool is_messenger;
     40     union {
     41         VkDebugReportContent report;
     42         VkDebugUtilsMessengerContent messenger;
     43     };
     44     void *pUserData;
     45     struct VkLayerDbgFunctionNode_ *pNext;
     46 } VkLayerDbgFunctionNode;
     47