|
ReXGlue SDK
|
#include <rex/gpu/xenos_graphics_driver.h>
Public Member Functions | |
| IXenosGraphicsDriver * | AsXenos () final |
| virtual void | InitializeRingBuffer (u32 address, u32 size_log2)=0 |
| virtual void | EnableReadPointerWriteBack (u32 address, u32 block_size_log2)=0 |
| virtual u32 | ReadRegister (u32 index)=0 |
| virtual void | WriteRegister (u32 index, u32 value)=0 |
| Public Member Functions inherited from rex::gpu::IGraphicsDriver | |
| 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 Xenos GPU. It adds what the guest kernel needs beyond presenting. GraphicsSystem routes the kernel's calls here only when the title requires the Xenos family.
|
inlinefinalvirtual |
Casts to the Xenos driver. Works across a module boundary where dynamic_cast does not.
Reimplemented from rex::gpu::IGraphicsDriver.
|
pure virtual |
Writes the ring's read pointer to guest memory as commands complete. Guest thread.
| address | Guest physical address to write it to. |
| block_size_log2 | Log2 of the quadwords between writes. |
|
pure virtual |
Starts reading commands from the guest ring buffer. Guest thread.
| size_log2 | Log2 of its size in quadwords. |
|
pure virtual |
Reads a GPU register for the guest. Any guest thread.
|
pure virtual |
Writes a GPU register for the guest. Any guest thread.