コード例 #1
0
        static VkBool32 HandlePFN_vkDebugUtilsMessengerCallbackEXT(VkDebugUtilsMessageSeverityFlagsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, IntPtr pCallbackData, IntPtr pUserData)
        {
            VkDebugUtilsMessengerCallbackDataEXT data = Marshal.PtrToStructure <VkDebugUtilsMessengerCallbackDataEXT> (pCallbackData);
            ConsoleColor curColor = Console.ForegroundColor;

            switch (messageSeverity)
            {
            case VkDebugUtilsMessageSeverityFlagsEXT.VerboseEXT:
                Console.ForegroundColor = ConsoleColor.White;
                break;

            case VkDebugUtilsMessageSeverityFlagsEXT.InfoEXT:
                Console.ForegroundColor = ConsoleColor.DarkCyan;
                break;

            case VkDebugUtilsMessageSeverityFlagsEXT.WarningEXT:
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                break;

            case VkDebugUtilsMessageSeverityFlagsEXT.ErrorEXT:
                Console.ForegroundColor = ConsoleColor.Red;
                break;
            }

            switch (messageTypes)
            {
            case VkDebugUtilsMessageTypeFlagsEXT.GeneralEXT:
                Console.Write("GEN:");
                break;

            case VkDebugUtilsMessageTypeFlagsEXT.PerformanceEXT:
                Console.Write("PERF:");
                break;
            }

            byte [] tmp = new byte [1024];

            if (data.pMessage != IntPtr.Zero)
            {
                byte b = Marshal.ReadByte(data.pMessage);
                int  i = 1;
                while (b != 0)
                {
                    tmp [i] = b;
                    b       = Marshal.ReadByte(data.pMessage, i);
                    i++;
                }
                Console.WriteLine(Encoding.UTF8.GetString(tmp));
                Console.ForegroundColor = curColor;
            }
            return(false);
        }
コード例 #2
0
 public static VkBool32 DebugCallback(VkDebugUtilsMessageSeverityFlagsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, VkDebugUtilsMessengerCallbackDataEXT pCallbackData, void *pUserData)
 {
     Debug.WriteLine($"<<Vulkan Validation Layer>> {Helpers.GetString(pCallbackData.pMessage)}");
     return(false);
 }