diff --git a/Contributing-(TODO-List).md b/Contributing-(TODO-List).md new file mode 100644 index 0000000..21c7dc9 --- /dev/null +++ b/Contributing-(TODO-List).md @@ -0,0 +1,75 @@ +# 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 GSThread to std::thread => started by krysto +* 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://code.google.com/p/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 + +# TODO - GUI +* support wx3.0 => linux port is done in a branch but windows part is not ready yet. +* check linux chapter ;) Various improvements are actually cross platform! + +# TODO - 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. +* Improve CMake with macros to avoid various duplications => started by uyjulian +* Support clang (template/asm mess) => started by urushima +* Speed comparison clang/GCC +* Support avx (gsdx) +* 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. +* Implement DX features on OGL (Amsodean's fxaa/video recording ....) +* Fix GLES3 (only support GLES3.1) +* Add tooltip on gsdx gui +* Finish shader subroutine usage (+find a way to clean shader and avoid duplication) +* Finish buffer storage +* OSD => started by myself in a branch feel free to pick it up +* 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 +* Needs a refresh to the latest standard +* Clean debian/copyright => debmake -k + +# Very long term feature +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 \ No newline at end of file diff --git a/Idea-of-contribution-(aka-todo-list).md b/Idea-of-contribution-(aka-todo-list).md deleted file mode 100644 index 3a4b99f..0000000 --- a/Idea-of-contribution-(aka-todo-list).md +++ /dev/null @@ -1,79 +0,0 @@ -# Contribution requirement -* be patient - Your contribution will gladly be reviewed but free time is an expensive resource -* discuss with us your future contribution before coding it - Let's avoid duplicate work! Besides specification could be clarified this way. - -# QA / Portability -* port GSThread to std::thread => started by krysto -* 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://code.google.com/p/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 - -# Window contribution possibility -## gui -* support wx3.0 => linux port is done in a branch but windows part is not ready yet. - -* check linux chapter ;) Various improvements are actually cross platform! - -# Linux contribution possibility - -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 an handy list of feature that you could implement. Feel free to propose new enhancement. - -## House keeping and general compilation -* clean gcc warning - 1. Same as gcc flags but without the need of complete test. -* clean gcc flags - 1. puts default global flags in cmake/BuildParameters.cmake\\ - 2. try to use as much as possible standard flags (aka On). Extensive test must be done to validated the flag update. -* Improve cmake with macro to avoid various duplication -=> started by uyjulian -* support clang (template/asm mess) -=> started by urushima -* speed comparison clang/gcc -* support avx (gsdx) -* add missing/update copyright header -* LTO support -=> started by prudho -* PGO support - -## Core -* support XZ compressed iso - -## GSdx -* Fix OpenGL. I would advice to compare dx trace vs opengl trace. -* implement DX features on OGL (Amsodean's fxaa/video recording ....) -* Fix GLES3 (only support GLES3.1) -* add tooltip on gsdx gui -* finish shader subroutine usage (+find a way to clean shader and avoid duplication) -* finish buffer storage -* OSD => started by myself in a branch feel free to pick it up -* record video of gameplay - -## 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 -* need a refresh to the latest standard -* Clean debian/copyright => debmake -k - -# Very very long term feature -Those features will require a lots of work! It would require months if not years. There are listed here for completeness ;) -* PS2 ROM reimplementation (wrongly named HLE bios) -* x86_64 port (x32 could yield better perf) -* Android X86 port -* Win/Linux ARM port \ No newline at end of file