Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
PhysicalDeviceSelector.h
1// Copyright 2022 ShenMian
2// License(Apache-2.0)
3
4#pragma once
5
6#include "../VKInstance.h"
7#include "../VKPhysicalDevice.h"
8#include <vector>
9
11
13{
14public:
15 PhysicalDeviceSelector(VKInstance& instance, VkSurfaceKHR surface);
16
17 VKPhysicalDevice select();
18
19 PhysicalDeviceSelector& require_graphics_queue() noexcept;
20
21 PhysicalDeviceSelector& require_compute_queue() noexcept;
22
23 PhysicalDeviceSelector& require_transfer_queue() noexcept;
24
25 PhysicalDeviceSelector& require_present_queue() noexcept;
26
27private:
28 std::vector<VKPhysicalDevice> devices_;
29
30 struct
31 {
32 bool require_graphics_queue = false;
33 bool require_compute_queue = false;
34 bool require_transfer_queue = false;
35 bool require_present_queue = false;
36
37 bool require_multi_viewport = false;
38 } info_;
39};
Definition: PhysicalDeviceSelector.h:13
Vulkan 实例.
Definition: VKInstance.h:12
Vulkan 物理设备.
Definition: VKPhysicalDevice.h:15