コード例 #1
0
ファイル: VkPhysicalDevice.cs プロジェクト: Zulkir/VulkaNet
 public DirectFunctions(IVkInstance instance)
 {
     GetPhysicalDeviceProperties            = VkHelpers.GetInstanceDelegate <GetPhysicalDevicePropertiesDelegate>(instance, "vkGetPhysicalDeviceProperties");
     GetPhysicalDeviceQueueFamilyProperties = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceQueueFamilyPropertiesDelegate>(instance, "vkGetPhysicalDeviceQueueFamilyProperties");
     CreateDevice = VkHelpers.GetInstanceDelegate <CreateDeviceDelegate>(instance, "vkCreateDevice");
     GetPhysicalDeviceFeatures                    = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceFeaturesDelegate>(instance, "vkGetPhysicalDeviceFeatures");
     GetPhysicalDeviceMemoryProperties            = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceMemoryPropertiesDelegate>(instance, "vkGetPhysicalDeviceMemoryProperties");
     GetPhysicalDeviceSparseImageFormatProperties = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceSparseImageFormatPropertiesDelegate>(instance, "vkGetPhysicalDeviceSparseImageFormatProperties");
     GetPhysicalDeviceDisplayPropertiesKHR        = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceDisplayPropertiesKHRDelegate>(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
     GetPhysicalDeviceDisplayPlanePropertiesKHR   = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceDisplayPlanePropertiesKHRDelegate>(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
     GetDisplayPlaneSupportedDisplaysKHR          = VkHelpers.GetInstanceDelegate <GetDisplayPlaneSupportedDisplaysKHRDelegate>(instance, "vkGetDisplayPlaneSupportedDisplaysKHR");
     GetDisplayModePropertiesKHR                  = VkHelpers.GetInstanceDelegate <GetDisplayModePropertiesKHRDelegate>(instance, "vkGetDisplayModePropertiesKHR");
     CreateDisplayModeKHR                           = VkHelpers.GetInstanceDelegate <CreateDisplayModeKHRDelegate>(instance, "vkCreateDisplayModeKHR");
     GetDisplayPlaneCapabilitiesKHR                 = VkHelpers.GetInstanceDelegate <GetDisplayPlaneCapabilitiesKHRDelegate>(instance, "vkGetDisplayPlaneCapabilitiesKHR");
     GetPhysicalDeviceSurfaceSupportKHR             = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceSurfaceSupportKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
     GetPhysicalDeviceMirPresentationSupportKHR     = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceMirPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceMirPresentationSupportKHR");
     GetPhysicalDeviceWaylandPresentationSupportKHR = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceWaylandPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
     GetPhysicalDeviceWin32PresentationSupportKHR   = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceWin32PresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
     GetPhysicalDeviceXcbPresentationSupportKHR     = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceXcbPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
     GetPhysicalDeviceXlibPresentationSupportKHR    = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceXlibPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
     GetPhysicalDeviceSurfaceCapabilitiesKHR        = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceSurfaceCapabilitiesKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
     GetPhysicalDeviceSurfaceFormatsKHR             = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceSurfaceFormatsKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
     GetPhysicalDeviceSurfacePresentModesKHR        = VkHelpers.GetInstanceDelegate <GetPhysicalDeviceSurfacePresentModesKHRDelegate>(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
     EnumerateDeviceExtensionProperties             = VkHelpers.GetInstanceDelegate <EnumerateDeviceExtensionPropertiesDelegate>(instance, "vkEnumerateDeviceExtensionProperties");
 }
コード例 #2
0
ファイル: VkHelpers.cs プロジェクト: Zulkir/VulkaNet
        public static TDelegate GetInstanceDelegate <TDelegate>(IVkInstance instance, string name)
            where TDelegate : class
        {
            var funPtr = VkGlobal.GetInstanceProcAddr(instance, name);

            return(funPtr != IntPtr.Zero ? Marshal.GetDelegateForFunctionPointer <TDelegate>(funPtr) : null);
        }
コード例 #3
0
 public VkPhysicalDevice(IVkInstance instance, IntPtr handle)
 {
     Instance = instance;
     Handle = handle;
     Direct = new DirectFunctions(instance);
     Properties = GetPhysicalDeviceProperties();
     QueueFamilyProperties = GetPhysicalDeviceQueueFamilyProperties();
     Features = GetPhysicalDeviceFeatures();
     MemoryProperties = GetPhysicalDeviceMemoryProperties();
     DisplayAggregatesKHR = GetDisplayAggregatesKHR();
 }
コード例 #4
0
ファイル: VkPhysicalDevice.cs プロジェクト: Zulkir/VulkaNet
 public VkPhysicalDevice(IVkInstance instance, IntPtr handle)
 {
     Instance              = instance;
     Handle                = handle;
     Direct                = new DirectFunctions(instance);
     Properties            = GetPhysicalDeviceProperties();
     QueueFamilyProperties = GetPhysicalDeviceQueueFamilyProperties();
     Features              = GetPhysicalDeviceFeatures();
     MemoryProperties      = GetPhysicalDeviceMemoryProperties();
     ExtensionProperties   = EnumerateDeviceExtensionProperties(null).Object.ToArray();
     DisplayAggregatesKHR  = GetDisplayAggregatesKHR();
 }
コード例 #5
0
ファイル: VkInstance.cs プロジェクト: Zulkir/VulkaNet
 public DirectFunctions(IVkInstance instance)
 {
     DestroyInstance               = VkHelpers.GetInstanceDelegate <DestroyInstanceDelegate>(instance, "vkDestroyInstance");
     EnumeratePhysicalDevices      = VkHelpers.GetInstanceDelegate <EnumeratePhysicalDevicesDelegate>(instance, "vkEnumeratePhysicalDevices");
     CreateAndroidSurfaceKHR       = VkHelpers.GetInstanceDelegate <CreateAndroidSurfaceKHRDelegate>(instance, "vkCreateAndroidSurfaceKHR");
     CreateMirSurfaceKHR           = VkHelpers.GetInstanceDelegate <CreateMirSurfaceKHRDelegate>(instance, "vkCreateMirSurfaceKHR");
     CreateWaylandSurfaceKHR       = VkHelpers.GetInstanceDelegate <CreateWaylandSurfaceKHRDelegate>(instance, "vkCreateWaylandSurfaceKHR");
     CreateWin32SurfaceKHR         = VkHelpers.GetInstanceDelegate <CreateWin32SurfaceKHRDelegate>(instance, "vkCreateWin32SurfaceKHR");
     CreateXcbSurfaceKHR           = VkHelpers.GetInstanceDelegate <CreateXcbSurfaceKHRDelegate>(instance, "vkCreateXcbSurfaceKHR");
     CreateXlibSurfaceKHR          = VkHelpers.GetInstanceDelegate <CreateXlibSurfaceKHRDelegate>(instance, "vkCreateXlibSurfaceKHR");
     DestroySurfaceKHR             = VkHelpers.GetInstanceDelegate <DestroySurfaceKHRDelegate>(instance, "vkDestroySurfaceKHR");
     CreateDisplayPlaneSurfaceKHR  = VkHelpers.GetInstanceDelegate <CreateDisplayPlaneSurfaceKHRDelegate>(instance, "vkCreateDisplayPlaneSurfaceKHR");
     CreateDebugReportCallbackEXT  = VkHelpers.GetInstanceDelegate <CreateDebugReportCallbackEXTDelegate>(instance, "vkCreateDebugReportCallbackEXT");
     DebugReportMessageEXT         = VkHelpers.GetInstanceDelegate <DebugReportMessageEXTDelegate>(instance, "vkDebugReportMessageEXT");
     DestroyDebugReportCallbackEXT = VkHelpers.GetInstanceDelegate <DestroyDebugReportCallbackEXTDelegate>(instance, "vkDestroyDebugReportCallbackEXT");
 }
コード例 #6
0
        private void CreateInstance()
        {
            var appInfo = new VkApplicationInfo
            {
                ApplicationName    = "Hello Triangle",
                ApplicationVersion = (uint)new VkApiVersion(1, 0, 0).Raw,
                EngineName         = "No Engine",
                EngineVersion      = (uint)new VkApiVersion(1, 0, 0).Raw,
                ApiVersion         = new VkApiVersion(1, 0, 0)
            };
            var instanceCreateInfo = new VkInstanceCreateInfo
            {
                ApplicationInfo       = appInfo,
                EnabledExtensionNames = new[]
                {
                    "VK_KHR_surface",
                    "VK_KHR_win32_surface",
                    VkDefines.VK_EXT_DEBUG_REPORT_EXTENSION_NAME
                },
                EnabledLayerNames = LayerNames
            };

            instance = vkGlobal.CreateInstance(instanceCreateInfo, null).Object;
        }
コード例 #7
0
 public VkDisplayKHR(IVkInstance instance, HandleType handle)
 {
     Instance = instance;
     Handle   = handle;
 }
コード例 #8
0
 public static IntPtr GetInstanceProcAddr(IVkInstance instance, string name)
 {
     fixed (byte* pName = name.ToAnsiArray())
         return DirectFunctions.vkGetInstanceProcAddr(instance.SafeGetHandle(), pName);
 }
コード例 #9
0
 public VkDebugReportCallbackEXT(IVkInstance instance, HandleType handle, IVkAllocationCallbacks allocator)
 {
     Instance  = instance;
     Handle    = handle;
     Allocator = allocator;
 }
コード例 #10
0
ファイル: VkGlobal.cs プロジェクト: Zulkir/VulkaNet
 public static IntPtr GetInstanceProcAddr(IVkInstance instance, string name)
 {
     fixed(byte *pName = name.ToAnsiArray())
     return(DirectFunctions.vkGetInstanceProcAddr(instance.SafeGetHandle(), pName));
 }
コード例 #11
0
 public VkDisplayModePropertiesKHR(Raw *raw, IVkInstance instance)
 {
     DisplayMode = new VkDisplayModeKHR(instance, raw->displayMode);
     Parameters  = raw->parameters;
 }
コード例 #12
0
 public VkDisplayModeKHR(IVkInstance instance, HandleType handle)
 {
     Instance = instance;
     Handle = handle;
 }
コード例 #13
0
 public DirectFunctions(IVkInstance instance)
 {
     GetPhysicalDeviceProperties = VkHelpers.GetInstanceDelegate<GetPhysicalDevicePropertiesDelegate>(instance, "vkGetPhysicalDeviceProperties");
     GetPhysicalDeviceQueueFamilyProperties = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceQueueFamilyPropertiesDelegate>(instance, "vkGetPhysicalDeviceQueueFamilyProperties");
     CreateDevice =  VkHelpers.GetInstanceDelegate<CreateDeviceDelegate>(instance, "vkCreateDevice");
     GetPhysicalDeviceFeatures = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceFeaturesDelegate>(instance, "vkGetPhysicalDeviceFeatures");
     GetPhysicalDeviceMemoryProperties = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceMemoryPropertiesDelegate>(instance, "vkGetPhysicalDeviceMemoryProperties");
     GetPhysicalDeviceSparseImageFormatProperties = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceSparseImageFormatPropertiesDelegate>(instance, "vkGetPhysicalDeviceSparseImageFormatProperties");
     GetPhysicalDeviceDisplayPropertiesKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceDisplayPropertiesKHRDelegate>(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
     GetPhysicalDeviceDisplayPlanePropertiesKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceDisplayPlanePropertiesKHRDelegate>(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
     GetDisplayPlaneSupportedDisplaysKHR = VkHelpers.GetInstanceDelegate<GetDisplayPlaneSupportedDisplaysKHRDelegate>(instance, "vkGetDisplayPlaneSupportedDisplaysKHR");
     GetDisplayModePropertiesKHR = VkHelpers.GetInstanceDelegate<GetDisplayModePropertiesKHRDelegate>(instance, "vkGetDisplayModePropertiesKHR");
     CreateDisplayModeKHR = VkHelpers.GetInstanceDelegate<CreateDisplayModeKHRDelegate>(instance, "vkCreateDisplayModeKHR");
     GetDisplayPlaneCapabilitiesKHR = VkHelpers.GetInstanceDelegate<GetDisplayPlaneCapabilitiesKHRDelegate>(instance, "vkGetDisplayPlaneCapabilitiesKHR");
     GetPhysicalDeviceSurfaceSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceSurfaceSupportKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
     GetPhysicalDeviceMirPresentationSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceMirPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceMirPresentationSupportKHR");
     GetPhysicalDeviceWaylandPresentationSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceWaylandPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
     GetPhysicalDeviceWin32PresentationSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceWin32PresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
     GetPhysicalDeviceXcbPresentationSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceXcbPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
     GetPhysicalDeviceXlibPresentationSupportKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceXlibPresentationSupportKHRDelegate>(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
     GetPhysicalDeviceSurfaceCapabilitiesKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceSurfaceCapabilitiesKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
     GetPhysicalDeviceSurfaceFormatsKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceSurfaceFormatsKHRDelegate>(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
     GetPhysicalDeviceSurfacePresentModesKHR = VkHelpers.GetInstanceDelegate<GetPhysicalDeviceSurfacePresentModesKHRDelegate>(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
 }
コード例 #14
0
 public VkDisplayModePropertiesKHR(Raw* raw, IVkInstance instance)
 {
     DisplayMode = new VkDisplayModeKHR(instance, raw->displayMode);
     Parameters = raw->parameters;
 }
コード例 #15
0
 public VkSurfaceKHR(IVkInstance instance, HandleType handle, IVkAllocationCallbacks allocator)
 {
     Instance = instance;
     Handle = handle;
     Allocator = allocator;
 }
コード例 #16
0
 public VkSurfaceKHR(IVkInstance instance, HandleType handle, IVkAllocationCallbacks allocator)
 {
     Instance  = instance;
     Handle    = handle;
     Allocator = allocator;
 }
コード例 #17
0
 public DirectFunctions(IVkInstance instance)
 {
     DestroyInstance = VkHelpers.GetInstanceDelegate<DestroyInstanceDelegate>(instance, "vkDestroyInstance");
     EnumeratePhysicalDevices = VkHelpers.GetInstanceDelegate<EnumeratePhysicalDevicesDelegate>(instance, "vkEnumeratePhysicalDevices");
     CreateAndroidSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateAndroidSurfaceKHRDelegate>(instance, "vkCreateAndroidSurfaceKHR");
     CreateMirSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateMirSurfaceKHRDelegate>(instance, "vkCreateMirSurfaceKHR");
     CreateWaylandSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateWaylandSurfaceKHRDelegate>(instance, "vkCreateWaylandSurfaceKHR");
     CreateWin32SurfaceKHR = VkHelpers.GetInstanceDelegate<CreateWin32SurfaceKHRDelegate>(instance, "vkCreateWin32SurfaceKHR");
     CreateXcbSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateXcbSurfaceKHRDelegate>(instance, "vkCreateXcbSurfaceKHR");
     CreateXlibSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateXlibSurfaceKHRDelegate>(instance, "vkCreateXlibSurfaceKHR");
     DestroySurfaceKHR = VkHelpers.GetInstanceDelegate<DestroySurfaceKHRDelegate>(instance, "vkDestroySurfaceKHR");
     CreateDisplayPlaneSurfaceKHR = VkHelpers.GetInstanceDelegate<CreateDisplayPlaneSurfaceKHRDelegate>(instance, "vkCreateDisplayPlaneSurfaceKHR");
 }