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"); }
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); }
public VkPhysicalDevice(IVkInstance instance, IntPtr handle) { Instance = instance; Handle = handle; Direct = new DirectFunctions(instance); Properties = GetPhysicalDeviceProperties(); QueueFamilyProperties = GetPhysicalDeviceQueueFamilyProperties(); Features = GetPhysicalDeviceFeatures(); MemoryProperties = GetPhysicalDeviceMemoryProperties(); DisplayAggregatesKHR = GetDisplayAggregatesKHR(); }
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(); }
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"); }
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; }
public VkDisplayKHR(IVkInstance instance, HandleType handle) { Instance = instance; Handle = handle; }
public static IntPtr GetInstanceProcAddr(IVkInstance instance, string name) { fixed (byte* pName = name.ToAnsiArray()) return DirectFunctions.vkGetInstanceProcAddr(instance.SafeGetHandle(), pName); }
public VkDebugReportCallbackEXT(IVkInstance instance, HandleType handle, IVkAllocationCallbacks allocator) { Instance = instance; Handle = handle; Allocator = allocator; }
public static IntPtr GetInstanceProcAddr(IVkInstance instance, string name) { fixed(byte *pName = name.ToAnsiArray()) return(DirectFunctions.vkGetInstanceProcAddr(instance.SafeGetHandle(), pName)); }
public VkDisplayModePropertiesKHR(Raw *raw, IVkInstance instance) { DisplayMode = new VkDisplayModeKHR(instance, raw->displayMode); Parameters = raw->parameters; }
public VkDisplayModeKHR(IVkInstance instance, HandleType handle) { Instance = instance; Handle = handle; }
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"); }
public VkDisplayModePropertiesKHR(Raw* raw, IVkInstance instance) { DisplayMode = new VkDisplayModeKHR(instance, raw->displayMode); Parameters = raw->parameters; }
public VkSurfaceKHR(IVkInstance instance, HandleType handle, IVkAllocationCallbacks allocator) { Instance = instance; Handle = handle; Allocator = allocator; }
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"); }