예제 #1
0
 public static VkResult vkEnumerateInstanceExtensionProperties(string pLayerName, ref int pPropertyCount, VkExtensionProperties[] pProperties)
 {
     if (pLayerName == null)
     {
         return(VkArrayUtil.CopyToList(m_GlobalExtensionProperties, pProperties, ref pPropertyCount));
     }
     return(VkResult.VK_SUCCESS);
 }
예제 #2
0
        public VkResult EnumeratePhysicalDevices(ref int pPhysicalDeviceCount, VkPhysicalDevice[] pPhysicalDevices)
        {
            if (m_physicalDevices == null)
            {
                m_physicalDevices = new List <VkPhysicalDevice>();

                foreach (Type typeFactory in VkReflectionUtil.EnumerateInterfaces <IVkPhysicalDeviceFactory>())
                {
                    IVkPhysicalDeviceFactory factory = (IVkPhysicalDeviceFactory)Activator.CreateInstance(typeFactory);
                    foreach (var device in factory.EnumeratePhysicalDevices01(this))
                    {
                        m_physicalDevices.Add(device);
                    }
                }
            }

            return(VkArrayUtil.CopyToList(m_physicalDevices, pPhysicalDevices, ref pPhysicalDeviceCount));
        }
예제 #3
0
 public static VkResult vkEnumerateInstanceLayerProperties(ref int pPropertyCount, VkLayerProperties[] pProperties)
 {
     return(VkArrayUtil.CopyToList(m_GlobalLayerProperties, pProperties, ref pPropertyCount));
 }
예제 #4
0
 public void GetQueueFamilyProperties(ref int queueFamilyCount, VkQueueFamilyProperties[] queueFamilies)
 {
     VkArrayUtil.CopyToList(m_QueueFamilyProperties, queueFamilies, ref queueFamilyCount);
 }
예제 #5
0
 public virtual VkResult EnumerateExtensionProperties(ref int extensionCount, VkExtensionProperties[] availableExtensions)
 {
     return(VkArrayUtil.CopyToList(m_ExtensionProperties, availableExtensions, ref extensionCount));
 }
예제 #6
0
 public VkResult GetSwapchainImages(ref int imageCount, VkImage[] swapChainImages)
 {
     return(VkArrayUtil.CopyToList(m_Images, swapChainImages, ref imageCount));
 }
예제 #7
0
 public VkResult GetPresentModes(ref int presentModeCount, VkPresentModeKHR[] presentModes)
 {
     return(VkArrayUtil.CopyToList(m_PresentModes, presentModes, ref presentModeCount));
 }
예제 #8
0
 public VkResult GetFormats(ref int formatCount, VkSurfaceFormatKHR[] formats)
 {
     return(VkArrayUtil.CopyToList(m_Formats, formats, ref formatCount));
 }