PixelBullet
0.0.1
A C++ game engine
Loading...
Searching...
No Matches
engine
include
pixelbullet
graphics
gpu_diagnostics.h
1
#pragma once
2
3
#include "pixelbullet/application/specification.h"
4
5
#include <volk.h>
6
7
#include <cstdint>
8
#include <optional>
9
#include <string>
10
#include <string_view>
11
#include <vector>
12
13
namespace
pixelbullet
14
{
15
struct
ResolvedQueueFamilies
16
{
17
uint32_t graphics_family = 0;
18
uint32_t present_family = 0;
19
std::optional<uint32_t> compute_family;
20
std::optional<uint32_t> transfer_family;
21
};
22
23
struct
PhysicalDeviceCompatibilityEvaluation
24
{
25
bool
is_compatible =
false
;
26
uint32_t score = 0;
27
std::vector<std::string> rejection_reasons;
28
std::optional<ResolvedQueueFamilies> queue_families;
29
};
30
31
struct
PhysicalDeviceDiagnosticsEntry
32
{
33
VkPhysicalDevice device = VK_NULL_HANDLE;
34
VkPhysicalDeviceProperties properties = {};
35
std::vector<VkExtensionProperties> available_extensions;
36
PhysicalDeviceCompatibilityEvaluation
evaluation;
37
bool
matches_preference =
false
;
38
bool
selected =
false
;
39
};
40
41
struct
PhysicalDeviceDiagnosticsReport
42
{
43
std::vector<PhysicalDeviceDiagnosticsEntry> entries;
44
std::optional<std::size_t> selected_index;
45
bool
matched_preference =
false
;
46
};
47
48
[[nodiscard]] std::string FormatVulkanApiVersion(uint32_t version);
49
[[nodiscard]] std::string_view DescribePhysicalDeviceType(VkPhysicalDeviceType device_type)
noexcept
;
50
[[nodiscard]]
PhysicalDeviceDiagnosticsReport
EnumerateUtilityGpuDiagnostics(
const
ApplicationBootstrap
& bootstrap,
51
const
ApplicationLaunchOptions
& launch_options);
52
}
// namespace pixelbullet
pixelbullet::ApplicationBootstrap
Definition
specification.h:79
pixelbullet::ApplicationLaunchOptions
Definition
specification.h:69
pixelbullet::PhysicalDeviceCompatibilityEvaluation
Definition
gpu_diagnostics.h:24
pixelbullet::PhysicalDeviceDiagnosticsEntry
Definition
gpu_diagnostics.h:32
pixelbullet::PhysicalDeviceDiagnosticsReport
Definition
gpu_diagnostics.h:42
pixelbullet::ResolvedQueueFamilies
Definition
gpu_diagnostics.h:16
Generated by
1.16.1