PCSX2 Documentation/Contributing To-Do List

From PCSX2 Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Contributing

  • Be patient
  • Your contribution will gladly be reviewed but free time is an expensive resource
  • Discuss your future contribution with us before coding it
  • Let's avoid duplicate work! Besides, the specification could be clarified this way.

QA / Portability

  • Port core thread to std::thread
  • C11 aligned_alloc
  • C++11 alignof/alignas syntax
  • Replace volatile/lock-free queue with real C++ atomic
  • [C++11 auto port](http://clang.llvm.org/extra/clang-modernize.html). Initial requirement: drop XP and support clang/llvm
  • [Clean header include](https://github.com/include-what-you-use/include-what-you-use). Investigate.
  • Address sanitizer (gcc or clang) and others sanitizer.
  • Valgrind (not sure it can run PCSX2, maybe limit the scope to plugin)
  • Reformat the core/plugin to a constant style with tool like astyle
  • Support Windows/OSX in CMake

GUI

  • check linux chapter ;) Various improvements are actually cross platform!

Linux

You're welcome to the [Linux contribution thread](http://forums.pcsx2.net/Thread-Areas-of-interest-for-new-linux-developers) to have full details. Here is a handy list of features need implementation. Feel free to propose new ones.

House keeping and general compilation

  • Clean up warnings
  1. Same as gcc flags but without the need of complete test.
  • Clean up GCG flags
  1. Put default global flags in cmake/BuildParameters.cmake\\
  2. Try to use standard flags as much as possible (aka On). Extensive tests must be done to validate a flag update.
  • Speed comparison clang/GCC
  • Add missing/update copyright header
  • LTO support => started by prudho
  • PGO support

Core

  • Support XZ compressed ISOs

GSdx

  • Fix OpenGL. I would advice to compare dx trace vs OpenGL trace.
  • Test/Fix GLES3.1 (it often breaks after GL update)
  • Finish shader subroutine usage (+find a way to clean shader and avoid duplication)
  • Finish buffer storage
  • OSD => Finish port to Direct3D

Debian package

  • Needs a refresh to the latest standard
  • Clean debian/copyright => debmake -k

Very long term features

Those features will require a lot of work, and an organized long-term effort.

  • PS2 ROM reimplementation (wrongly named HLE bios)
  • x86_64 port (x32 could yield better perf)
  • Android X86 port
  • Win/Linux ARM port
  • OSX support