mono / VulkanSharp

Open source .NET binding for the Vulkan API
MIT License
538 stars 61 forks source link

How are debug markers supposed to be used? #62

Open chuggafan opened 7 years ago

chuggafan commented 7 years ago

I've been trying to debug a program I have transliterated, and cannot get enough data about certain things (namely a graphics pipeline failing to compile a shader for some reason), what I cannot get is that debug markers are hidden and impossible to use, for instance:


        public DebugMarkerObjectNameInfoExt DebugMarkerSetObjectNameEXT ()
        {
            Result result;
            DebugMarkerObjectNameInfoExt pNameInfo;
            unsafe {
                pNameInfo = new DebugMarkerObjectNameInfoExt ();
                result = Interop.NativeMethods.vkDebugMarkerSetObjectNameEXT (this.m, pNameInfo != null ? pNameInfo.m : (Interop.DebugMarkerObjectNameInfoExt*)default(IntPtr));
                if (result != Result.Success)
                    throw new ResultException (result);

                return pNameInfo;
            }
        }

exists in handles.cs, this setup prevents us from setting the object name as you would expect, since the command does not have any arguments, is there any reason for this? Is there a simple fix in the generator? I don't know, all I know is that this issue prevents me from debugging specifically my transliterated code (the code I transliterated from is fine, I know that for a fact)