• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

shaders_gl/H09-Jan-2021-1,135761

README.mdH A D09-Jan-20211.9 KiB2613

rsx_dump.cppH A D09-Jan-20215.1 KiB258230

rsx_dump.hH A D09-Jan-20211.9 KiB6955

rsx_intf.cppH A D09-Jan-202125 KiB962837

rsx_intf.hH A D09-Jan-20216.4 KiB180142

rsx_lib_gl.cppH A D09-Jan-202194.2 KiB3,3392,543

rsx_lib_gl.hH A D09-Jan-20214.2 KiB10886

rsx_lib_vulkan.cppH A D09-Jan-202130.1 KiB1,008867

rsx_lib_vulkan.hH A D09-Jan-20214.7 KiB11188

README.md

1# RSX API and OpenGL 3.3 Renderer
2
3## RSX API
4
5The RSX API is the means by which components of the Beetle PSX libretro core interface with the hardware renderers. The RSX API offers two general classes of functions for the core. The first class consists of various functions used to perform libretro-specific actions such as reading core options or preparing/finalizing the current emulation loop frame. The second class of functions consists of RSX interface functions that the emulated PSX GPU uses to issue commands to the hardware renderer. Not every emulated PSX GPU command has a corresponding RSX interface function, but the set of available functions can be extended or modified as necessary when bugs are discovered and higher accuracy is required.
6
7Each unique hardware renderer will implement RSX interface functions as another layer of function calls, typically but not necessarily one per RSX interface function. The RSX interface should then select the correct function to call based on the currently running hardware renderer.
8
9The RSX API also includes support for dumping RSX API calls to file, which can be utilized for debugging purposes by any renderers that implement RSX playback.
10
11## OpenGL 3.3 Renderer
12
13The OpenGL renderer is currently implemented in `rsx_lib_gl.cpp` and can be called via the functions exposed in `rsx_lib_gl.h`.
14
15## Building
16
17The RSX API and OpenGL renderer are components of the Beetle PSX libretro core. To build with OpenGL support, run `make HAVE_OPENGL=1` in the repository's top level directory. To build with all possible hardware renderers, instead run `make HAVE_HW=1`. To build with dump support, additionally pass `RSX_DUMP=1`.
18
19## Coding Style
20
21The preferred coding style for the rsx subdirectory is the libretro coding style. See: https://docs.libretro.com/development/coding-standards/
22
23## Credits
24
25The OpenGL renderer was originally authored by simias as a port/plugin of Rustation's GL renderer to Beetle PSX.
26