Commit Graph

10732 Commits

Author SHA1 Message Date
Bevan Weiss
ada6db2df4
Replace ppu_module_manager Function Static with Class Static variable (static module map) (#8669)
* Replace ppu_module_manager Function Static with Class Static

Makes for a slightly 'cleaner' interface in my opinion, may also assist with adding thread read/write concurrency support in future if ever required (have left that out of this commit to match existing function).

Very slight performance improvements were seen in representative testing.
https://quick-bench.com/q/GMbgeNc-mZc21aqOKCofnbzPZvg

I didn't investigate whether static initialisation of the static_modules might actually be possible here, perhaps there's a way to do a constexpr / consteval of this.

* Fix up for old style cast syntax..

* Fixups from PR comments

Plus remove spurious type_traits include (from me) not picked up in previous PR

* Remove old code

* Update rpcs3/Emu/Cell/PPUModule.h

Co-authored-by: Eladash <elad3356p@gmail.com>

* Fix naming of static variable

Co-authored-by: Eladash <elad3356p@gmail.com>
2020-08-06 12:34:08 +02:00
Bevan Weiss
eee5e812f7 Fix for incorrect assignment of ghlguitar
found_ghltar was potentially being overwritten if multiple USB devices were present
2020-08-06 12:01:21 +02:00
Bevan Weiss
eb5ae94c24 sys_usbd tidy ups
Tidy up fake transfer iterator handling. erase invalidates all iterators including the current iterator (i.e. 'it'), given precedence ordering this was UB prior to C++17.  Splitting out to use return iterator from erase seems cleaner.
Also added some additional info to usb debug message to potentially help with #8666, and used the atomic (dev_counter) less often
2020-08-06 12:01:21 +02:00
kd-11
7109fe9889 rsx: Improve swizzled layout detection
- Reset swizzle flag to false automatically on section reset.
- Detect render target payload and extract swizzle information from it.
2020-08-05 23:23:38 +03:00
Megamouse
17557df9f4 Qt: unify package installation logic 2020-08-05 08:10:22 +02:00
Megamouse
fab1f7d939 Qt: add rap files to pkg install file dialog 2020-08-05 08:10:22 +02:00
Megamouse
815d6f4223 Qt: fix input lag in pad settings
Looks like repainting stuff inside a resizeable layout is slow AF
2020-08-04 16:15:13 +02:00
Megamouse
25d73f5a70 Try to fix ugly GUIs 2020-08-03 22:03:15 +02:00
Megamouse
d633a266c1 Add config override as cli arg: --config <path>
And add some more logging
2020-08-03 21:31:53 +02:00
dio-gh
938bf8624c make some cfg logs error instead of fatal
- in case there's a default value to fall back to, log with error
  instead of with a fatal
2020-08-03 20:59:47 +02:00
Megamouse
2cdb46b167 Qt: do not use on_<obj>_<action> syntax for slots
Qt tries to auto connect those
2020-08-03 20:17:35 +02:00
Megamouse
8799eebfe1 Qt: move some more settings to persistent_settings 2020-08-03 20:17:35 +02:00
Eladash
70fb5712e5 PPU interpreters: Fix VMAXFP NaN and signed zeroes handling 2020-08-03 15:43:00 +01:00
Eladash
6a51c27fde PPU LLVM: Fix VMAXFP, VMINFP NaN handling 2020-08-03 15:43:00 +01:00
Eladash
17f965c171 lv2: Minor fix of "unspecific ppu" path of _sys_lwcond_signal 2020-08-03 02:57:20 +03:00
kd-11
bd21930d1a rsx: Decode swizzled GPU data on CPU readback
- Currently this conversion is being done on the CPU to reuse as much code as possible.
  The expectation is that this almost never happens, so there is not point in increasing maintenance burden by adding compute paths
2020-08-02 16:14:11 +03:00
kd-11
4df933275b rsx: Propagate raster type of fbo sourced data throughout the pipeline.
- Tracks which kind of raster was done (Z-ordered vs linear) throughout the application.
- This allows to identify if data is in the expected format or not.
2020-08-02 16:14:11 +03:00
Megamouse
107129f95a Fix missing GPU in game window title 2020-07-31 01:13:00 +02:00
JohnHolmesII
e11734f971 CI: Avoid trying to publish builds on forks 2020-07-30 23:36:10 +02:00
Megamouse
3bba9708d9 Gracefully abort headless mode with unsupported video renderers
Also fix no_return bug
2020-07-30 20:03:51 +02:00
Eladash
dd497625a5 PPU LLVM: Fix constant folding of BitCast 2020-07-30 17:06:24 +01:00
Eladash
f6764767f6 SPU/PPU LLVM: Fix cpu_translator::get_const_vector<v128>() 2020-07-30 17:06:24 +01:00
Eladash
e52dd9dc6f
SPU: Implement SYS_SPU_THREAD_OPTION_DEC_SYNC_TB_ENABLE (#8657) 2020-07-30 14:01:25 +01:00
Megamouse
03ae1481fb Don't open an error dialog in headless mode 2020-07-30 12:17:35 +02:00
Eladash
82068cf802
SPU: Fix spu_thread::cpu_stop() missed executions (#8656) 2020-07-30 10:07:18 +01:00
Megamouse
ebf832214e cheat_manager: notify if no game is running 2020-07-29 13:18:33 +02:00
Megamouse
4315363f4b cheat_manager: make sure that the patches path exists 2020-07-29 13:18:33 +02:00
Megamouse
f073ff8fe8 overlays: fix minor warning 2020-07-29 13:18:33 +02:00
Megamouse
47040be3ad cheat_manager: improve parser errors 2020-07-29 13:18:33 +02:00
Megamouse
d0bb9d2b62 cheat_manager: move cheats.yml to patches folder 2020-07-29 13:18:33 +02:00
Megamouse
cb6e536fbd cheat_manager: use enum values for columns 2020-07-29 13:18:33 +02:00
Megamouse
f820a7a205 cheat_manager: disable search buttons if nothing was entered in the search field 2020-07-29 13:18:33 +02:00
Megamouse
16212854b4 cheat_manager: fix long search result lists 2020-07-29 13:18:33 +02:00
Megamouse
1c6003acd5 Improve error handling of config nodes
These conditions are most likely only gonna be met during development
2020-07-29 11:28:16 +02:00
Megamouse
ef3e8d26ce Improve error handling during config loading 2020-07-29 11:28:16 +02:00
Eladash
21a1072117 SPU LLVM: Minor cleanup after #8559 2020-07-29 03:32:21 +03:00
MSuih
2ce49e3674 Improve error messages in firmware install 2020-07-28 20:55:33 +02:00
Megamouse
e58e1ebfd9 Qt: fix download menu visibility 2020-07-28 20:07:21 +02:00
Bevan Weiss
609182b131 Update cellAudio to use float constants instead of doubles
Another simple Clang recommendation
2020-07-26 17:23:02 +03:00
Bevan Weiss
7898ae6fe6 VK_REMAP enum is signed.. but later case comparison is unsigned
another clang directed fix up... might be involved with swizzle..
2020-07-26 15:27:51 +03:00
Malcolm Jestadt
a9d0ffcac1 SPU LLVM: Avoid additional endian swapping
- Avoid additional endian swapping with the ROTQBY and ROTQBYBI instructions
- ROTQBYI is left out intentionally, since it caused worse codegen
2020-07-26 11:36:50 +01:00
Malcolm Jestadt
824be77bba SPU LLVM: Avoid redundant endian swapping
- PSHUFB operates in reverse byte order from SHUFB, so we can take advantage of that to swap endianness without additional transformations in some situations
2020-07-26 11:36:50 +01:00
Ani
74c8a44d84
rsx: Fix cache skipping shaders on load+compile (#8633)
When on single worker mode (OpenGL or an hypothetical scenario of a 
single core PC with Vulkan), load and compile would skip 10% of the 
shaders on queue each stage.

Co-authored-by: kd-11 <karokidii@gmail.com>
2020-07-26 08:47:50 +01:00
Whatcookie
9f829b375a
SPU/PPU LLVM: Optimize VSEL/SELB with constant mask (#8559) 2020-07-25 17:59:35 +01:00
Eladash
da44d5f10d
PPU: Fix DIVW, DIVWU, MULHW, MULLW, MULHWU when op.rc is set (#8630) 2020-07-25 17:13:58 +01:00
kd-11
be4b71b805 vk: Fixup for PR #8590
- This change was lost during rebase
2020-07-25 14:48:11 +03:00
kd-11
b0c7ca6d1f vk: Improve video memory manager to attempt recovery in out of memory situations 2020-07-25 14:48:11 +03:00
kd-11
4d8de282f9 vk: Improve typeless texture succession
- Ensure incoming texture is large enough that the original one fits inside it to avoid back-and-forth succession.
- Make use of the resource manager to remove the obsolete textures to avoid holding on to the them which "leaks" VRAM.
  The memory isn't leaking, it's just wasting space in temporary pool until renderer is closed.
2020-07-25 14:48:11 +03:00
Bevan Weiss
c5d39ace2b
Update types.h to fix static_cast test (#8627)
Trivial fix up to resolve invalid is_constructible test (To,To) to match desired (To,From)
2020-07-25 09:46:47 +01:00
Megamouse
de80a4b6c7 overlays: try to fix unexpected font crop 2020-07-25 10:21:52 +03:00