PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
gpu_session.h
1#pragma once
2
3#include "pixelbullet/graphics/gpu_diagnostics.h"
4#include "pixelbullet/graphics/gpu_selection.h"
5
6#include <cstdint>
7#include <string>
8
9namespace pixelbullet
10{
11class Graphics;
12
13enum class GraphicsDeviceSelectionSource : uint8_t
14{
15 ImplicitAuto,
16 ExplicitGpuPreference,
17 ExplicitGpuIndex,
18 SavedGpuPreference,
19 SavedGpuIndex,
20};
21
23{
24 GraphicsDeviceSelection effective_selection;
25 GraphicsDeviceSelectionSource selector_source = GraphicsDeviceSelectionSource::ImplicitAuto;
26 bool applied_saved_default = false;
27 std::string warning_message;
28};
29
30[[nodiscard]] GraphicsDeviceSelectionSession GetGraphicsDeviceSelectionSession(const Graphics& graphics);
31[[nodiscard]] GraphicsApplicationInfo GetGraphicsApplicationInfo(const Graphics& graphics);
32[[nodiscard]] GraphicsDeviceProperties GetActiveGraphicsDeviceProperties(const Graphics& graphics);
33[[nodiscard]] std::string DescribeGraphicsDeviceSelectionSession(const GraphicsDeviceSelectionSession& session);
34} // namespace pixelbullet
Host-facing graphics subsystem shell.
Definition graphics.h:21
Definition graphics_config.h:11
Definition gpu_diagnostics.h:24
Definition gpu_selection.h:18