PCSX2 Documentation/Contributing To-Do List: Difference between revisions

From PCSX2 Wiki
Jump to navigation Jump to search
mNo edit summary
(This is a really outdated list. Looks like it's older than the github list. This can probably be removed or redirected to the github list.)
 
(2 intermediate revisions by one other user not shown)
Line 6: Line 6:


==QA / Portability==
==QA / Portability==
* Port GSThread to std::thread => started by krysto
* Port core thread to std::thread
* Port core thread to std::thread
* C11 aligned_alloc
* C11 aligned_alloc
Line 12: Line 11:
* Replace volatile/lock-free queue with real C++ atomic
* 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
* [C++11 auto port](http://clang.llvm.org/extra/clang-modernize.html). Initial requirement: drop XP and support clang/llvm
* [Clean header include](http://web.archive.org/web/20150419194257/http://code.google.com/p/include-what-you-use/). Investigate.
* [Clean header include](https://github.com/include-what-you-use/include-what-you-use). Investigate.
* Address sanitizer (gcc or clang) and others sanitizer.
* Address sanitizer (gcc or clang) and others sanitizer.
* Valgrind (not sure it can run PCSX2, maybe limit the scope to plugin)
* Valgrind (not sure it can run PCSX2, maybe limit the scope to plugin)
Line 40: Line 39:
==GSdx==
==GSdx==
* Fix OpenGL. I would advice to compare dx trace vs OpenGL trace.
* Fix OpenGL. I would advice to compare dx trace vs OpenGL trace.
* Implement DX features on OGL (video recording ....)
* Test/Fix GLES3.1 (it often breaks after GL update)
* Test/Fix GLES3.1 (it often breaks after GL update)
* Finish shader subroutine usage (+find a way to clean shader and avoid duplication)
* Finish shader subroutine usage (+find a way to clean shader and avoid duplication)
* Finish buffer storage
* Finish buffer storage
* OSD => started by myself in a branch feel free to pick it up
* OSD => Finish port to Direct3D
* Gameplay recording
 
==CDVD==
* Port CDVDgiga to linux ?
 
==zzogl==
* Reduce GL requirement to 3.3 + gl4 extension
* Use multibind
* Fix EGL
* Port GLSL to window
* Drop old GLSL backend (and much later Nivida CG)


==Debian package==
==Debian package==

Latest revision as of 13:37, 10 February 2018

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