Esempio n. 1
0
        public bool TryGetExtension <T>(out T ext)
            where T : NativeExtension <Vk>
        {
            ext = LibraryLoader <Vk> .Load <T>(this);

            return(ext != null);
        }
Esempio n. 2
0
        public static Vk GetApi()
        {
            var sym = new VkLoader(LibraryLoader.GetPlatformDefaultLoader());
            var ret = LibraryLoader <Vk> .Load(new VulkanLibraryNameContainer(), sym);

            sym.Vulkan = ret;
            return(ret);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public static T Load(SearchPathContainer paths, Ultz.SuperInvoke.Loader.LibraryLoader loader)
 {
     return(LibraryLoader.Load <T>(paths, loader));
 }
Esempio n. 6
0
 public static T1 Load <T1>
     (SearchPathContainer nameContainer, Ultz.SuperInvoke.Loader.LibraryLoader loader) where T1 : NativeAPI =>
 LibraryActivator.CreateInstance <T1>(nameContainer.GetLibraryName(), loader);
Esempio n. 7
0
 public static void CreateBuilder <T>
     (Ultz.SuperInvoke.Loader.LibraryLoader loader) where T : NativeApiContainer => _loaders[typeof(T)] = loader;
Esempio n. 8
0
#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;