PCSX2 Documentation/Contributing To-Do List: Difference between revisions
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.) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==Contributing== | ==Contributing== | ||
* Be patient | * Be patient | ||
Line 7: | Line 6: | ||
==QA / Portability== | ==QA / Portability== | ||
* Port core thread to std::thread | * Port core thread to std::thread | ||
* C11 aligned_alloc | * C11 aligned_alloc | ||
Line 13: | 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]( | * [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 20: | Line 18: | ||
==GUI== | ==GUI== | ||
* check linux chapter ;) Various improvements are actually cross platform! | * check linux chapter ;) Various improvements are actually cross platform! | ||
==Linux== | ==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. | 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. | ||
Line 33: | Line 29: | ||
#Put default global flags in cmake/BuildParameters.cmake\\ | #Put default global flags in cmake/BuildParameters.cmake\\ | ||
#Try to use standard flags as much as possible (aka On). Extensive tests must be done to validate a flag update. | #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 | * Speed comparison clang/GCC | ||
* Add missing/update copyright header | * Add missing/update copyright header | ||
* LTO support => started by prudho | * LTO support => started by prudho | ||
Line 45: | 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. | ||
* 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 => | * OSD => Finish port to Direct3D | ||
==Debian package== | ==Debian package== | ||
Line 75: | Line 56: | ||
* OSX support | * OSX support | ||
{{PCSX2 | |||
{{PCSX2 Documentation Navbox}} |
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
- Same as gcc flags but without the need of complete test.
- Clean up GCG flags
- Put default global flags in cmake/BuildParameters.cmake\\
- 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
|