|
ReXGlue SDK
|
#include <rex/gpu/graphics_driver.h>
Public Member Functions | |
| virtual IXenosGraphicsDriver * | AsXenos () |
| virtual Result< void > | SetSurface (const NativeWindow &window) |
| virtual Result< void > | AttachTitle (const TitleInfo &info, IPhysicalMemory &memory, IPhysicalWriteWatch &watch, IGuestInterrupts &interrupts) |
| virtual void | DetachTitle () |
| virtual FrameStatus | WaitForFrame (u32 timeout_ms)=0 |
| virtual void | ResizeSurface (u32 width, u32 height)=0 |
| virtual bool | BeginPresent ()=0 |
| virtual void | EndPresent ()=0 |
| Public Member Functions inherited from rex::IDriver | |
| virtual std::string_view | GetName () const =0 |
| virtual Result< void > | Initialize (IDriverContext &context)=0 |
| virtual void | Shutdown ()=0 |
| Public Member Functions inherited from rex::IOverlayRenderer | |
| virtual void | RenderOverlays (ImDrawData &draw_data)=0 |
A GPU that presents to the window. GraphicsSystem makes every call on its present thread. A present is WaitForFrame, BeginPresent, the overlays through IOverlayRenderer, then EndPresent.
|
inlinevirtual |
Casts to the Xenos driver. Works across a module boundary where dynamic_cast does not.
Reimplemented in rex::gpu::IXenosGraphicsDriver.
|
inlinenodiscardvirtual |
Called when a title launches. The driver takes what it uses from the title here.
|
nodiscardpure virtual |
Starts a present by drawing the latest title frame, scaled to the window, into the next swap chain image.
|
inlinevirtual |
The title is stopping. On return the driver holds no memory spans, listeners or threads.
|
pure virtual |
Finishes the present started by a BeginPresent that returned true.
|
pure virtual |
Resizes the swap chain. Called before BeginPresent after the window changed size.
|
inlinenodiscardvirtual |
Gives the driver the window to present to. Called after Initialize and before the first present, only when the app has a window.
|
pure virtual |
Waits until the title finishes a frame or the time runs out.