ReXGlue SDK
Loading...
Searching...
No Matches
graphics_driver.h
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <rex/driver.h>
16#include <rex/guest.h>
17#include <rex/memory/host.h>
18#include <rex/result.h>
19#include <rex/title.h>
20#include <rex/types.h>
21
22namespace rex::gpu {
23
25inline constexpr memory::Tag kGPU{3};
26
28 bool new_frame = false;
29};
30
32
38 public:
44 virtual IXenosGraphicsDriver* AsXenos() { return nullptr; }
45
52 [[nodiscard]] virtual Result<void> SetSurface(const NativeWindow& window) {
53 (void)window;
54 return {};
55 }
56
62 [[nodiscard]] virtual Result<void> AttachTitle(const TitleInfo& info, IPhysicalMemory& memory,
64 IGuestInterrupts& interrupts) {
65 (void)info;
66 (void)memory;
67 (void)watch;
68 (void)interrupts;
69 return {};
70 }
71
75 virtual void DetachTitle() {}
76
78 virtual FrameStatus WaitForFrame(u32 timeout_ms) = 0;
79
81 virtual void ResizeSurface(u32 width, u32 height) = 0;
82
90 [[nodiscard]] virtual bool BeginPresent() = 0;
91
93 virtual void EndPresent() = 0;
94};
95
96} // namespace rex::gpu
Definition driver.h:41
Definition guest.h:127
Definition overlay_renderer.h:18
Definition guest.h:50
Definition guest.h:101
Definition graphics_driver.h:37
virtual void ResizeSurface(u32 width, u32 height)=0
virtual FrameStatus WaitForFrame(u32 timeout_ms)=0
virtual Result< void > SetSurface(const NativeWindow &window)
Definition graphics_driver.h:52
virtual IXenosGraphicsDriver * AsXenos()
Definition graphics_driver.h:44
virtual void DetachTitle()
Definition graphics_driver.h:75
virtual bool BeginPresent()=0
virtual void EndPresent()=0
virtual Result< void > AttachTitle(const TitleInfo &info, IPhysicalMemory &memory, IPhysicalWriteWatch &watch, IGuestInterrupts &interrupts)
Definition graphics_driver.h:62
Definition xenos_graphics_driver.h:22
Guest memory, write watch and interrupt interfaces.
Definition app.h:38
constexpr memory::Tag kGPU
Definition graphics_driver.h:25
Definition endian.h:27
Tag
Definition host.h:22
std::expected< T, Error > Result
Definition result.h:98
Definition native_window.h:17
Definition title.h:33
Definition graphics_driver.h:27
bool new_frame
Definition graphics_driver.h:28
Integer types, byte order wrappers and size literals.