/// <summary> /// try to get device function handle if available /// </summary> public static void GetDelegate(VkDevice dev, string name, ref IntPtr ptr) { byte[] n = System.Text.Encoding.UTF8.GetBytes(name + '\0'); GCHandle hnd = GCHandle.Alloc(n, GCHandleType.Pinned); IntPtr del = Vk.vkGetDeviceProcAddr(dev, hnd.AddrOfPinnedObject()); if (del == IntPtr.Zero) { Console.WriteLine("device function pointer not found for " + name); } else { ptr = del; } hnd.Free(); }