public SoftwarePhysicalDevice(SoftwareInstance instance)
        {
            m_Instance = instance;

            m_QueueFamilyProperties.Add(VkQueueFamilyProperties.Create(1, VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT));
            m_QueueFamilyProperties.Add(VkQueueFamilyProperties.Create(1, VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT));

            m_ExtensionProperties.Add(VkExtensionProperties.Create(VkExtensionNames.VK_KHR_SWAPCHAIN_EXTENSION_NAME, 1));

            m_PhysicalDeviceMemoryProperties = new VkPhysicalDeviceMemoryProperties();
            m_PhysicalDeviceMemoryProperties.memoryTypeCount = 1;
            m_PhysicalDeviceMemoryProperties.memoryTypes     = new VkMemoryType[]
            {
                new VkMemoryType()
                {
                    heapIndex     = 0,
                    propertyFlags = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
                }
            };
            m_PhysicalDeviceMemoryProperties.memoryHeapCount = 1;
            m_PhysicalDeviceMemoryProperties.memoryHeaps     = new VkMemoryHeap[]
            {
                new VkMemoryHeap()
                {
                    flags = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, size = 64 * 1024 * 1024
                }
            };
        }
Example #2
0
        public DummyPhysicalDevice(SoftwareInstance instance)
        {
            m_Instance = instance;

            m_QueueFamilyProperties.Add(VkQueueFamilyProperties.Create(1, VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT));
            m_QueueFamilyProperties.Add(VkQueueFamilyProperties.Create(1, VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT));

            m_ExtensionProperties.Add(VkExtensionProperties.Create(VkExtensionNames.VK_KHR_SWAPCHAIN_EXTENSION_NAME, 1));
        }