Nekotekina
ed345e5b65
Enable -Winvalid-offsetof
2021-01-12 13:01:17 +03:00
Nekotekina
d3a66af7d6
Enable -Wcomment warning
2021-01-12 13:01:17 +03:00
Megamouse
52deff06ba
Random stuff ( #9589 )
...
* minor coding style adjustment
* Qt: simplify osk dialog buttons
* replace std::find_if with convenience functions
* RSX: use sv in swizzle comparison
idk, I'll remove this if it was intentional.
* overlays/osk: rename enter to return
This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
2021-01-12 12:59:50 +03:00
Megamouse
838cbe1840
tiny include fix
2021-01-11 13:04:46 +03:00
Eladash
70804e2ba6
kernel explorer: Make it single-instance tool
2021-01-10 20:30:23 +01:00
Eladash
07c925223b
rsx: Fix index array offset bits
2021-01-10 18:40:02 +03:00
kd-11
c2cbc62be6
vk: Refactor some uber-headers
...
- VKHelpers was the rug everything was swept under for a long time.
This commit essentially deprecates its usage across most of the backend.
2021-01-10 12:04:31 +03:00
Nekotekina
9d74d42f2a
Fix compilation for gcc-11
...
In response to #9557
2021-01-09 14:38:01 +03:00
Eladash
bf6f43ec3a
Utils: Rewrite fmt::split
2021-01-08 22:23:48 +03:00
Megamouse
36159c2bd4
Add comment for deprecated avcodec_register_all
...
Apparently this is now done automatically and doesn't even need to be called at all
2021-01-08 14:36:49 +03:00
Megamouse
72e1d03860
Qt: ugly fix for ugly deprecation warning
...
Apparently Qt wants us to implement each comparison on our own, and there is no simple replacement for this.
2021-01-08 14:36:49 +03:00
Megamouse
ed1b8f2545
game_list: fix deprecation warning
...
We only need to check if the data is valid for clicks on empty space in the game grid. I don't remember why I initially checked < 0
2021-01-08 14:36:49 +03:00
Nekotekina
1ad0f24ecd
Fix or silence Qt warnings
2021-01-07 13:18:48 +03:00
Nekotekina
586440622b
Silence another warning (clang)
2021-01-07 12:46:45 +03:00
Nekotekina
6231b07d2a
Silence one warning (clang)
2021-01-07 12:42:15 +03:00
Nekotekina
1dcf5e4f85
Error on no return type warning
...
Added non-existing noreturn destructor to fmt::throw_exception (for clang).
2021-01-07 11:56:16 +03:00
Nekotekina
9ba8f4795c
Remove redundant #pragma once
2021-01-06 23:33:37 +03:00
Eladash
951fe3491e
PS3 Loader: Fix sections memorizing
2021-01-06 23:21:38 +03:00
Nekotekina
6ae1f1b02c
VFS: fixup handling . and .. after #9528
2021-01-05 16:16:01 +03:00
Nekotekina
673e84920b
fixed_typemap.hpp: remove useless reporters
2021-01-05 16:16:01 +03:00
Eladash
d1e1c14dc3
VFS: Escape path components which end with space or period
2021-01-05 16:15:47 +03:00
Megamouse
11db3151ae
VK refactoring Part 2 ( #9542 )
2021-01-05 10:49:03 +03:00
matoro
187216096d
Build: Add include for building on certain configs
2021-01-04 10:04:51 +03:00
kd-11
3f9b699eef
rsx: Fix ambiguous call to min(float16_t, float)
2021-01-04 02:28:24 +03:00
kd-11
cbe0000d23
Improved Zen chip detection
2021-01-03 19:31:18 +03:00
Eladash
0e278d2299
rsx: Make FP shader cache load lock-free
2021-01-03 01:47:07 +03:00
Eladash
21d725daa5
rsx: Fix shader cache of 2 or less pipelines
2021-01-03 01:47:07 +03:00
Eladash
247e90b3d0
rsx: Shaders cache loading and saving bugfixes
...
* Fixed crash whenever files are missing from the cache.
* Fixed crash whenever files are empty.
* Fixed crash whenever file creation/overwrite of cache files failed. (handled by fs::write_file)
* Fixed crash whenever there are any subdirectories inside the pipelines cache directories.
* Overwrite invalid shader cache files if encountered such.
* Optimizations have been added.
2021-01-03 01:47:07 +03:00
Ani
2b8eb8deb6
rpcs3_version: Bump to 0.0.14
2020-12-31 23:15:54 +03:00
Megamouse
7262f3d0b7
VK: make static chip_family_tables const
2020-12-31 22:57:17 +03:00
Megamouse
6f80fd0063
VK: move static chip_family_tables to cpp
2020-12-31 22:57:17 +03:00
Megamouse
7a51b7a019
VK: move helpers to vkutils
2020-12-31 22:57:17 +03:00
Megamouse
d9eb31000d
VK: refactoring part 1
2020-12-31 22:57:17 +03:00
Chris
f8589de476
Initial playlist-based custom soundtracks support ( #9362 )
...
* Initial playlist-based custom soundtracks support
This is the initial implementation of playlist-based (cellSearch) custom soundtracks support.
It is based on the initial work by @Megamouse and currently uses a directory-based approach to manage albums and utilizes FFMPEG to read audio metadata.
Background: The real PS3 can import music in XMB from USB into its internal storage (/dev_hdd0/music) and additionally stores metadata (artist, trackname, tracknumber, ...) in a database (/dev_hdd0/mms/db/metadata_db_hdd). Games can make use of imported music via cellSearch.
For the time being, this implementation does NOT make use of metadata_db_hdd as the db-format is not well understood and a folder-based approch is easier to use. Users only have to create folders inside /dev_hdd0/music and add music to it to create a "playlist". This playlists contents will be sorted alphabetically. As a result, users could prefix numbers to the audio-files to force a specific order.
The only really supported audio format is MP3. I also added support for AAC, AC3, WMA, ATRAC3 and ATRAC3 plus, however, non of these formats were successfully tested for several reasons. AC3 and WMA are not enabled in the current FFMPEG build which makes reading codec-specific data impossible. We could enable these later if we want to. AAC actually could work but I was not able to get it working in WipeOut HD Fury. My guess is that the game does not support AAC. Finally, I could not find any ATRAC3 (or Plus) music to test with.
This implementation currently only implements parts of cellSearchStartListSearch() and cellSearchStartContentSearchInList(). There are several other functions which are still completely unimplemented and will probably be needed by other games. However, this implementation is a starting-point and is enough for WipeOut and maybe a few other games.
A video which showcases this custom soundtrack support is available here: https://www.youtube.com/watch?v=4nu1OCtONTY
Next steps:
- Utilize sortKey in cellSearchStartContentSearchInList()
- Eliminate TODOs
- Implement the missing other functions
- Test on more games - I do not own many that support custom soundtracks
Signed-off-by: gladiac1337 <gladiac@gmail.com>
Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Ani <ani-leo@outlook.com>
Co-authored-by: Ivan <nekotekina@gmail.com>
2020-12-31 22:47:09 +03:00
Florin9doi
f1c61067bc
Buzz! emulated controller ( #9504 )
...
* Buzz emulated controller
Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
Co-authored-by: Ivan <nekotekina@gmail.com>
2020-12-31 21:02:03 +03:00
Nekotekina
8a5620592b
Implement util/fifo_mutex.hpp
...
Prototype. Uses 2 bytes.
Added minor fix to slow_mutex.hpp as well.
2020-12-31 20:07:50 +03:00
Nekotekina
5227e65808
vm: implement vm::atomic_op, fetch_op helpers
...
Can help to reduce lambda depth hell a little.
2020-12-30 20:11:02 +03:00
Eladash
c4c6dc19a5
memory viewer: Implement SPU mode, fix address GOTO
2020-12-30 15:42:56 +03:00
Eladash
7fc26b1fab
rsx: Implement Texture LOD Bias addend setting
2020-12-30 15:37:21 +03:00
Eladash
c0e121abef
rsx: Fix RSXTexture.h spacing
2020-12-30 15:37:21 +03:00
Eladash
7db13fdeff
rsx: Move Anisotropic Filter Override to RSX state
2020-12-30 15:37:21 +03:00
Malcolm Jestadt
c952e99f3e
SPU LLVM: Fix edgecase in icelake codegen
2020-12-29 22:01:11 +03:00
Nekotekina
35322b5d14
Remove deprecated _bit accessor from v128
...
Complicated (a lot of code), confusing (ambiguous)
2020-12-29 21:04:28 +03:00
Nekotekina
6b96807112
Reimplement utils::popcnt64
...
Implement utils::popcnt128
2020-12-29 15:28:02 +03:00
JohnHolmesII
e04b2eebc3
Warnings: Silence false warnings about fatal code paths
2020-12-29 14:17:34 +03:00
JohnHolmesII
02b684b810
Warnings: Warnings use kebab case, Mr. Kot
2020-12-29 14:17:34 +03:00
kd-11
18c120ab9f
rsx: Revert an accidental deletion
2020-12-28 21:49:11 +03:00
kd-11
f87dd91b52
rsx: Allow attempted fetch of non-existent surface
2020-12-28 21:49:11 +03:00
RipleyTom
4a8a161a43
Improve skylander portal emulator
2020-12-27 22:20:58 +01:00
Nekotekina
e3dec420a2
vm_native.cpp: conditionally define c_madv_free
2020-12-27 12:19:50 +03:00
Nekotekina
1e32311a65
Use MAP_NORESERVE when available in mmap (Linux)
...
Used in: memory_reserve, memory_decommit (vm_native.cpp)
2020-12-27 10:20:42 +03:00
Marin Baron
92e5bb88e8
Remove std typeinfo
2020-12-27 00:30:16 +03:00
Eladash
66581d115b
vm: Fix access violations on super memory, support super memory in vm::get_addr
2020-12-26 17:56:49 +03:00
Florin9doi
733f31f90e
Allow USB passthrough for THQ uDraw GameTablet
2020-12-25 14:27:24 +03:00
kd-11
a96b4412d3
rsx: Do not rely on program env state, instead, always use program ucode analysis results when doing codegen
...
- Some things can be present in program env but not ucode state
e.g A texture can be active and bound in a redirected manner but not actually be used in ucode
In such a case, only the ucode analysis or decompilation can decide whether to inject decoding routines
2020-12-25 02:39:08 +03:00
kd-11
bee76fc8d1
rsx: Refactor shader codegen and fix shadow sampling on depth-float
2020-12-25 02:39:08 +03:00
kd-11
d9cb1a6319
vk: Fix more spec violations
2020-12-25 02:39:08 +03:00
Nekotekina
567d23d856
Implement util/auto_typemap.hpp
...
Used in vm::block_t as an example.
2020-12-24 14:55:25 +03:00
Eladash
c94a98e15a
Fix minor typo
2020-12-23 20:50:33 +03:00
Eladash
72e6e87d82
Fix SPU ELF loader
2020-12-23 20:50:33 +03:00
Eladash
0055d84bd6
Partial revert of 43c87e99b0
2020-12-23 08:25:56 +03:00
Eladash
d17d22139e
SPU Debugger: Print reservation data
2020-12-23 08:25:56 +03:00
Eladash
87b6284275
memory viewer: Only allow "words" steps in powers of 2
2020-12-23 08:25:56 +03:00
Eladash
2c6b974f24
Fixup memory viewer SPU headers for RawSPU
2020-12-23 08:25:56 +03:00
Eladash
020acc8235
GUI: Rewrite GOTO address tools in debugger tools
2020-12-23 08:25:56 +03:00
Nekotekina
a8e0d261b7
types.hpp: more cleanup
...
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina
6357b9a04f
perf_meter.cpp: register only named threads
...
Can workaround some possible problems.
2020-12-22 14:32:30 +03:00
Nekotekina
43a58df8a0
Butcher narrow cast a little (don't print value).
...
Also remove some forward declarations from util/types.hpp
If they don't work properly, it's easier to remove them.
2020-12-22 14:32:30 +03:00
Nekotekina
b7bf316c1a
Don't randomly include "stdafx.h"
...
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina
41ee792f95
MSVC: remove MemLeak build support
...
There are better memleak detection tools.
1) Requires to guard placement new and external libs
2) Doesn't work thoroughly
2020-12-22 14:32:30 +03:00
Fro Zen
acadaeed3a
Change skylander variants to use hex
2020-12-22 08:58:36 +01:00
Jan Beich
96bde3df81
atomic.hpp: revert Clang < 11 workaround for u128
2020-12-22 09:00:34 +03:00
Nekotekina
bd269bccaf
types.hpp: remove intrinsic includes
...
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina
5f618814f6
atomic.hpp: use u128 as storage for masks/values
2020-12-21 13:51:23 +03:00
Eladash
43c87e99b0
Debugger: Switch from NoThread when the emulation is running
...
And fix UpdateUnitList() when the emulation is stopped at initial startup.
2020-12-21 13:46:26 +03:00
Eladash
74a09a6338
PPU memory must be exec memory when using debugger's "Next Instruction" feature
2020-12-21 13:46:26 +03:00
Eladash
2b9c407dc3
Mask PC in debugger_frame::keyPressEvent for SPU
...
SPU only has 256kb of memory, need to work with this.
2020-12-21 13:46:26 +03:00
Eladash
59ed222205
Disasm: read instruction contents only once
...
Memory is volatile and may be changed by guest threads, ensure the decoded instruction matches with the data.
2020-12-21 13:46:26 +03:00
Eladash
2c06043617
Debugger: correctness fixes and cleanup
...
* Remove m_current_choice, it's not correct to rely on thread name entry. In extreme corner cases a newly thread can be created, old destroyed with the same entry name. (reoccuring LV2 SPU/PPU ID)
* Remove m_no_thread_selected, can be easily replaced with std::weak_ptr expired() function and is more accurate this way.
* In HandleBreakpointRequest: only remove breakpoint on valid PPU thread and not any thread! also fix potential nullptr deref if thread has recently been destroyed.
2020-12-21 13:46:26 +03:00
Eladash
ef884642e4
Cleanup disasm classes a bit
2020-12-21 13:46:26 +03:00
kd-11
e449111c33
vk: Fixup for renderpass issues
2020-12-19 12:58:44 +03:00
Megamouse
066e53da55
minor cleanup
2020-12-19 08:33:53 +01:00
Eladash
c74b2cb085
memory viewer: Fix resizing down
2020-12-18 21:00:09 +01:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
d254a5736b
Fix bug with vector arg alignment in BIND_FUNC and callbacks.
2020-12-18 18:07:42 +03:00
Megamouse
b655e4aa47
Emu: implement on_exit callback
2020-12-18 16:05:40 +01:00
Nekotekina
1adec3d8e5
Hotfix: Emu.Quit after Emu.Stop
2020-12-18 13:37:14 +03:00
Nekotekina
db9b7db531
Cleanup and move sysinfo.h -> util/sysinfo.hpp
2020-12-18 12:55:54 +03:00
Nekotekina
05099e2ae1
Replace uint64_t with u64
2020-12-18 12:23:53 +03:00
Nekotekina
77352a2a86
Replace uint32_t with u32
2020-12-18 12:23:53 +03:00
Nekotekina
ae633292c0
Replace int32_t with s32
2020-12-18 12:23:53 +03:00
Nekotekina
d6042cf891
Replace uint16_t with u16
2020-12-18 12:23:53 +03:00
Nekotekina
534c63bf57
Replace uint8_t with u8
2020-12-18 12:23:53 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
360c4d1554
Simplify f16 type
2020-12-18 12:23:53 +03:00
Nekotekina
4cfa9b11f3
Move busy_wait() to asm.hpp
2020-12-18 12:23:53 +03:00
Megamouse
908465b274
memory viewer: improve layout and resize
2020-12-18 09:58:12 +01:00
Megamouse
a7f10d142e
fix warning
2020-12-18 09:58:12 +01:00
Megamouse
e855673802
memory viewer: check width and height in image viewer
2020-12-18 09:58:12 +01:00
Megamouse
112ac7bd13
memory viewer: fix RGB Image viewer crash
2020-12-18 09:58:12 +01:00
Megamouse
ec7963df3d
memory viewer: use enum for color formats
2020-12-18 09:58:12 +01:00
Megamouse
343d006ae2
memory viewer: more cleanup
2020-12-18 09:58:12 +01:00
Megamouse
ed8e5498d1
memory viewer: fix horrible overflow that freezes rpcs3
2020-12-18 09:58:12 +01:00
Megamouse
3cfead4ca6
memory viewer cleanup
2020-12-18 09:58:12 +01:00
Eladash
c8947eee6a
GUI: Make memory viewer address edit accept 0x/0X prefixes
...
Max length is 10, added regexp validator accordinally.
2020-12-17 22:57:13 +01:00
Eladash
6c1ca7d797
GUI: Polish the memory viewer
2020-12-17 22:57:13 +01:00
Eladash
2172974db9
Link the memory viewer with the debugger
2020-12-17 19:36:35 +01:00
Eladash
ba03df8511
GUI: Improve PS3 decryption tool
2020-12-17 18:49:04 +01:00
kd-11
fb47d1f788
vk: Register ampere GPU PCI IDs
2020-12-17 19:56:48 +03:00
Nekotekina
c16fb61bea
fixed_typemap.hpp: Fix assignment operator for g_ptr
...
Maybe RPCS3 hangs will finally be gone.
2020-12-17 16:47:25 +03:00
kd-11
235db57f0e
rsx: Do not reset vertex program texture mask when updating ucode analysis
...
- Fixes incorrect texture type detection in some games after program env/ucode separation
2020-12-17 09:36:20 +03:00
kd-11
cfbde005fb
vk: Force ampere GPUs to use the slower but spec-compliant depth-color resize route
...
- TODO: More investigation and optimizations
2020-12-17 09:36:20 +03:00
kd-11
0a865bd9dc
vk: Workaround for validation layers bug
2020-12-17 09:36:20 +03:00
Nekotekina
6b3f722ff0
Hotfix: useless error
2020-12-16 11:57:29 +03:00
Fro Zen
3dbecada4e
Almost all Skylander variants ( #9443 )
...
* Update skylander_dialog.cpp
* Fix formatting, sorted
* Support for skylanders variant
* Remove duplicate Legendary Hand of Fate
* Removed accidental Series 2 Dark Spyro
There is no series 2 dark spyro, also im removing these as im finding them so sorry if theres tons of commits
* Add LightCore Hex
* Remove Vehicle tag
* Add Big Bang Trigger Happy
Co-authored-by: RipleyTom <RipleyTom@users.noreply.github.com>
2020-12-16 11:02:59 +03:00
Megamouse
d21f87af5d
Fix unresponsive UI during SPU compilation
2020-12-16 11:01:51 +03:00
Megamouse
0bfec59af8
Fix stop during shader compilation
2020-12-16 11:01:51 +03:00
kd-11
035a76f26d
Fix build
2020-12-16 10:10:06 +03:00
kd-11
42f4e831a2
vk: Clean up some leftovers from shader decompiler rewrites
2020-12-16 10:10:06 +03:00
kd-11
d3686dbb75
rsx: Add some texture upload statistics to the texture cache
2020-12-16 10:10:06 +03:00
kd-11
fb1c790350
rsx: Make debug overlay dynamic
2020-12-16 10:10:06 +03:00
kd-11
0ef5743261
rsx: Fix sampler descriptor updates for framebuffer resources
...
- Each desc manages its own lifetime now instead of relying on global timestamp check
- Fixes situation where same object remains active without update for long
2020-12-16 10:10:06 +03:00
Nekotekina
e82bef425f
vm: fix warnings and add narrow cast for u64 ptrs
2020-12-15 20:10:16 +03:00
Nekotekina
24c246a9f6
Fix potential thread_pool crash on exit
...
Minor issue.
2020-12-15 20:01:26 +03:00
Nekotekina
e39348ad96
Make lf_queue<> compatible with atomic_wait
2020-12-15 19:19:36 +03:00
Nekotekina
ca5f0444bf
shared_ptr.hpp: add wait support for atomic_ptr<>
...
As well as default mask and value transformation function overload.
2020-12-15 12:52:21 +03:00
Nekotekina
4a883ba6ea
atomic.hpp: use SFINAE for waitable atomic detection
...
Add default_mask<> variable.
Refactor get_value<>().
2020-12-15 12:50:44 +03:00
Eladash
bfe1a8673a
PPU: Allow HLE execution from pure instruction decoder type interpreter
2020-12-15 11:18:51 +03:00
Eladash
0445ef393f
FW SPRX install: Fix IDM ID's leak
2020-12-15 11:16:45 +03:00
Eladash
7eb16e13bb
PRX loader: Fix libfs_155.sprx loading
...
Fix relocations' segments referencing when there are "empty" (memsize=0) LOAD segments.
2020-12-15 11:16:45 +03:00
Megamouse
03ad5c6830
Salvaging code ( #9432 )
...
* Minor input refactoring
* fix sys_config_unregister_io_error_listener log message
* Remove unused variables in RepaintTextColors
Co-authored-by: GermanAizek <GermanAizek@yandex.ru>
2020-12-14 14:33:43 +01:00
Megamouse
ab23e5ca0e
Minor tooltip grammar fix
2020-12-14 09:01:07 +03:00
Megamouse
35ecd00559
Remove BOM from new files
2020-12-14 09:01:07 +03:00
Eladash
e5603fec1e
Firmware libraries settings overhaul
2020-12-13 21:52:24 +03:00
Nekotekina
e321765c54
Split BEType.h to util/v128.hpp and util/to_endian.hpp
2020-12-13 16:34:45 +03:00
Nekotekina
62fdcf50ea
vm: initialize g_pages at vm::init
...
Can reduce compile time/overhead.
2020-12-13 15:39:36 +03:00
Nekotekina
09d293592e
shared_ptr.hpp: fix is_same_ptr<>() trait
...
Implemented as constexpr function.
2020-12-13 15:39:36 +03:00
kd-11
f83c2f0b6b
rsx: Restructure and simplify some header include chains
2020-12-13 15:38:35 +03:00
kd-11
d775c8dc73
rsx: Move shader analysis+prefetch to the end of the draw call
2020-12-13 15:38:35 +03:00
Fro Zen
8e07b19bc7
Add variant support for Skylanders ( #9424 )
...
* Update skylander_dialog.cpp
Co-authored-by: RipleyTom <RipleyTom@users.noreply.github.com>
2020-12-13 14:30:38 +03:00
Luke Barr
cb8ef46ec7
Initial DualSense Support ( #9308 )
...
* Initial DualSense Support
* Add Vibration Support
* Add CRC32 Validation to Incoming Bluetooth Packets
Cleanup report sizes
* Consistency, remove button comments, add two buttons.
Co-authored-by: Ani <ani-leo@outlook.com>
2020-12-13 00:00:45 +01:00
Fro Zen
ee814cfd0c
Update skylander_dialog.cpp ( #9419 )
2020-12-12 19:16:15 +03:00
Nekotekina
a6a5292cd7
Use uptr (std::uintptr_t alias)
2020-12-12 16:29:55 +03:00
Nekotekina
b59f142d4e
Move types.h to util/types.hpp
2020-12-12 15:12:01 +03:00
Nekotekina
666a18f5e5
Remove ceil2/floor2 from types.h
2020-12-12 15:12:01 +03:00
Nekotekina
dff4392c10
Move error_code to ErrorCodes.h
2020-12-12 15:12:01 +03:00
Nekotekina
b09b7c1184
Remove any_pod<> from types.h
...
Add simplified any32 to GCM.h
Add simplified cmd64 to PPUThread.h
2020-12-12 13:12:39 +03:00
Nekotekina
6e05dcadb6
Reduce std::numeric_limits dependency
...
Please, stop pretending...
You need these templates for generic code.
In other words, in another templates.
Stop increasing compilation time for no reason.
2020-12-12 12:35:18 +03:00
Nekotekina
bc7acf9f7a
RSX: remove overly long integer sequence (opcode_list)
...
Convert to constexpr array and move to gcm_printing.cpp
2020-12-12 11:38:35 +03:00
Nekotekina
cb19316a17
Fix u128 constructors (MSVC)
2020-12-12 09:54:39 +03:00
Nekotekina
33c3977036
endian.hpp: minor simplification
...
And stop pretending...
2020-12-11 22:00:26 +03:00
Nekotekina
7a015b6fc0
VKMemAlloc.cpp: use shared_mutex in vk_mem_alloc.h
...
Because it allows to use custom implementation.
Also fix compilation.
2020-12-11 19:05:11 +03:00
Nekotekina
aa3aef4beb
std::chrono cleanup: always use steady_clock
2020-12-11 19:01:56 +03:00
Nekotekina
72284b4530
Use atomic_t<> in VKMemAlloc
2020-12-10 18:58:11 +03:00
Nekotekina
65c04e4ddd
Remove constexpr from ppu/spu decoders.
...
We don't need them at compile time (yet).
But can reduce compile time and complexity.
2020-12-10 15:06:01 +03:00
Nekotekina
b382d3b3e9
Remove ASSUME macro
...
It's dangerous and sometimes bluntly misused feature.
Its optimization potential is near-zero.
2020-12-10 14:08:02 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
kd-11
d25c401aec
vk: Validate image creation inputs
...
- Should avoid things like res scaling breaking when very large scaling is in use
2020-12-09 21:30:08 +03:00
kd-11
aac874a842
vk: Add even more D32_SFLOAT missing locations
2020-12-09 21:30:08 +03:00
Nekotekina
5d934c8759
Improve narrow() and size32() with src_loc detection
2020-12-09 16:26:20 +03:00
Nekotekina
e055d16b2c
Replace verify() with ensure() with auto src location.
...
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
Nekotekina
38745e5782
SPU ASMJIT: fixup mfence replacement
2020-12-09 11:15:40 +03:00
RipleyTom
d0c271e534
Simplify g_pages
...
This was done because otherwise msvc runs out of heap space on azure.
2020-12-09 11:15:08 +03:00
kd-11
f8d2830ac7
vk: Properly register D32_SFLOAT as a depth-stencil format ( #9396 )
2020-12-09 02:06:27 +00:00
Megamouse
a7e5c255b4
Qt 5.15.2 ( #8867 )
...
* Qt15: replace deprecated stuff
* Use Qt 5.15.1
* Move windows to Qt 5.15.2
* Move Ubuntu to Qt 5.15.2
2020-12-08 22:22:08 +01:00
Nekotekina
062c605eb1
atomic.hpp: fixup (rsp addressing)
2020-12-08 08:51:27 +03:00
Eladash
2602be426f
Allow emulation to work without firmware ( #9367 )
...
* Allow emulation to work without firmware
* Fix HLE prx path detection.
* Fix manual list loading bugs.
* Fix HLE gcm
* GUI: Fix fonts search
* GUI: Hardcode sprx list
Do not depend on /dev_flash/sys/external/ contents.
2020-12-07 20:10:34 +03:00
RipleyTom
51dcb4a79d
Remove bom from .hpp files
2020-12-07 20:03:44 +03:00
Nekotekina
24e4e329ed
atomic.hpp: add atomic_t<bool> specialization
...
May be required in future, plus adds/hides some methods.
2020-12-07 17:13:12 +03:00
Nekotekina
eb66302907
atomic.hpp: replace std::atomic with atomic_t
...
Dual dependency is nothing good.
2020-12-07 17:13:12 +03:00
Nekotekina
b16cc618b5
atomic.hpp: add some features and optimizations
...
Add atomic_t<>::observe() (relaxed load)
Add atomic_fence_XXX() (barrier functions)
Get rid of MFENCE instruction, replace with no-op LOCK OR on stack.
Remove <atomic> dependence from stdafx.h and relevant headers.
2020-12-07 17:13:12 +03:00
Nekotekina
77aa9e58f2
shared_ptr.hpp: add trivial conversion for shared/single types
...
These conversions don't exist in std::shared_ptr-alike types.
But I don't want to bother with == operators until we have proper C++20.
Removed trivial conversion for atomic_ptr because it's heavyweight.
2020-12-07 15:33:28 +03:00
kd-11
3a0b3a85a5
rsx: Separate program environment state from program ucode state
...
- Allows for conservative texture uploads
- Allows to update a program object without running full ucode analysis for no reason
2020-12-07 00:45:27 +03:00
Eladash
15a12afe25
Debugger: Implement code flow tracking
2020-12-06 15:32:13 +03:00
Eladash
427cf91447
Debugger: rewrite GetPc()
2020-12-06 15:32:13 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
Nekotekina
d1e7837422
atomic_t: cleanup type requirements
...
Add C++17 requirements.
Remove alignment requirements (auto-align type).
What's missing is to detect padding and forbid it.
2020-12-04 19:11:36 +03:00
Nekotekina
8efc22bd45
atomic.hpp: simplify and unify bit test instructions
...
Also make them available on all platform.
Rename some rare methods.
2020-12-04 14:33:38 +03:00
Nekotekina
983439076b
shared_ptr.hpp: fixups and updates
...
Fix atomic_ptr load() edge case.
Implement atomic_ptr::peek_op() to make possible to reduce load() overhead.
Implement atomic_ptr::compare_exchange() and friends.
Implement null_ptr constant, remove nullptr_t assignment/construction.
2020-12-04 14:10:53 +03:00
Nekotekina
019f566239
atomic.cpp: more phase splitting in notify_all()
2020-12-04 14:10:53 +03:00
Nekotekina
332410d20b
shared_ptr.hpp: improve atomic_ptr methods
2020-12-04 14:10:53 +03:00
JoãoPaulo
c2a85bde08
Update FW 4.87 Latest Version ( #9366 )
...
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
List of changes:
・ Updated blu-ray keys for new movie releases
・ Minor security fix
2020-12-03 18:16:38 +01:00
Nekotekina
13a0b88755
atomic.cpp: improve hashtable access
...
Simplified, tried to use all ptr bits.
Try to prevent self-collisions (bug).
Hashtable size doubled (to 8 MiB).
2020-12-01 10:19:31 +03:00
Nekotekina
32f39fec1c
Make cpu_counter::remove() async
...
Remove both mutex and assertion from it.
2020-12-01 10:18:41 +03:00
Nekotekina
cad3a6c547
sceNp.cpp: fix some UTF-8 string mismatch
2020-11-30 03:21:34 +03:00
kd-11
2aa5c437e8
rsx: Fix upscaled image reconstruction
...
- Base the upscaling on the real source and not the "attr" parameter.
- In case of reconstruction, the source is much larger than the subslice in "attr"
2020-11-30 01:20:17 +03:00
kd-11
67f48ce21c
rsx: Fix uncaught depth-func changes
...
- Depth func of always or never usually disqualifies depth testing.
Invalidate contested surfaces when depth func is changed.
2020-11-30 00:46:36 +03:00
kd-11
845a7d9968
Fix RSX replay thread lifecycle
2020-11-29 22:39:52 +03:00
Nekotekina
e0635cf65c
Remove unneeded non-ASCII character (unedat.cpp)
2020-11-29 16:18:22 +03:00
Nekotekina
3b8e3a9714
stdafx.h: remove BOM from custom included headers
...
Also add warnings about adding them.
2020-11-29 15:35:05 +03:00
Nekotekina
2bee096246
Try to set 2-3 GiB working space and show error if it's failed (Windows)
2020-11-27 14:49:07 +03:00
Nekotekina
872655369a
shared_ptr.hpp: fix critical bugs
...
Fix array initialization.
Fix reference counting.
Fix offset to refctr.
Add some features.
2020-11-27 14:32:41 +03:00
Nekotekina
b5d498ffda
Homebrew atomic_ptr rewritten (util/shared_ptr.hpp)
...
It's analogous to C++20 atomic std::shared_ptr
The following things brought into global namespace:
single_ptr
shared_ptr
atomic_ptr
make_single
2020-11-26 20:11:26 +03:00
Nekotekina
bd90e3e37f
atomic.cpp: shrink and simplify main hashtable
...
Reduce collision detection to 1 or 0 for now.
I think it should be offloaded to notifiers.
2020-11-26 20:11:26 +03:00
Nekotekina
8b6d615aa6
atomic.hpp: remove/deprecate incomplete notify features
...
Notification with "phantom value" could be useful in theory.
As an alternative way of sending signal from the notifier.
But current implementation is just useless.
Also fixed slow_mutex (not used anywhere).
2020-11-26 06:31:36 +03:00
Megamouse
9e352da052
Handle some undefined behavior regarding null pads
2020-11-26 00:45:49 +01:00
Nekotekina
95b8467a76
perf_meter.hpp: move logic to noinline function
...
May improve performance if perf meter is disabled.
2020-11-25 10:41:17 +03:00
Nekotekina
2b674d4d8c
utils::shm: allow 2M hugepages on demand
2020-11-25 10:41:17 +03:00
Nekotekina
487b572aa6
Linux: remove assertions on MADV_HUGEPAGE
...
It's a hint and is allowed to fail.
2020-11-25 10:41:17 +03:00
Nekotekina
600c0ea5ba
atomic.cpp: fix windows/std path
...
Always check condition after rearming internal semaphore.
2020-11-25 10:41:17 +03:00