Vincent Lejeune d97cdb9fbf rsx: Gather most rsx commands pretty printing and state modification function in a single file.
rsx_decode.h implements a "rsx_decoders" template class that is specialized for most GCM command
found in rsx command buffer. 3 static members are defined : a "decode" function that turns command
value into a more meaninfull type if applicable (for instance bool for _enabled* command, surface
formats for set_surface_format command...), a "commit_rsx_state" that modifies a given rsx_state
structure when the command is parsed, and a "dump" function used in rsx_debugger for pretty printing.
Hopefully having the 3 functions in a single place for every command will act as a self documenting
list of rsx command buffer opcode.

rsx_state is also expanded into several explicit variables instead of being stored into a u32 array.
This should makes debugging easier (Visual Studio will display the exact value of these member for instance)
as well as preparing rsx_state for serialisation/deserialisation.

The vertex array and textures opcode are not concerned atm for bisecting purpose.
2016-07-17 17:31:53 +02:00
2016-04-25 13:49:12 +03:00
2015-09-02 00:38:44 +03:00
2016-01-14 19:07:24 +03:00
2016-06-27 21:53:56 +03:00
2016-06-19 21:29:48 +03:00
2015-11-17 21:00:59 +03:00
2016-04-07 23:30:43 +02:00
2016-07-17 02:27:52 +03:00
2016-07-13 18:10:35 +03:00
2016-03-06 21:15:51 +01:00
2016-02-19 20:03:30 +01:00
2016-04-25 13:49:12 +03:00
2016-07-11 19:27:50 +03:00
2016-07-13 18:10:35 +03:00
2016-07-11 19:27:50 +03:00
2014-02-13 11:33:07 +01:00
2016-07-16 02:20:58 +03:00
2016-04-15 19:22:15 +03:00
2016-04-25 13:49:12 +03:00
2016-06-19 21:29:48 +03:00
2016-04-15 19:22:15 +03:00
2016-03-28 03:10:33 +03:00

RPCS3

Build Status Build status Coverity Status Coverage Status

An open-source PlayStation 3 emulator/debugger written in C++.

You can find some basic information in the FAQ. For discussion about this emulator and PS3 emulation please visit the official forums.

Development

If you want to contribute please take a look at the Coding Style, Roadmap and Developer Information pages. You should as well contact any of the developers in the forum in order to know about the current situation of the emulator.

Dependencies

Windows

Linux

  • GCC 5.1+ or Clang 3.5.0+
  • Debian & Ubuntu: sudo apt-get install cmake build-essential libopenal-dev libwxgtk3.0-dev libglew-dev zlib1g-dev libedit-dev libvulkan-dev
  • Arch: sudo pacman -S glew openal wxgtk cmake llvm

Mac OSX

  • Xcode 6+ (tested with Xcode 6.4)
  • Install with Homebrew: brew install glew wxwidgets
  • Remove '-framework QuickTime' from '_ldflags' in /usr/local/bin/wx-config

Building

To initialize the repository don't forget to execute git submodule update --init to pull the submodules.

  • Windows:
  1. Open the .SLN file.
  2. Build the projects in __BUILD_BEFORE folder: right-click on every project > Build.
  3. Press BUILD > Build Solution or Rebuild Solution.
  • Linux & Mac OSX: If you want to build with LLVM, then LLVM 3.8 is required. cd rpcs3 && cmake CMakeLists.txt && make && cd ../ then run with cd bin && ./rpcs3. If you are on OSX and want to build with llvm don't forget to add -DLLVM_DIR=... (or wherever llvm brew was installed) to cmake invocation. When using GDB, configure it to ignore SIGSEGV signal (handle SIGSEGV nostop noprint).
CMake Build Options (Linux & Mac OSX)
  • -DUSE_SYSTEM_LIBPNG=ON/OFF (default = OFF)
    Build against the shared libpng instead of using the builtin one. libpng 1.6+ highly recommended. Try this option if you get version conflict errors or only see black game icons.

  • -DUSE_SYSTEM_FFMPEG=ON/OFF (default = OFF)
    Build against the shared ffmpeg libraries instead of using the builtin patched version. Try this if the builtin version breaks the OpenGL renderer for you.

Support

Languages
C++ 93.1%
C 4.7%
Self 0.9%
GLSL 0.7%
CMake 0.3%
Other 0.2%