PS3 emulator/debugger
Find a file
linkmauve cfd5cf6bdb Optimise primitive_restart::upload_untouched() (#6881)
* rsx: Optimise primitive_restart::upload_untouched() with SSE4.1

This optimisation is only applied when skip_restart is false.

I’ve only tested the u16 codepath, as it is the one used in NieR.

In some very unscientific profiling, this function used to take 2.76% of
the total frame time at the save point of the port town, it now takes
about 0.40%.

* rsx: Mark all SSE4.1 functions with attributes on gcc and clang

This assures the compiler we will take care of only calling these
functions after having checked that the CPU does support these
instructions.

* rsx: Add an AVX2 implementation of primitive restart ibo upload

* rsx: Remove redefinition of SSE4.1 instructions

Now that clang is aware that our functions are compiled with SSE4.1, it
lets us generate this code using its intrinsics.

* rsx: Optimise vector to scalar conversion

This is done using minpos and srli intrinsics and generate less code
than before.

Thanks Nekotekina for the suggestion!
2019-10-30 16:42:44 +03:00
.github Add FUNDING.yml 2019-06-12 18:20:52 +03:00
.travis Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
3rdparty [msbuild] 7zlib msbuild changes 2019-10-28 18:59:16 +03:00
asmjit@fc251c914e asmjit cleaned up their cmake warnings (no code change) 2019-06-25 20:36:32 -07:00
asmjitsrc [MSbuild] Extend support to v142 toolset 2019-08-17 23:30:23 +03:00
bin gui: Remove fallback font from YoRHa theme 2019-08-17 01:41:05 +01:00
llvm@9836c29973 Update LLVM (fixup) 2019-10-23 18:10:47 +03:00
llvm_build [MSbuild] Extend support to v142 toolset 2019-08-17 23:30:23 +03:00
rpcs3 Optimise primitive_restart::upload_untouched() (#6881) 2019-10-30 16:42:44 +03:00
Utilities Rewrite the way LLVM JIT does memory allocation to allow use of more than one contiguous segment (#6771) 2019-10-29 01:01:07 +03:00
Vulkan [MSbuild] Extend support to v142 toolset 2019-08-17 23:30:23 +03:00
.clang-format Update .clang-format 2018-05-08 13:05:29 +03:00
.editorconfig Fix .editorconfig encoding 2018-09-17 12:18:40 +03:00
.gitignore Auto-updater 2019-10-22 01:51:50 +02:00
.gitmodules 3rdparty: update FAudio to 19.10 2019-10-25 00:56:53 +03:00
.mention-bot Added DHrpcs3 to mention-bot ignore list (#2026) 2016-08-04 22:36:10 +03:00
.travis.yml Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
appveyor.yml Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
BUILDING.md Qt version bump 2019-10-26 21:23:38 +03:00
CMakeLists.txt Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
common_default.props Appveyor: use VS 2019 2019-08-22 19:09:06 +03:00
common_default_macros.props [MSbuild] Extend support to v142 toolset 2019-08-17 23:30:23 +03:00
git-clang-format Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
LICENSE Few bugs fixed and license file added 2014-02-13 11:33:07 +01:00
pre-commit.readme Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
README.md Set minimum supported version of GCC to 8.x 2019-06-11 00:48:11 +03:00
rpcs3.sln msbuild: Add 7zlib to rpcs3 project dependencies 2019-10-28 21:00:25 +03:00
rpcs3_debug.props Partial commit: Preview 2016-04-15 19:22:15 +03:00
rpcs3_default.props MSVC: disable new exception handling (FH4) 2019-10-21 23:52:20 +03:00
rpcs3_llvm.props Update LLVM (10) 2019-10-23 16:01:14 +03:00
rpcs3_memleak.props Property sheets, configuration simplified 2015-12-08 20:02:30 +03:00
rpcs3_release.props Partial commit: Preview 2016-04-15 19:22:15 +03:00
usertype.dat .clang-format added 2016-08-12 14:32:57 +03:00

RPCS3

Build Status Build status

The world's first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows and Linux.

You can find some basic information on our website. Game info is being populated on the Wiki. For discussion about this emulator, PS3 emulation, and game compatibility reports, please visit our forums and our Discord server.

Support Lead Developers Nekotekina and kd-11 on Patreon

Contributing

If you want to help the project but do not code, the best way to help out is to test games and make bug reports. See:

If you want to contribute as a developer, please take a look at the following pages:

You should also contact any of the developers in the forums or in the Discord server to learn more about the current state of the emulator.

Building

See BUILDING.md for more information about how to setup an environment to build RPCS3.

Running

Check our friendly quickstart guide to make sure your computer meets the minimum system requirements to run RPCS3.

Don't forget to have your graphics driver up to date and to install the Visual C++ Redistributable Packages for Visual Studio 2017 if you are a Windows user.

License

Most files are licensed under the terms of GNU GPLv2 License; see LICENSE file for details. Some files may be licensed differently; check appropriate file headers for details.