PixelBullet
0.0.1
A C++ game engine
Loading...
Searching...
No Matches
engine
src
graphics
gpu_diagnostics_runtime_backend_internal.h
1
#pragma once
2
3
#include "pixelbullet/graphics/gpu_diagnostics.h"
4
#include "pixelbullet/graphics/graphics_config.h"
5
6
#include <cstddef>
7
#include <cstdint>
8
#include <optional>
9
#include <string>
10
#include <vector>
11
12
namespace
pixelbullet::graphics_internal
13
{
14
struct
GpuListingDeviceProperties
15
{
16
GraphicsDeviceProperties
graphics_properties;
17
std::string type_name;
18
uint32_t api_version_major = 0;
19
uint32_t api_version_minor = 0;
20
uint32_t api_version_patch = 0;
21
};
22
23
struct
GpuListingCompatibilityEvaluation
24
{
25
bool
is_compatible =
false
;
26
uint32_t score = 0;
27
std::vector<std::string> rejection_reasons;
28
};
29
30
struct
GpuListingDiagnosticsEntry
31
{
32
GpuListingDeviceProperties
properties;
33
GpuListingCompatibilityEvaluation
evaluation;
34
bool
matches_preference =
false
;
35
bool
selected =
false
;
36
};
37
38
struct
GpuListingSelectionResult
39
{
40
std::optional<std::size_t> selected_index;
41
bool
matched_preference =
false
;
42
bool
exact_index_requested =
false
;
43
bool
exact_index_in_range =
false
;
44
};
45
46
struct
GpuListingDiagnosticsReport
47
{
48
std::vector<GpuListingDiagnosticsEntry> entries;
49
std::optional<std::size_t> selected_index;
50
bool
matched_preference =
false
;
51
GpuListingSelectionResult
selection_result;
52
};
53
54
[[nodiscard]]
GpuListingDiagnosticsReport
EnumerateUtilityGpuDiagnosticsBackend(
const
GraphicsDeviceDiagnosticsRequest
& request);
55
}
// namespace pixelbullet::graphics_internal
pixelbullet::GraphicsDeviceDiagnosticsRequest
Definition
graphics_config.h:25
pixelbullet::GraphicsDeviceProperties
Definition
gpu_diagnostics.h:24
pixelbullet::graphics_internal::GpuListingCompatibilityEvaluation
Definition
gpu_diagnostics_runtime_backend_internal.h:24
pixelbullet::graphics_internal::GpuListingDeviceProperties
Definition
gpu_diagnostics_runtime_backend_internal.h:15
pixelbullet::graphics_internal::GpuListingDiagnosticsEntry
Definition
gpu_diagnostics_runtime_backend_internal.h:31
pixelbullet::graphics_internal::GpuListingDiagnosticsReport
Definition
gpu_diagnostics_runtime_backend_internal.h:47
pixelbullet::graphics_internal::GpuListingSelectionResult
Definition
gpu_diagnostics_runtime_backend_internal.h:39
Generated by
1.16.1