public bool TryGetExtension <T>(out T ext) where T : NativeExtension <Vk> { ext = LibraryLoader <Vk> .Load <T>(this); return(ext != null); }
public static Vk GetApi() { var sym = new VkLoader(LibraryLoader.GetPlatformDefaultLoader()); var ret = LibraryLoader <Vk> .Load(new VulkanLibraryNameContainer(), sym); sym.Vulkan = ret; return(ret); }
public static Vk GetApi(ref InstanceCreateInfo info, ref AllocationCallbacks callbacks, out Instance instance) { var sym = new VkLoader(LibraryLoader.GetPlatformDefaultLoader()); var ret = LibraryLoader <Vk> .Load(new VulkanLibraryNameContainer(), sym); sym.Vulkan = ret; ret.CreateInstance(ref info, ref callbacks, out instance); return(ret); }
public static unsafe Vk GetApi(ref InstanceCreateInfo info) { var sym = new VkLoader(LibraryLoader.GetPlatformDefaultLoader()); var ret = LibraryLoader <Vk> .Load(new VulkanLibraryNameContainer(), sym); sym.Vulkan = ret; Instance instance; fixed(InstanceCreateInfo *infoPtr = &info) { ret.CreateInstance(infoPtr, null, &instance); } ret.CurrentInstance = instance; return(ret); }
public static T Load(SearchPathContainer paths, Ultz.SuperInvoke.Loader.LibraryLoader loader) { return(LibraryLoader.Load <T>(paths, loader)); }
public static T1 Load <T1> (SearchPathContainer nameContainer, Ultz.SuperInvoke.Loader.LibraryLoader loader) where T1 : NativeAPI => LibraryActivator.CreateInstance <T1>(nameContainer.GetLibraryName(), loader);
public static void CreateBuilder <T> (Ultz.SuperInvoke.Loader.LibraryLoader loader) where T : NativeApiContainer => _loaders[typeof(T)] = loader;
#pragma warning disable 1591 // Documentation isn't needed because this is obsolete. public static void CreateBuilder <T> #pragma warning restore 1591 (Ultz.SuperInvoke.Loader.LibraryLoader loader) where T : NativeApiContainer => _loaders[typeof(T)] = loader;