kd-11
456b649b19
vk: Do not force check for successful texture cache load
...
The following set of conditions can fail
1. We hit a RTT owned texture
2. The texture is invalidated (failed memory integrity test) and set to write/read-through
In this situation, RTT overlap check will skip this surface, and a match can be found in texture cache if WCB/WDB is enabled.
The incoming hit however has no managed payload. This is expected behavior, the search should load from CPU.
2021-08-06 22:07:23 +03:00
Matias Moran
4035dcf8e3
ui: fix spacing on gpu tab
...
just changed back what didn't seem important from kd's changes lol
2021-08-06 19:43:03 +03:00
kd-11
dff5707e19
Formatting fix
2021-08-06 17:18:48 +03:00
kd-11
0f5603a4bc
Disable warnings around 3rdparty header
2021-08-06 17:18:48 +03:00
kd-11
a4c1fcb59a
Fix 3rdparty imports for case-sensitive platforms (fixes *NIX build)
2021-08-06 17:18:48 +03:00
kd-11
d0a824996b
vk: Add basic support for FSR 1.0
...
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.
2021-08-06 17:18:48 +03:00
kd-11
69b34693f0
vk: Simplify compute job cleanup on exit
...
- Just call destroy automatically on object destruct
2021-08-06 17:18:48 +03:00
kd-11
9a63ed6c50
vk: Unbind global renderer if it is destroyed
2021-08-06 17:18:48 +03:00
kd-11
6f6eda6413
vk/device: Formatting fixes only (EOL)
2021-08-06 17:18:48 +03:00
Nekotekina
86d2316089
sys_net/NP: set some init dependencies
...
Ensure finalization order of network threads.
This should prevent some crashes.
2021-08-06 10:41:40 +03:00
Nekotekina
064fc81697
Fix warnings
2021-08-06 10:41:40 +03:00
Megamouse
b7e4de6ea5
Qt: purge gui settings
2021-08-05 22:56:38 +02:00
Megamouse
a146aabcaf
cellGem: Disable Alignment Checks
2021-08-05 13:10:08 +02:00
Eladash
9ecb6c4e34
Fix sys_spu_thread_group_create
2021-08-05 08:12:34 +03:00
Megamouse
3ccfb86e1b
cellGem: use existing constant for sphere radius
2021-08-05 02:26:20 +02:00
Megamouse
9c21f43df6
cellGem: fix Deadstorm Pirates regression
2021-08-05 02:02:34 +02:00
Megamouse
87c07679e1
cellGem: add calibration logic with 0.5 second delay
2021-08-05 02:02:34 +02:00
Megamouse
6de4c27b32
cellGem: fix controller connection check
2021-08-05 02:02:34 +02:00
Megamouse
995e9b5f9f
cellGem: reset struct on controller reset
2021-08-05 02:02:34 +02:00
Megamouse
e03f323fdd
cellGem: add some more checks
2021-08-05 02:02:34 +02:00
Megamouse
f2bca2ef67
cellGem: set cellGemGetCameraState values
2021-08-05 02:02:34 +02:00
Megamouse
0b88d5f077
cellGem: implement cellGemHSVtoRGB
2021-08-05 02:02:34 +02:00
Eladash
9f67e00e40
sys_spu: Add one more limiting SPU threads creation condition
2021-08-04 21:39:57 +03:00
Eladash
9d71369b2c
Fixup HLE lwmutex
2021-08-04 21:39:57 +03:00
Megamouse
2dd0f488a1
cellGem: cellGemPrepareVideoConvert update
2021-08-04 20:28:34 +02:00
Megamouse
dd7f24b20e
cellGem: fix mouse positions
2021-08-04 20:28:34 +02:00
Megamouse
ccb7531289
cellGem: update cellGemGetState
2021-08-04 20:28:34 +02:00
Megamouse
4d0179174a
cellGem: add more mouse buttons
2021-08-04 20:28:34 +02:00
Megamouse
3ddcf60a11
cellGem: add some more error checks
2021-08-04 20:28:34 +02:00
Megamouse
3b581aaf94
cellGem: disable tracking in cellGemForceRGB
2021-08-04 20:28:34 +02:00
Megamouse
0c68a6afdd
cellGem: improve hue handling
2021-08-04 20:28:34 +02:00
Megamouse
fd29382290
cellGem: fix fake move calibration status flag
...
Apparently OCCURRED means that there are flags to be checked, while SUCCEEDED means that everything went smoothly.
2021-08-04 20:28:34 +02:00
Megamouse
1d3f91a1b8
cellGem: add ext_id and SHARP_SHOOTER_DEVICE_ID
2021-08-04 20:28:34 +02:00
Megamouse
999252a806
cellGem: fix typos, add some comments and reorder
2021-08-04 20:28:34 +02:00
kd-11
da3c9948e6
rsx: Revert use of std::has_single_bit
...
- Zero is not a power of 2 in this situation, and we do not want to treat it as such
2021-08-04 20:28:25 +03:00
kd-11
daa8265a47
rsx: Fix interpreter texture fetch
2021-08-04 20:28:25 +03:00
Eladash
f807ebf9ba
PPU: Improve accuracy of "Accurate PPU 128 reservations" mode
2021-08-04 18:18:59 +03:00
Eladash
8c3a4c260e
Bugfix of sys_lwmutex_destroy
2021-08-04 09:03:17 +03:00
Eladash
06f4dfb9f1
SPU: Implement sys_spu_initialize and limit of physical SPU threads
2021-08-04 08:26:32 +03:00
Megamouse
af89eb5404
ppu compilation: fix facepalm (double increase)
2021-08-03 08:39:57 +02:00
Megamouse
dc0a086400
sys_prx_unload_module: fix log message
2021-08-03 08:39:57 +02:00
kd-11
8aec943093
Use c++20 has_single_bit for POT test
2021-08-03 00:36:04 +03:00
kd-11
99b6963fab
rsx: Improve unnormalized coordinate sampling
...
- Improve rounding when sampling nearest neighbour. This is mostly a problem with NVIDIA
- Implement unnormalized 3D sampling
2021-08-03 00:36:04 +03:00
kd-11
b3c65b7bca
rsx: Implement vtc encoding for NVIDIA OpenGL support
2021-08-03 00:36:04 +03:00
kd-11
0ec526c5f1
rsx: Do not use VTC tiling on NPOT textures
...
- Seems to be ignored for 'normal' textures. Mostly verified through games.
2021-08-03 00:36:04 +03:00
Emmanuel Gil Peyrot
8af694da2e
Crypto/ec: Make internal functions static
...
This reduces the size of the stripped .o by 3 KiB, and the non-stripped
one by 21 KiB, when not doing LTO.
2021-08-01 12:21:17 +03:00
Nekotekina
05d1b3605e
Fixup for SPU Debug mode (bad SHA1)
...
Should fix crashes due to read out of bounds.
2021-08-01 10:12:08 +03:00
Nekotekina
286e154d05
SPU Profiler: adjust accumulation logic
...
Don't append trampoline time to verification time.
2021-08-01 09:59:00 +03:00
Eladash
a0c1b250b6
Fix HLE LWMutex setting - Implement dynamic initialization of HLE functions
2021-07-31 21:47:22 +03:00
Megamouse
6527eef655
System: add progress update on existing modules
...
This could cause dialogs to seemingly finish at e.g. 50/100 modules because the existing modules weren't accounted for.
2021-07-31 16:06:18 +02:00
Eladash
f39a0a5fbe
Debugger: Add some error pop-ups for invalid operations
...
* Show error window when setting breakpoints on these conditions:
- SPU/RSX are selected. (not supported)
- When using non-interpreters decoders.
- Non-executable memory is specified.
* Do not allow instruction stepping for non-interpreters decoders.
* Clear breakpoints when the game is stopped.
* Fix setting breakpoints on HLE functions.
2021-07-31 15:27:30 +02:00
Eladash
a06a93d5ba
Fix sys_storage_read
2021-07-30 17:22:43 +03:00
kd-11
f6e4cc14a2
vk: Fix a few incorrectly calculated scratch buffer sizes
2021-07-30 12:43:21 +03:00
Nekotekina
658b4f70ef
Fix some warnings
2021-07-30 09:31:36 +03:00
Nekotekina
fc5840cda6
SPU Cache: allow to dump cache upon startup
...
Print also some stats (if SPU Debug is enabled).
2021-07-30 09:21:11 +03:00
Nekotekina
2f6db5802f
Fix CPU Profiler regression
2021-07-30 09:21:11 +03:00
ibancel
77c191df42
Qt: add fullscreen mouse lock setting
2021-07-29 22:55:55 +02:00
Eladash
d85bb3f4eb
vm_ptr.h: Improve try_read() ( #10627 )
2021-07-29 21:14:29 +03:00
Jan Beich
3a6399aaaa
vm_native: add workaround for FreeBSD 12
...
rpcs3/util/vm_native.cpp:302:16: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("2M", c_mfd_huge_2mb);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
rpcs3/util/vm_native.cpp:308:15: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("", 0);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
2021-07-29 20:48:10 +03:00
Jan Beich
de6f3b5653
vm_native: enable memfd_create on FreeBSD
2021-07-29 20:48:10 +03:00
Megamouse
0262076bfe
Qt: move java mode setting to advanced tab
2021-07-29 12:42:04 +02:00
Megamouse
7aca2785b6
Qt: abort batch PPU compilation on dialog cancel
2021-07-29 10:18:20 +02:00
Megamouse
6dc35a3772
Qt: add nullptr checks in msg_dialog_frame
2021-07-29 10:18:20 +02:00
Megamouse
2efc4812d7
Qt/System: reset boot path after directory scan
...
This should fix the "Play" Button after batch compiling PPU caches.
Previously you would start the last compiled game, which was kinda weird.
2021-07-29 10:18:20 +02:00
Megamouse
bb9c063e80
Remove unused ppu_initialize declaration
2021-07-29 10:18:20 +02:00
Megamouse
22e51e1615
System: add vsh.self when scanning vsh/module
2021-07-29 10:18:20 +02:00
Megamouse
03a46a499e
System: make IsPathInsideDir a member function
2021-07-29 10:18:20 +02:00
Megamouse
f0e01ceb8f
Qt: compile vsh/module instead of vsh.self
2021-07-29 10:18:20 +02:00
Megamouse
c2c74982c4
Qt: fix vsh ppu compilation and add compile stage
...
It was aborted immediately (hilarious).
2021-07-29 10:18:20 +02:00
Megamouse
c390c02acb
Qt: Compile entire sys folder for firmware
2021-07-29 10:18:20 +02:00
Megamouse
56d46b5a49
Qt: disable VSH boot if not installed
2021-07-29 10:18:20 +02:00
Megamouse
0a7a12bbff
RSX: fix 'Working buffer not big enough'
2021-07-27 23:59:12 +02:00
kd-11
ace187cdd0
vk: Fix scratch allocation when doing GPU deswizzle
...
- We have to use double the memory because the transformation does not occur in-place like normal bswap
2021-07-27 19:56:31 +03:00
kd-11
c54ddabe0b
vk: Handle out of memory errors that are deferred during texture binding
...
- Set out-of-memory flag if we have a failure to build a subresource.
- Mark textures as requiring reload in case of references to invalid data.
- TODO: This is overly complicated and can be handled better with a smart restructure.
2021-07-27 10:52:21 +03:00
kd-11
e5029c532b
vk: Fix comparison between composite memory types
2021-07-27 10:52:21 +03:00
kd-11
a4cd9e022a
vk: Force explicit minimum size declaration for scratch buffers
2021-07-27 10:52:21 +03:00
kd-11
99bbcd15e1
vk: Fix undefined format class for typeless helpers
2021-07-27 10:52:21 +03:00
kd-11
9d11c8cbb5
vk: Allow creating temporary subresources to fail if we run out of memory.
2021-07-27 10:52:21 +03:00
kd-11
92d1534917
rsx: Set composite images upload context based on their actual contents
2021-07-27 10:52:21 +03:00
kd-11
abd8bbd6ef
vk: Allocate enough scratch memory for GPU deswizzle
...
- Forgot to take alignment into account.
2021-07-27 10:52:21 +03:00
kd-11
13abe785a9
vk: Try to spread memory usage evenly across compatible types if possible
...
- Avoids running into budget constraints if you just dump everything into one heap
2021-07-27 10:52:21 +03:00
kd-11
6a9d1edee1
vk: Fix use-after-free hazard by checking if we're faulting from within the texture cache
...
- If we're using the texture cache, DO NOT delete resources.
2021-07-25 20:55:09 +03:00
kd-11
69bdbe97a8
vk: Make use of multi-pool memory types
2021-07-25 20:55:09 +03:00
kd-11
de7ed1cbe9
vk: Scrap minimum scratch buffer size and just allocate what is requested.
2021-07-25 20:55:09 +03:00
kd-11
7d3bbd3cf7
vk: Dynamically select panic boundaries based on resolution scale
2021-07-25 20:55:09 +03:00
kd-11
59e7379010
vk: Implement heap aggregation
...
- Aggregate heaps of same type under one object and allow allocator to try each matching type.
2021-07-25 20:55:09 +03:00
Eladash
be9be6e5c9
Make sys_prx_unload_module use success type logging
2021-07-24 14:23:47 +03:00
Megamouse
867f0e1f02
fix warning
2021-07-23 00:09:46 +02:00
Megamouse
202aed560b
Qt: add option to auto install updates
2021-07-23 00:09:46 +02:00
Megamouse
737b0dfd42
Qt: use last window state when leaving fullscreen
2021-07-21 02:39:26 +02:00
Megamouse
66371457fd
Qt: fix game window positions if the window is bigger than the screen
...
If the screen was smaller than the game window, then the window would pop up top right offscreen.
The fix itself was really simple and obvious from the beginning, just some missing clamping.
But I figured it might be less confusing if I add some prosa.
Especially because it took me a couple of hours to figure out why I made it so complex in the first place.
Btw, there might still be some offset to the left occasionally, but that seems to be an upstream issue
2021-07-21 01:15:01 +02:00
kd-11
0502f7881f
vk: Disable async texture streaming on all NVIDIA cards
2021-07-20 23:00:00 +03:00
Megamouse
50354253c8
replace some random Emu.Pause with fatal errors
2021-07-20 19:47:00 +02:00
Megamouse
954d83b6a0
Qt: fix BatchCreatePPUCaches cancel
2021-07-20 09:46:51 +02:00
Megamouse
f83a877331
Qt: Add VSH to BatchCreatePPUCaches
2021-07-20 09:46:51 +02:00
Megamouse
2a8d740d63
Qt: Add Boot VSH option
2021-07-20 09:46:51 +02:00
Eladash
c84e5489f2
vsh.self: Fix execution on default settings ( #10586 )
2021-07-20 00:36:32 +02:00
Matias
aa08df0455
Include different case files on file selection filters ( #10587 )
...
* Include upper-case .PUP files on firmware selection window filter
* Include uppercase files on a few more filters
2021-07-19 21:47:21 +02:00
Ilya Oleinik
e51d16aa37
Initial implementation of sys_uart
2021-07-19 19:20:43 +03:00
Eladash
98e40d12ef
sys_ppu: Implement sys_ppu_thread_rename
2021-07-19 12:37:33 +02:00
Eladash
e6e0210e73
Extend ppu_thread::call_history_t formatter
2021-07-19 09:28:46 +02:00
Eladash
83a2f06e3a
PPU debugger: Make calling history detect common LLE functions trampolines
2021-07-19 09:28:46 +02:00
Eladash
a5c3c7d2e5
cellSaveData/UNIX: Optimize IO ( #10574 )
2021-07-18 21:08:04 +02:00
clienthax
65b2a0d538
stub rsxaudio
2021-07-18 21:08:03 +03:00
clienthax
d099148961
sys_hid vsh
2021-07-18 14:20:33 +02:00
Eladash
6f901636bf
rsx: Fix vertical windows' clip
2021-07-18 13:44:23 +02:00
Eladash
b087d79a08
PPU debugger: Implement function names at the starting instruction
2021-07-18 13:23:18 +02:00
Eladash
904ec44a8c
PPU debugger: Add instruction disasm for PPU calling history
2021-07-18 13:23:18 +02:00
Eladash
6f6503ee32
cellSaveData: Fixup funcDone result check
2021-07-17 23:30:26 +02:00
clienthax
441713d959
sys_storage vsh implementation ( #10559 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 22:06:40 +02:00
clienthax
e75e437a4a
sys_ss vsh stubs
2021-07-17 21:35:47 +02:00
kd-11
0d87d909c6
vk: Fix double-spill for invalidated resources
2021-07-17 21:28:11 +03:00
kd-11
2d4df57d87
vk: Fix nul deref in spill code
...
- Restores code lost in a rebase
2021-07-17 21:28:11 +03:00
kd-11
b7df539871
vk: Fix null deref in texture cache when dumping temporary storage
2021-07-17 21:28:11 +03:00
kd-11
d53f2f10fb
rsx/vk: Improve recovery during OOM situations
...
- Do not spill when running on IGP with only one heap as it will just crash anyway.
- Do not handle collapse operations when OOM. This will likely just crash and there are better ways to handle old surfaces.
- Spill or remove everything not in the current working set
- TODO: MSAA spill without VRAM allocations
2021-07-17 21:28:11 +03:00
Eladash
5940247200
Make little use of formatting byte arrays
2021-07-17 20:02:21 +02:00
Eladash
9a392d2b5c
vm_ptr.h: Do not allow dereferencing for void ptr
...
Do not create vm::ref from it as well.
2021-07-17 20:02:21 +02:00
Eladash
a981c65d2f
Minor fixup of vm::ptr
...
const pointers shouldn't disable reading, they should disable writing.
2021-07-17 20:02:21 +02:00
Eladash
81805945ce
LV2: Fix IPC key reading from attributes
2021-07-17 20:02:21 +02:00
clienthax
7fe15f5f8d
Stub sys_fs mount functions for vsh ( #10561 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 19:19:13 +02:00
clienthax
9c5c4457b6
Stub libfs_utility_init to bypass FSCK checks by vsh.
2021-07-17 18:56:07 +02:00
clienthax
1e605de31e
sys_sm_get_ext_event2 stub
2021-07-17 18:35:26 +02:00
Eladash
1e9afdc289
Formatting Library: Implement byte arrays formatting
2021-07-17 18:10:43 +02:00
Eladash
1f6ca25820
Implement TAR-based directory archiver
...
* Implement the ability to save directory contents as TAR.
With the ability to customize saving of specific files and also select which files are saved and which aren't.
* Implement full original TAR USTAR 255 characters path support.
* Implement file modification time and access time support for extracted/archived TAR.
2021-07-17 17:50:18 +02:00
Eladash
8e2c34a003
PPU debugger: Implement PPU calling history
2021-07-17 17:28:23 +02:00
clienthax
c2f0fbcd82
Stub sys_io for vsh.
2021-07-17 17:06:57 +02:00
clienthax
85b33e9cae
Hack for msmw2.sprx timeout.
2021-07-17 14:39:36 +02:00
ZeeWanderer
6250e478f4
[MSVC] glslang fix + vs2022 fixes
...
- glslang - fixed wrong path to common props
- emucore - fixed for VS2022, its a 64 bit app now
- common_default.props - use C++20 standard for VS2022 and further
2021-07-17 02:52:03 +02:00
kd-11
aaac4c1bde
Clang workaround for c++20 non-compliance
2021-07-15 18:05:35 +03:00
kd-11
974a3c8807
Fix linux build
2021-07-15 18:05:35 +03:00
kd-11
369f1132f3
Formatting fixes
...
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11
2524c35638
vk: Improve handling of texture cache temporary resources
...
- Temp resources from the texture cache are used to hold composite objects being sent to the GPU and can waste a lot of memory.
- Remove them if we run out of memory as they can linger around for a long time.
2021-07-15 18:05:35 +03:00
kd-11
d906ccc77e
vk: Switch on the new VRAM management system
2021-07-15 18:05:35 +03:00
kd-11
a2f93b0696
rsx: Implement a simple cache eviction routine
...
- Can remove all non-essential textures from the cache except those passed as an exclusion list
2021-07-15 18:05:35 +03:00
kd-11
77c9dff054
vk: Minor whitespace fix
...
- Non-functional formatting and warning fixes
2021-07-15 18:05:35 +03:00
kd-11
09f9f21261
vk: Add overallocation quota for texture cache
2021-07-15 18:05:35 +03:00
kd-11
5f6d1644cf
vk: Refactor VkTextureCache by moving most of the code to cpp file
...
- Makes adding next set of changes easier
2021-07-15 18:05:35 +03:00
kd-11
c18e5e07cc
vk: Implement VRAM spilling
...
- The idea is to shift memory to "shared graphics memory" when VRAM is running out
2021-07-15 18:05:35 +03:00
kd-11
000414c47d
vk: Refactor surface cache by moving code to cpp file
2021-07-15 18:05:35 +03:00
kd-11
2ffa8f4623
vk: Rename rsx::vk_render_targets to vk::surface_cache
...
- Makes some changes much easier going forward to pull in vk-specific stuff into vk namespace.
- TODO: The same thing needs to happen with GL
2021-07-15 18:05:35 +03:00
kd-11
53c9fb3e00
vk: Improve memory load balancing and reporting
...
- Track pool usage
- Take allocation percentages into account when making decisions on whether there is overloading or not
2021-07-15 18:05:35 +03:00
kd-11
342b25d00e
vk: Expose memory heap sizes to the runtime.
...
- This will help to make decisions regarding VRAM utilization instead of relying on budget blindly
2021-07-15 18:05:35 +03:00
kd-11
88abf3a6ba
vk: Introduce the concept of VRAM allocation pools
...
- Each buffer or image has to declare which pool it belongs to. This will aid with memory management down the line.
2021-07-15 18:05:35 +03:00
kd-11
71a5e5333a
rsx: Fix invalid reference when purging unlocked sections
2021-07-15 18:05:35 +03:00
RipleyTom
a34201ebff
Fix deref in sceNpMatching2CreateContext ( #10539 )
2021-07-14 00:11:14 +01:00
Eladash
6a7324ab3e
kernel_explorer: Atomic PPU state updates
2021-07-10 22:20:37 +03:00
Megamouse
f4d0261387
Qt: add more Qt blockingMapped workarounds
...
This probably won't fix anything, but better be safe than sorry
2021-07-10 13:29:39 +02:00
Megamouse
7f7bd961e2
Qt: kernel_explorer optimizations
...
- roughly 10 times faster update from scratch on average
- removed some unused function
- added fatals for unexpected node failure
2021-07-10 08:18:38 +02:00
Megamouse
fcbacf8afd
sys_usbd: add PlayTV SCEH-0036
2021-07-08 22:06:48 +02:00
Megamouse
e75de44907
cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD
...
This is kinda hacky but it fixes some errors in PlayTv
2021-07-08 22:06:48 +02:00
Megamouse
161fa95066
cellGame: improve logging
2021-07-08 22:06:48 +02:00
Megamouse
8f8605ab2f
Mount bdvd_dir regardless of patch category
2021-07-08 22:06:48 +02:00
Megamouse
544a458f20
Qt: show patch version for disc games regardless of the patch category
...
Patches for disc games can also appear as "TV App" etc.
2021-07-08 22:06:48 +02:00
polar
285b9dad83
Refactor faudio submodule ( #10397 )
...
* updated bad header import
* added faudio shared library option
2021-07-08 21:31:45 +02:00
Megamouse
770a607ba5
Qt: add PPU LLVM Java Mode Handling to debug tab
2021-07-02 19:34:06 +02:00
Eladash
a2d4bd4fff
kernel-explorer: Add logging ability
2021-07-02 12:29:59 +02:00
Eladash
fe8d524352
Improve kernel-explorer's user experience
...
* Default width of dialog has been increased to fit PPU, SPURS and filesystem objects' description length.
* Height has been increased as well to allow viwing more objects at once.
* Added title of the game to the kernel explorer's windows' title.
2021-07-02 12:29:59 +02:00
Megamouse
e212f16962
sceNp: fix invalid ctx dereference
...
Fixes "Buzz! Quiz Player" Offline Gameplay
2021-07-01 23:09:23 +02:00
Ani
020fdcc781
rpcs3_version: Bump to 0.0.17
2021-06-30 20:14:13 +01:00
kd-11
194bfc54d1
rsx: Implement dynamic vertex offset updates
...
- Vertex offsets can be updated mid-draw to dynamically render different meshes without breaking up draws
2021-06-30 10:07:33 +03:00
Eladash
9b050a33e4
Fix HLE callbacks within context of HLE PPU stack variables
2021-06-28 14:31:28 +03:00
Eladash
b6fccee6a4
Improve ppu_thread::stack_push
...
Save actual stack memory allocation size locally. (not in PS3 memory)
2021-06-28 14:09:24 +03:00
Eladash
23468a2d07
vm_ptr.h: Use concepts
2021-06-28 14:01:58 +03:00
kd-11
2c7c1c501d
rsx: Implement support for extended vertex programs
...
- Some games are kinda pushing it with RSX register space and spilling VP data into adjacent unused space.
2021-06-28 10:52:05 +03:00
Eladash
3cbdc3a198
VFS: Fix paths override
2021-06-27 17:49:33 +03:00
Eladash
dcb2e8cd9e
rsx: Improve VBLANK accuracy
2021-06-27 16:39:08 +03:00
Nekotekina
571bdfc828
Fixup for #10490
...
Restore explicit signaling of RSX thread for now.
2021-06-27 14:02:32 +03:00
Eladash
0aed00a758
Improve thread aborting mechanism ( #10490 )
...
Call pseudo-virtual operator=(thread_state) of thread context.
2021-06-27 11:43:48 +03:00
Eladash
58847fa2ca
sys_fs: Fix ENOTMOUNTED of open
2021-06-26 14:53:22 +03:00
Megamouse
bba5285740
Qt: apply gui settings on regular apply and save
...
This fixes the annoying issue of accidentally clicking the dialogs save or apply buttons after changing stylesheets.
2021-06-25 20:27:26 +02:00
Megamouse
e7234fd4b2
Qt: replace old grey config icons in gamegrid mode
2021-06-25 19:58:20 +02:00
Long
400002e64c
Increase some icons' visibility in dark themes. ( #10485 )
...
* Update custom config, controller, combo icons.
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-06-25 19:40:42 +03:00
Kilowog01
d59707bc4b
Trophy notification improvements ( #10482 )
...
* Makes the text more similar to the original PS3 trophy notification.
2021-06-25 16:25:44 +03:00
kd-11
926fa73fee
vk: Remove unused input from attachment clear pass
2021-06-25 14:45:36 +03:00
kd-11
cd8cb9cced
rsx: Don't leak data during partial clears
...
- Partial clears either in active clear channels or scissor region must get barrier inserts to load previous data.
- Fixes some incorrectly discarded data during clear where data in untouched/uninitialized channels is lost.
2021-06-25 14:45:36 +03:00
Megamouse
fad79a96a2
media_info: improve error logging
2021-06-25 09:41:32 +03:00
Megamouse
b6128c5dfa
cellSearch: extend media_info for video files
2021-06-25 09:41:32 +03:00
Megamouse
68a1da31a0
cellSearch: move audio info to separate util file
2021-06-25 09:41:32 +03:00
Megamouse
f4bcf9ad1d
Qt: fix warning
2021-06-25 09:41:32 +03:00
Megamouse
7e0f2f9b12
sceNp: add some more constants
2021-06-25 09:41:32 +03:00
Eladash
50be3bd2e5
kernel-explorer: devirtualize lv2_fs_object and print more information ( #10487 )
...
* Make lv2_fs_object an "abstract" structure with protected constructor.
* Improve kernel-explorer information for filesystem objects.
2021-06-24 16:47:14 +03:00
Nekotekina
3c614d95b8
fs: alternative fs::pending_file implementation (Win32)
...
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Eladash
aaa20c0ff0
cellCamera/cellGem: Fix time stretching setting ( #10476 )
2021-06-20 21:25:13 +03:00
Eladash
0531b3d801
rsx: Fix emulation stopping in cpu_thread::is_paused poll ( #10475 )
...
Ignore pause flags if thread is stopped.
2021-06-20 20:00:12 +03:00
Eladash
40493c564f
GUI: Add PPU threads to debug tab
2021-06-20 19:27:33 +03:00
Eladash
bbaa93c846
RSX Cache: Prevent crash on failure to obtain cache directory ( #10474 )
2021-06-19 16:57:07 +03:00
Nekotekina
72680c7707
sys_fs: improve sys_fs_open accuracy for /dev_bdvd
...
Based on software test.
2021-06-18 17:47:49 +03:00
Eladash
039ca6e839
Fix cellMouse/Keyboard initialization
2021-06-17 20:43:43 +02:00
kd-11
9fadd48ea3
vk: Ensure async scheduler thread is never auto-spawned by fxo
...
- This thread is a resource hog for design reasons.
2021-06-17 00:43:20 +03:00
kd-11
4bf9700562
rsx: Remove unused variable leftover from refactoring
2021-06-17 00:43:20 +03:00
kd-11
966aec7ad7
rsx: Resync excluded memory regions to avoid memory tests failing after flush events
...
- This is a mostly correct fix, but a corner case exists that can leak old data to the surface cache
2021-06-15 15:42:16 +03:00
kd-11
78972cd611
rsx: Refactor surface inheritance logic
2021-06-15 15:42:16 +03:00
Eladash
24e4a43ec4
lv2_timer: manage timers by separate thread ( #10445 )
...
Substitutes missing abort op for lv2_obj manager.
2021-06-15 15:04:51 +03:00
kd-11
c3415bcff2
rsx: Fixup for byte order when passing data via vertex registers that are not inline arrays (register vertex data and push buffers)
2021-06-14 23:20:35 +03:00
Megamouse
35a380676e
Qt: add missing key auto repeat checks
2021-06-14 19:02:59 +02:00
kd-11
d3ff67ffb5
rsx: Pass vertex attributes streamed via register write in PS3-correct format
...
- TODO: Optimize this, we can avoid the double bswap in FIFO and then in attribute push
Not very important since nobody is doing register push in high-performance path.
2021-06-14 10:24:03 +03:00
Nekotekina
6f874be41b
vm_native: bypass rpcs3_vm creation if overcommit is enabled (Linux)
...
Unfortunately, different systems need different approach here.
2021-06-12 19:12:59 +03:00
Eladash
cb0929d933
Logs: Prevent minor race in Emu.Run() regarding logging levels
2021-06-12 13:14:04 +03:00
Nekotekina
dfbd63df94
vm_native.cpp: change rpcs3_vm name/location priority (Win32)
...
Prefer temp directory, rename to rpcs3_vm_sparse.tmp
Try to remove archive attribute (doesn't work well).
2021-06-11 19:15:21 +03:00
Eladash
76bfe54c7e
Improve bitwise serialization trait
2021-06-11 16:54:17 +03:00
Megamouse
9cbcce671d
Qt: Fix Play/Pause/Resume Shortcuts
2021-06-11 08:28:42 +02:00
Eladash
0628a5d931
serialization.hpp: Fixes
2021-06-11 08:59:02 +03:00
Nekotekina
696be6aacd
Implement fmt::ensure (assert-like with formatted message) + fmt::tie
...
Arguments should be provided via fmt::tie() due to some limitations.
Allow to specify simple message (non-formatting) for plain ::ensure().
Remove redundant function for narrow error.
2021-06-10 21:16:57 +03:00
Megamouse
766cc2d42f
Qt: fix empty game list phenomenon
2021-06-10 17:45:09 +02:00
Megamouse
2dc6adc038
Qt: fix possible race in RepaintIcons
...
This might also improve performance while scrubbing the icon size slider
2021-06-10 00:24:04 +02:00
Megamouse
27cc5c8a63
Qt: invalidate invisible game item pointers
2021-06-10 00:24:04 +02:00
kd-11
cd6552d344
vk: Properly destroy renderpass cache
2021-06-09 22:35:50 +03:00
kd-11
20bd723e7c
rsx: Add floor workaround for GPUs with rounding issues
...
- Mainly affects nvidia where x/w * w can sometimes return a value smaller than x.
In such conditions, floor(x) will return x-1 if x is an integer which is horribly wrong and exaggerates minor precision drift to great proportions.
2021-06-09 10:55:55 +03:00
Nekotekina
2d3fe7ce1c
fixed_typemap.hpp: add range iterator
...
Remove recently added functions.
2021-06-09 00:07:15 +03:00
Eladash
c918f395b9
Make rsx::simple_array compatible with serialization
2021-06-08 19:29:46 +03:00
Eladash
4a4f318e24
System.cpp: Move some Emu.Stop() code to a more strategic placement
2021-06-08 19:29:46 +03:00
Eladash
e7b1fc6696
Fixup serialization utility
2021-06-08 19:29:46 +03:00
Eladash
76bf720adf
Improve emulation stopping speed
...
Split phases of signalling threads and joining them.
2021-06-08 18:26:14 +03:00
Eladash
2169e8d935
Implement serialization.hpp, remove cereal submodule
...
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
kd-11
ddbe496097
rsx: Fix depth/color mismatch resolve in texture cache
...
- Sometimes we need a depth texture but only a color texture is available.
2021-06-07 01:03:49 +03:00
kd-11
3f80d0b7d8
rsx: Fix surface deduplication crash
2021-06-07 01:03:49 +03:00
Megamouse
2eebecfb17
Qt: Fix concurrency bug in trophy manager
...
The missing mutex frequently caused a crash after I improved the individual trophy folder parsing by deferring icon loading to when it is actually needed.
2021-06-06 19:26:21 +02:00
Megamouse
70c24a9466
Qt: Only load trophy icons on a need to know basis
...
Also cache existing trophy icons
2021-06-06 19:26:21 +02:00
Megamouse
4ab2e40d8a
Qt: simplify zero padding in trophy icon path
2021-06-06 19:26:21 +02:00
kd-11
568af756cc
rsx: Fix expired sampler descriptors
...
- Rebuilding when strict mode is enabled was incomplete.
The copy has to be redone if the source has been updated.
2021-06-06 15:37:47 +03:00
Megamouse
f5366c91a7
Qt: kind of lazy loading icons
2021-06-06 09:38:13 +02:00
xddxd
b5f1f50a16
Get rid of mobile Kepler class and add some missing GPUs
2021-06-06 08:07:43 +02:00
kd-11
6ac9e6f9c4
gl: Add some debug visualization to internally verify consistency
2021-06-05 21:02:14 +03:00
kd-11
39815801aa
rsx: Implement proper decoding for some obscure fragment instructions
...
PK4UBG and UP4UBG were dropped from the NV_fragment_program spec in 2002.
Not much information about them remains but seems pretty straightforward.
2021-06-05 21:02:14 +03:00
Eladash
11ab9b7fa9
Fix sys_event_flag_wait result set ( #10404 )
...
Set result upon syscall exit, not at the beginning.
2021-06-05 16:41:02 +03:00
Eladash
a7f1e788e6
Fix missing game licence logging ( #10402 )
2021-06-04 20:06:04 +02:00
polar
6c44664c19
BUILD: Refactor zlib submodule ( #10393 )
2021-06-02 07:33:50 +02:00
Nekotekina
f2d6b52561
Fix span copy after refactoring
...
- Add range check at fast path.
- Fix typo in element by element copying.
Should fix #10385
2021-06-01 21:18:25 +03:00
JoãoPaulo
8405314399
Update FW 4.87 Latest Version
...
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
List of changes:
2021-06-01 20:20:52 +03:00
kd-11
98f534b1bd
vk: Rewrite partial clear shader
...
- Completely removes the feedback loop and replaces with hardware channel masking
2021-06-01 12:54:10 +03:00
kd-11
f85881c18c
vk: Enable use of input attachments
2021-06-01 12:54:10 +03:00
polar
b8b5b93b63
BUILD: Refactor spirv submodule ( #10384 )
...
* relocated SPIRV files
* updated gitmodule paths for Vulkan submodules
* cleaned up Vulkan child builds
* updated gitignore
2021-06-01 09:53:58 +02:00
Megamouse
20e25cd928
Qt: fix game list custom config icon refresh
...
I accidentally forgot to update the custom config icon after custom config creation/removal.
This happened during some refactoring back in mid-april.
2021-06-01 09:31:23 +02:00
Megamouse
ac83871214
impressive typo fix
2021-05-31 23:01:13 +03:00
Nekotekina
a1608b636f
span: implement as_span workarounds as utils::bless
...
Minor cleanup.
2021-05-31 15:46:34 +03:00
Nekotekina
d862817485
vm::ref: remove erroneous default constructor
2021-05-31 15:31:20 +03:00
kd-11
4a32b70aec
vk: Validate pipeline state before compiling in case of shader cache moved between GPUs/drivers
2021-05-30 22:35:34 +03:00
kd-11
9199b1b1d8
vk: Improve compatibility with sub-par drivers and hardware
...
- Adds workarounds for INTEL + MSAA
- Adds support for younger drivers where all features may not be
implemented.
Things that won't out-right break the emulation can be
disabled.
2021-05-30 22:35:34 +03:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Nekotekina
f5e529db61
shared_ptr.hpp: don't use fake objects
...
This lifts the limitation for casting with abstract classes.
Use new C++20 feature (constexpr allocator) to test viability.
Add SamePtr concept to types.hpp
2021-05-30 15:07:17 +03:00
Nekotekina
eec9578619
types.hpp: add PtrCastable concept
2021-05-29 18:32:13 +03:00
Eladash
d81a5b1423
SPU LLVM: Add missing WRCH PC updates
2021-05-29 15:26:52 +03:00
Megamouse
3cbe42df0a
pads: Remove outdated DualSense battery note
2021-05-29 12:46:21 +02:00
Megamouse
a2da525064
cellVdec: silence "Unsupported time_base" error log spam
2021-05-29 12:46:21 +02:00
Malcolm Jestadt
7c2b08b9b6
SPU LLVM: Expand branch optimizations for more instructions
2021-05-29 13:07:35 +03:00
Megamouse
99af70ae59
Include limits.h
2021-05-29 10:09:56 +02:00
Megamouse
5a0b93742c
overlays: move more code to cpp
2021-05-29 10:09:56 +02:00
polar
7c7cc3914d
BUILD: Refactor glslang submodule ( #10361 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-29 09:47:51 +03:00
Megamouse
0d64b0f94d
VS: fix libPng ProjectReference in emucore
2021-05-29 08:17:30 +02:00
Megamouse
f18e80e899
fix some warning spam
2021-05-29 08:17:30 +02:00
Megamouse
210999b874
perf_overlay: fix guide line locations
...
The guide lines falsely started from the top and not from the bottom, as all datapoints do.
2021-05-29 08:17:30 +02:00
Megamouse
046d029e89
try to fix pad interception
2021-05-29 07:43:09 +02:00
Eladash
7d89938624
cellPad: do not use recusrive mutex
2021-05-28 20:25:16 +03:00
Eladash
6ff9aab2ca
Fix cpu_thread::check_state() cpu_flag::temp support
2021-05-28 20:25:16 +03:00
Eladash
5f47730fc0
Fix reservations handling in logs
...
Remove reservation cb.
2021-05-28 20:25:16 +03:00
kd-11
9e62e98f79
rsx: Minor refactoring ( #10358 )
...
- Fix some misnomers.
- Allow finer grained control over texture section creation routines.
2021-05-27 23:44:07 +01:00
kd-11
763828837b
vk: Forcefully unmap DMA blocks before destroying them ( #10359 )
...
- While the vulkan spec explicitly allows destroying mapped blocks, GPUOpen vma_alloc does not.
- Strangely, this issue does not afflict linux users, only windows.
2021-05-27 23:03:46 +01:00
kd-11
f9d9d12f11
vk: Fix slow bo upload + copy when using RADV
...
- This reverts commit dbcf1b5a03bfef18f404aa6827515af319abd744.
- Avoid unmapping buffers used for GPU upload/download. It is very slow
on some platforms.
2021-05-27 22:49:13 +03:00
kd-11
56f7359da4
vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV
...
- perf shows extremely high number of cycles wasted in memmove glibc method
2021-05-27 01:27:15 +03:00
Megamouse
6fed80333c
perf_overlays: only calculate metrics on update
...
This should give a significant performance boost
2021-05-26 23:26:12 +02:00
Megamouse
befd38d9ae
perf_overlays: only compile dirty graphs
...
This should give a small performance boost
2021-05-26 23:26:12 +02:00
Megamouse
98b668b3a8
perf_overlays: add avg and 1p high/low
2021-05-26 23:26:12 +02:00
Eladash
f103004aa0
sys_prx/overlay: Fix disambiguator of module names opened by FD ( #10340 )
...
Don't append zero offset.
2021-05-26 23:38:17 +03:00
polar
177933e212
Refactor hidapi submodule ( #10346 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-26 22:03:53 +03:00
Megamouse
83d3658ef0
scale debug overlay based on current dpi settings
...
Depending on the dpi settings, the debug overlay was almost unreadable.
I also took the liberty to refactor some redundant client size calls and to add some margin to the left of the debug text.
2021-05-26 20:31:29 +02:00
Eladash
44f0ca08e2
Simplify PPU exit
2021-05-25 22:47:23 +03:00
kd-11
338dc62474
vk: Fixup on linux + RADV combo ( #10341 )
2021-05-25 20:40:53 +01:00
kd-11
a736350859
rsx/vk: Use backend configuration to track options that can be modified on a per-device basis
2021-05-25 20:54:17 +03:00
kd-11
156b092dc9
vk: Lock passthrough DMA behind the async streaming option
...
- Without async streaming this option can introduce artifacts.
The correct fix for it is to use async streaming which allows the GPU to process texture data in parallel with rendering.
Without streaming enabled the GPU can sometimes pull stale data via DMA when rendering and find the CPU has modified it.
2021-05-25 20:54:17 +03:00
kd-11
122bb4d829
vk: Avoid repeated chip_class lookup by using generic global function
2021-05-25 20:54:17 +03:00
kd-11
7508949ca8
vk: Add workarounds to disable incompatible options
2021-05-25 20:54:17 +03:00
Megamouse
ac59073071
perf_overlay: update interval config update
2021-05-25 11:04:45 +03:00
Nekotekina
7311c161f6
vm_native: fix Linux/Posix sparse file check
...
Fix fast path condition (xnor is not ==, facepalm).
Increase probe size.
Should fix #10334
Closes #10335
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-05-25 09:55:43 +03:00
Eladash
9ba3e6d3f7
sys_mmapper: Fix IPC-enabled instances memory consumption
2021-05-24 23:16:06 +03:00
Nekotekina
5db38c0127
vm_native: improve sparse file check (Linux/BSD)
...
Use lseek(FIND_DATA) to check for sparse file support.
2021-05-24 18:21:52 +03:00
Nekotekina
191cb92300
vm_native: improve sparse file implementation (Win32)
...
Fix sparse attribute set/check, improve logic.
Implement actual check of file data.
Ask to restart RPCS3 first time (Win7 bug).
2021-05-24 18:21:52 +03:00
Nekotekina
2491aad6f2
types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
...
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina
4b239a0b87
types.hpp: rewrite _u16-_u64 suffixes
...
_u48 is unused and gone, blends into _u64.
2021-05-23 07:33:54 +03:00
Nekotekina
2768727e2f
types.hpp: replace custom std::bit_cast
...
Remove memcpy version.
Use builtin instead.
2021-05-23 07:33:19 +03:00
Eladash
309759b725
kernel-explorer: Save self mem-container ID and use it
2021-05-23 05:37:37 +03:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Nekotekina
613777afde
vm_native: try to workaround another bug (Win32)
...
Resize sparse file gradually.
2021-05-22 08:16:54 +03:00
Eladash
dcfd29c2d9
kernel-explorer: Implement PPU scheduler state information
2021-05-21 18:12:36 +02:00
Eladash
a7d0c4fb1e
kernel-explorer: Fix horrible performance
2021-05-21 16:37:29 +02:00
Eladash
3a2b9f83ec
TROPUSR: Optimization
2021-05-21 16:43:34 +03:00
Eladash
48870f3e8b
TROPUSR: Loader Improvements
...
* Replace invalid TROPUSR.DAT with empty new ones. (+report an error)
* Fix return code of Load whenever TROPUSR.DAT hadn't existed before.
* Add header magic test.
* sceNpTrophyRegisterContext will abort if TROPUSR.DAT generation failed.
2021-05-21 16:43:34 +03:00
David Carlier
1f93fc902b
crypto light refactoring.
...
using volatile f/p guaranting assembly will generate call* instruction on memset for secure buffer zeroing. usage in sha1 api as well.
2021-05-21 16:34:38 +03:00
Nekotekina
c646476ca8
logs.hpp: another fixup for RPCS3.log
...
Don't print channel names for initial messages.
2021-05-21 00:41:37 +03:00
Nekotekina
de94f6c2f6
logs.hpp: fix fatal typo
2021-05-20 19:10:51 +03:00
Eladash
f0c4aa6777
Fix bugs due to clocks scale setting being dynamic
2021-05-20 13:38:36 +02:00
Eladash
0811d2d527
Fix bug of sys_rsx_context_attribute
...
Mistake of reversing.
2021-05-20 09:25:51 +03:00
Eladash
3abf14beef
Update sys_rsx_context_attribute
2021-05-20 09:25:51 +03:00
Eladash
638f20c80f
Improve get_current_cpu_thread()
2021-05-20 09:25:51 +03:00
Nekotekina
04cac6cd33
logs.hpp: refactoring (logs::message)
...
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Nekotekina
1d0f6eebdc
Improve error_code (new formatting constructor)
...
Minor cleanup in formatting utilities.
2021-05-19 22:41:16 +03:00
Nekotekina
16620f6835
vm_native: sparse file fixup (Win32)
...
Clear file if it occupies blocks.
Makes it more fool-proof and fixes possible bug.
2021-05-19 22:41:16 +03:00
Nekotekina
4b11a4256e
Add supporters
2021-05-19 22:41:16 +03:00
Megamouse
1dc00ccedd
edat: Remove redundant logging
2021-05-19 21:09:18 +02:00
Megamouse
7832acbceb
Minor change in msg_dialog_frame
...
This shouldn't have any impact
2021-05-19 20:24:06 +02:00
Lctrs
0042f4e16e
metainfo: move away from deprecated appdata
2021-05-19 19:55:58 +03:00
Lctrs
ffc9211ce2
metainfo: make license explicit
2021-05-19 19:55:58 +03:00
Nekotekina
8217840acc
Simplify error_code class
...
Remove "not an error" detection trait. Use fixed CellNotAnError class.
Use constructor overload to disable reporting it.
2021-05-19 00:48:45 +03:00
Nekotekina
6e497ae372
vm: disable sparse files on win7
2021-05-18 13:31:46 +03:00
Malcolm Jestadt
52780e65e7
SPU LLVM: Optimize branching
...
- Detect a pattern where vpmovmskb and a check against the sign bit can be used instead of checking against zero
2021-05-17 16:59:20 +03:00
Eladash
57cd4ff3c6
Move HLE table address to FXO ( #10284 )
2021-05-17 14:22:27 +03:00
Eladash
2e28e2d293
lv2: Fix overflows of periodic timers
2021-05-17 13:17:45 +03:00
kd-11
a84cf030bb
Fixup
...
FreeBSD + concepts = fail
2021-05-15 23:51:12 +03:00
kd-11
af05ebe428
Update cmakelists
2021-05-15 23:51:12 +03:00
kd-11
c5a06dab0a
rsx: Refactor program texture state handling to be persistent across shader swaps
2021-05-15 23:51:12 +03:00
polar
11bace8804
BUILD: Move buildfiles & improved prop includes ( #10251 )
...
* moved buildfiles to subdirectory
* fix msvc build
* fix cmake build
2021-05-15 20:20:12 +02:00
Eladash
7a9a46e093
kernel-explorer: Implement SPU ports/interrupt tags information
2021-05-15 09:00:12 +03:00
Eladash
8bd58b1ad4
Remove lv2_event_queue::check(weak_ptr)
2021-05-15 00:31:14 +03:00
Eladash
c681395fb2
sys_interrupt: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
33580e0aa1
sys_timer: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
47436bd774
sys_spu: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
a992a5fba9
cellAudio: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
94e2f464e3
CPU Profiler: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
56471f4ad4
SPU: Optimize SPU ports/queues
2021-05-15 00:31:14 +03:00
Eladash
cacb852a1e
Emulation stopping bugfix
2021-05-14 15:35:07 +03:00
Nekotekina
6dca588370
SPU LLVM: improve MPYH instruction
...
Rewritten to use 16-bit multiplication, as in SPU ASMJIT.
2021-05-13 23:16:53 +03:00
Nekotekina
2a26bc6668
Fix page mapping rights to file mapping
2021-05-13 13:49:24 +03:00
Paul
4e12e70929
Add Intel's Rocket Lake 11th gen cpu. ( #10205 )
...
This does nothing but may be required later.
2021-05-13 11:34:37 +03:00
Nekotekina
f0ad20a250
Implement const_str_t<> helper
2021-05-13 10:23:33 +03:00
Nekotekina
8ae727ca04
lv2_obj::create: fix pessimizing move
...
Could have been preventing copy elision.
2021-05-13 10:23:33 +03:00
Nekotekina
126141cdce
vm_native: improve sparse file handling
...
Don't specify O_TRUNC every time.
Add portable support test (Linux/Unix).
Use PAGE_WRITECOPY (Windows).
2021-05-13 10:23:33 +03:00
octopoulo
fe17c83020
reverted comment
2021-05-12 15:28:30 +03:00
octopoulo
b8928d230a
gl: Intel GPU shader fix
2021-05-12 15:28:30 +03:00
kd-11
675c9a7945
vk: Ensure MSAA surfaces are in RW state before attempting to transfer data.
2021-05-12 13:04:09 +03:00
kd-11
1a73b0a0da
rsx: Fix transfer barriers not triggering resolve target initialization
2021-05-12 12:32:24 +03:00
Nekotekina
0bd64a0e72
Don't fatal on sparse file initialization failure
...
Also try two different locations (Win32).
2021-05-10 00:39:28 +03:00
Eladash
acded1e08a
rsx: Move sys_rsx info to rsx::thread ( #10258 )
2021-05-09 19:16:14 +01:00
kd-11
a4f4b81e6b
vk: Add some more debugging utils for RDC captures
...
- Labels make life so much easier
2021-05-09 13:07:47 +03:00
kd-11
0b18ec8208
vk: Allow flipping without wait
2021-05-09 13:07:47 +03:00
kd-11
e3944bc67f
rsx: Handle transfer_read differently from transfer_write
...
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
kd-11
b085284c55
rsx: Ignore write-to-self via blit engine.
2021-05-09 13:07:47 +03:00
Eladash
31b55e0030
event queue: Structure size efficiency
2021-05-09 10:58:14 +03:00
Eladash
7a4918e4a4
kernel explorer: Implement interrupt handler/service information
2021-05-09 10:58:14 +03:00
Eladash
1e1880893a
sys_interrupt: Save ID of self tag/handler
2021-05-09 10:58:14 +03:00
Eladash
363cc60c82
sys_event: Save ID of self event queue
2021-05-09 10:58:14 +03:00
David Carlier
b09970f159
couple of warning build fixes
2021-05-09 09:25:40 +02:00
Megamouse
52930a7597
VS: fix some filters
2021-05-07 22:51:08 +02:00
Megamouse
96fa531566
Qt: allow renaming of the current user
...
Since the dialog cannot be opened ingame, there should be no reason to disable the rename user option.
2021-05-07 22:51:08 +02:00
Eladash
64997662d2
LV2: Fixup for IPC
...
* Fix typo in lv2_obj::create.
* Always save ipc_key as 0 for non-shared object creations, regardless of thbe value set by creation attribute.
* Show IPC key of shared memory (sys_mmapper) memory objects in kernel explorer.
2021-05-07 14:58:22 +03:00
Eladash
900ebf6583
sys_event: Typo fix ( #10246 )
2021-05-07 09:34:25 +01:00
polar
ce94a4ecea
BUILD: Refactor libpng submodule ( #10238 )
...
* relocate libpng files
* fix cmake build
* fix MSVC build
2021-05-07 10:07:42 +02:00
Eladash
7b6482c01d
LV2: Improve IPC support ( #10206 )
...
* Remove custom event queue's IPC management of favour of universal LV2 approach.
* Move ipc_manager to FXO.
* Fix ipc_manager internal storage memory leak: deallocate entry when IPC object destroyed.
* Rewrite lv2_obj::create to be simpler (remove many duplicated code).
* Always execute lv2_obj::create under both IPC and IDM mutexes at once (not in non-atomic single-steps). Fixing potential case where concurrency can cause IDM to contain 2 or more different objects with the same IPC key with SYS_SYNC_NOT_CARE (instead of the same object).
* Do not rely on smart ptr reference count to tell if the object exists. Use similar approach as event queues as it makes error checkings accurate.
* Optimize lv2_event_port by using std::shared_ptr for queue which wasn't allowed before.
2021-05-07 09:58:30 +03:00
David CARLIER
f56ecb6d3f
stblib: disable another unsupported clang warning ( #10244 )
2021-05-07 01:26:21 +01:00
Nekotekina
e24ada37bf
fs: implement fs::get_temp_dir() (Win32)
...
Trying to workaround issues with sparse files (#10231 )
2021-05-05 19:38:36 +03:00
Nekotekina
546b52200b
vm: disable locking main/video/stack for now (TODO)
2021-05-04 19:18:57 +03:00
Nekotekina
327c000c82
Implement s128 type (based on u128)
2021-05-04 18:02:52 +03:00
Nekotekina
1b0b2fe21e
vm: add "hook" memory (32G)
...
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03:00
Nekotekina
e327d47169
vm_native: add cow flag to map functions
...
CoW is copy-on-write mapping type.
2021-05-04 09:53:19 +03:00
p01arst0rm
35ee550171
changed discord-rpc to discordRPC
2021-05-04 01:27:41 +02:00
p01arst0rm
2447fdb90d
relocated stblib files
2021-05-04 01:27:41 +02:00
p01arst0rm
c6c5faa95c
buildsystem refactoring cleanup
2021-05-03 08:01:25 +02:00
polar
df39bac449
BUILD: Refactor asmjit submodule ( #10230 )
...
* relocated asmjit files
* fix cmake build
* fix MSVC build
2021-05-02 19:59:38 +02:00
HerrHulaHoop
c3bf9bd4a0
Correct mismatched licenses in Crypto
...
5 files in Crypto were licensed under GPL-3.0-only which is
incompatible with our project's GPL-2.0-only license. They have now
been corrected to use GPL-2.0-or-later.
2021-05-02 13:39:50 +03:00
polar
b09b0bc43b
BUILD: Refactor curl submodule ( #10228 )
...
* relocate curl files
* fix cmake build
* fix MSVC build
2021-05-01 21:56:56 +02:00
Eladash
0224c7a9eb
SPU TG: Simplify state of saved SPU image data
...
Save only entry points instead of sys_spu_image structure.
2021-05-01 19:43:00 +03:00
p01arst0rm
ca0d38d19d
fix relative links to common_default* props
2021-05-01 18:38:42 +02:00
polar
b62ac7a046
BUILD: Refactor 7zlib ( #10222 )
...
* relocate 7z files
* fix MSVC build
* fix cmake build
2021-05-01 18:07:28 +02:00
Eladash
daa53b77cf
Simplify named_thread construction
2021-05-01 18:08:03 +03:00
Ani
b8477a470f
rpcs3_version: Bump to 0.0.16
2021-04-30 21:42:14 +01:00
Ani
37331d8ead
stblib: Ignore new 3rdparty warnings
2021-04-30 17:07:05 +01:00
Megamouse
71d58e3a67
rsx: remove unused tile functions
2021-04-30 08:23:16 +02:00
Megamouse
37425d6fcd
GL: Remove unused copy functions
2021-04-30 08:23:16 +02:00
Megamouse
1f295bba5b
VK: ReSharper warning fixes
2021-04-30 08:23:16 +02:00
Megamouse
a50be7a912
GL: resharper findings (too lazy for const functions)
2021-04-30 08:23:16 +02:00
Megamouse
d331ff3193
overlays: implement text_align::right
2021-04-30 00:30:26 +02:00
Megamouse
035a187c42
user-overlays: add sanity check for enter button
2021-04-30 00:30:26 +02:00
Megamouse
3c37036f7a
save-overlays: add entry size info
2021-04-30 00:30:26 +02:00
Megamouse
14b6d6291b
save-overlays: add localization
2021-04-30 00:30:26 +02:00
Megamouse
5720a32bc5
save-overlays: change list entry contents.
...
There's no need to tell the user that the entry is for game xy, they are already playing that game.
On a real PS3 only the subtitle and the date are displayed.
2021-04-30 00:30:26 +02:00
Megamouse
11f57f259c
cellSaveData: keep focus after confirmation cancel
...
It was very annoying to be thrown to beginning of the list after cancelling the confirmation.
2021-04-30 00:30:26 +02:00
Nekotekina
3fc6375ec5
Use consteval (experimental)
2021-04-29 23:16:43 +03:00
Nekotekina
f8e05f8e3c
Remove redundant operators !=
2021-04-29 22:57:40 +03:00
polar
dece8a69f6
BUILD: Refactor libusb submodule ( #10169 )
...
* relocate module files
* fix cmake errors
* moved & updated libusb MSVC build file
2021-04-29 16:50:18 +01:00
Nekotekina
5724d2d4c7
Simplify umax
...
Add operator less and conversion operator.
2021-04-29 12:21:12 +03:00
Nekotekina
b1736b6411
Simplify utils::umulh64 (MSVC)
2021-04-29 09:45:57 +03:00
Nekotekina
703ec474f5
Fixup for sys_time_get_timezone (3rd path)
...
Also simplify Linux path a bit.
2021-04-29 00:07:22 +03:00
kd-11
1d9dd8d29d
vk: Add support for tagging objects to ease debugging
...
- Makes use of VK_EXT_debug_utils
2021-04-28 16:53:02 +03:00
kd-11
8b0e1d6c03
rsx: Make renderdoc compatibility mode a general option
2021-04-28 16:53:02 +03:00
Megamouse
f1a9f6263e
Rename Rockband to Rock Band
2021-04-27 23:33:46 +02:00
Nekotekina
a049c6fd6b
Implement sys_time_get_timezone syscall
...
Try to get system timezone automatically.
Attempt to address #10195 .
2021-04-27 22:21:58 +03:00
kd-11
9609767c51
vk: Refactor render target code
2021-04-26 00:33:05 +03:00
Nekotekina
86a8e0716f
Test alterable aggregates via overriding be_t
...
Checking how it might look like without introducing too many changes.
Alteration of its behaviour as a "template template" argument allows:
- normal access
- easier aggregate inspection
- memory access interception
2021-04-25 19:00:16 +03:00
Nekotekina
4d9a167f56
u128: add multiplication support (for MSVC)
2021-04-25 18:17:38 +03:00
Nekotekina
b704cc8375
shared_ptr.hpp: implement make_single_value(), make_shared_value()
...
A function that constructs single_ptr from its argument.
Type can be deduced from the argument (unlike make_single).
2021-04-25 18:17:38 +03:00
Nekotekina
e34c956196
shared_ptr.hpp: add invoke operator
2021-04-25 18:17:38 +03:00
clienthax
7197dd751a
Fcntl e0000025 ( #10172 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-04-24 21:43:09 +03:00
David Carlier
0b9e4ffe54
Mac OS build update and simplification, recent releases of macOS has clock_gettime support.
2021-04-24 12:55:21 +03:00
Megamouse
486ba6121d
Qt: fix window position of update dialog
2021-04-24 11:46:51 +02:00
Megamouse
1015c126d7
fix formatting (somehow broken by copy pasta)
2021-04-24 11:46:51 +02:00
Megamouse
1caf81811a
Move unspecific Emulator code out of System.cpp
2021-04-24 11:21:22 +03:00
kd-11
4c2a11b6d0
vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these.
2021-04-24 00:19:50 +03:00
Megamouse
8fd3b26308
sys: more constants
2021-04-23 22:46:15 +02:00
Megamouse
617d21fa84
sys_prx: more constants
2021-04-23 22:02:52 +02:00
Megamouse
4a88ffe250
Fix typo causing unreachable code
2021-04-23 22:02:52 +02:00
Megamouse
41b68ef353
some more constants
2021-04-23 22:02:52 +02:00
Eladash
72c85744b9
kernel-explorer: Show bound queue to port information
...
Show its IPC key or ID, depends on the queue's type.
2021-04-23 21:34:05 +03:00
Eladash
c7b5bbd467
Fix emulation restart
2021-04-23 20:59:02 +03:00
David Carlier
082bbc7336
Following up on MacOS build fix.
...
Specialisation of llvm_value_t to allow build with LLVM this time.
2021-04-23 15:20:40 +03:00
Megamouse
087dccd194
Implement most of cellUserInfo
2021-04-23 05:50:19 +03:00
Nekotekina
67649d7976
SPU LLVM: restore lost comment
2021-04-21 13:33:44 +03:00
Malcolm Jestadt
6247969ede
SPU LLVM: Absolute final fixes for icelake shufb paths
...
- The constant mask was accessing bits in reverse order of what was expected
2021-04-21 11:00:02 +03:00
Malcolm Jestadt
efd38fa940
SPU LLVM: Improve byteswap elimination
...
- Use the data before it has been swapped rather than relying on a second byteswap to cancel out the first
2021-04-20 23:24:21 +03:00
Malcolm Jestadt
551472220e
SPU LLVM: Remove icelake shufb paths for now
2021-04-20 23:24:21 +03:00
p01arst0rm
01703b1350
moved cmake_modules to project root
2021-04-20 21:38:47 +03:00
p01arst0rm
e9d785475e
removed redundant cmake version check
2021-04-20 21:38:47 +03:00
p01arst0rm
bcfae17219
unified missmatched indentation in CMake files
2021-04-20 21:38:47 +03:00
dio-gh
ddea45160b
GUI: take out some unwise shortcuts
...
Removes the ability to stop or restart emulation via keyboard shortcuts
while the game is running. Prevents loss of work that can happen due to
the current bindings conflicting with very-widely established shortcuts.
Ctrl+C and Ctrl+E will now be unbound, and Ctrl+R will now mean Resume.
Strings that mention these keybinds were adjusted accordingly.
2021-04-20 19:46:47 +03:00
Malcolm Jestadt
53f13a9721
SPU LLVM: Final fixup for icelake shufb paths
...
- The cause of the problems was due to the constant mask for gf2p9affineqb being used as the first argument, instead of the second argument.
2021-04-20 13:07:24 +03:00
Megamouse
3e33f064bf
overlays: hotfix for dialog interaction
...
Turns out there was an undocumented reason for this.
Nobody warned me that "It's a trap!".
I wonder how this hasn't summoned a shitstorm yet.
2021-04-20 00:42:11 +02:00
Megamouse
aa0afc9a4e
Input: avoid mouse events when unused
2021-04-20 00:06:23 +02:00
Eladash
a0d1cf26d0
Reduce precompilation failure log level (error -> notice)
2021-04-19 23:18:31 +03:00
Megamouse
01d14aed80
fix null chars in hostname log message
2021-04-19 21:54:27 +02:00
Megamouse
3c4c830e20
Qt: Speed up Log Viewer
2021-04-19 21:25:19 +02:00
Nekotekina
0c9c481cee
Use requires syntax in more places
...
Change style in some places.
2021-04-19 16:51:40 +03:00
Nekotekina
7dae376646
Implement fill_array() utility
2021-04-19 12:33:32 +03:00
Nekotekina
ccb89bd76a
MSVC: disable throwing new
2021-04-19 12:33:32 +03:00
Megamouse
b2317543c8
Qt: Fix initial gs_frame position on multi-monitor
2021-04-19 10:44:48 +02:00
p01arst0rm
b812ef2771
removed space between and its opening parentheses
2021-04-19 08:59:28 +03:00
David Carlier
7618e7f3fb
FreeBSD/clang update proposal.
...
silence few build warnings, VKDMA: disable Intel chipset for host buffer as it requires root privilege.
2021-04-18 19:56:21 +03:00
David Carlier
b6732fbae9
MacOs build fix proposal.
...
Made on Big Sur, removing few unnecessary old specifics.
Build with LLVM homebrew.
2021-04-18 17:18:09 +03:00
clienthax
68fa377d13
Add dev_flash2+3
2021-04-18 14:49:29 +03:00
Nekotekina
7a9561b966
vm_native: document some unmap_critical behaviour (posix)
2021-04-18 13:13:15 +03:00
Nekotekina
c061991c43
vm_native: supply only one madvise flag at a time
2021-04-18 13:13:15 +03:00
Megamouse
bdac1d9bfd
Qt: fix type mismatch crash of game grid items
2021-04-18 09:58:54 +02:00
David Carlier
266c4209c4
VM: FreeBSD c_madv_no_dump/dump constants support.
2021-04-17 20:47:36 +03:00
Nekotekina
fb26da1cb0
bs_t<>: create BitSetEnum concept
...
Try concepts instead of SFINAE.
2021-04-17 19:23:19 +03:00
Nekotekina
d623720f4d
Fix condition for -Wno-attributes (regression)
2021-04-17 16:26:41 +03:00
Nekotekina
9d4fcbf946
bs_t<>: fix/cleanup some operators
2021-04-17 15:54:33 +03:00
p01arst0rm
896db3806d
replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID
2021-04-17 15:54:27 +03:00
Megamouse
691b986e36
keyboard pads: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Megamouse
5416f60643
basic keyboard: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Eladash
67e2e154fa
Replace simple_type with std::common_type
2021-04-17 10:27:55 +03:00
Megamouse
330dea181a
Qt: unify some movie hover code and fix cellLeave
2021-04-16 23:18:13 +02:00
Megamouse
7bc673002f
overlays: fix dirty state of message dialog
2021-04-16 23:18:13 +02:00
Megamouse
ae8d1a3a60
Qt: smoother scrolling in savedata manager
2021-04-16 21:26:24 +02:00
Megamouse
27975e9dfd
Qt: remove uncritical deprecated notes and titles
...
This also fixes a savedata notes bug.
The detail section notes were always taken from the deprecated settings.
2021-04-16 21:26:24 +02:00
Megamouse
bff938ccf5
Qt: optimize game list repaint with new logic
...
We now pass a shared pointer to the icon items, so there is no need to trigger a full refresh of the list anymore.
Sadly this doesn't apply to the game grid.
2021-04-16 11:21:04 +02:00
Megamouse
53f317e076
Qt: use gifs as icons on hover if available.
2021-04-16 11:21:04 +02:00
Malcolm Jestadt
0a7df9d02e
SPU LLVM: add AVX-512 SPU verification
...
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
2021-04-16 09:35:26 +03:00
Nekotekina
408ffd3d2c
fxo: add debug name to the typeinfo
2021-04-15 20:01:29 +03:00
Nekotekina
a211895e28
shared_ptr.hpp: use for fs::virtual_device
...
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Nekotekina
19763f8973
Remove unnecessary default:breaks
2021-04-15 15:23:59 +03:00
Desterly
99d6f9c7a9
Skylander - Traptanium portal cleanup
...
- Remove "Status" query responses from reset request
- Add additional request types for newer portal
2021-04-15 12:10:22 +02:00
Desterly
63e4ac80bd
Skylander - Change portal version
...
Switch emulation to the Traptanium portal. This portal is universal
and works with all games.
2021-04-15 12:10:22 +02:00
polar
24983ea329
removed whitespace
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-15 11:37:35 +02:00
p01arst0rm
6cab5b5591
removed extra perentheses pair
2021-04-15 11:37:35 +02:00
p01arst0rm
c9d2aed286
small collection of fixes
2021-04-15 11:05:15 +03:00
Eladash
a16cc3ac8a
lv2: Remove flags from IPC-supported objects
2021-04-15 10:31:40 +03:00
TotalCaesar659
ba1699a831
Fix typo
2021-04-14 20:01:18 +02:00
Megamouse
20c69a0e3e
overlays: make auto-repeat buttons configurable
...
and properly reset the auto-repeat timer whenever a new button was pressed
2021-04-13 20:57:05 +02:00
Megamouse
bdc5ed094b
overlays: implement OSK password mode
2021-04-13 20:57:05 +02:00
Megamouse
088d22675b
overlays: fix osk placeholder
2021-04-13 20:57:05 +02:00
Megamouse
fc9b3c13e6
misc: fix old some style casts and redundancies
2021-04-13 20:57:05 +02:00
kd-11
14a64e2529
rsx: Handle rare rounding issue where position.w is very close to zero
2021-04-13 21:26:23 +03:00
Megamouse
f5415fb4ac
overlays: dynamically change dialog background
2021-04-13 19:13:56 +02:00
Megamouse
20076ed57e
Qt: Properly disable perfoverlay datapoint sliders
2021-04-13 19:13:56 +02:00
kd-11
8d1fc18941
vk: Fix mip level packed pitch calculation
2021-04-13 00:14:16 +03:00
kd-11
06dc99ab85
rsx: Fix decompression of RB_RG textures.
...
- Removes several subtle hacks that hid the real issue.
A compressed texture has more than one texel per 'block'.
2021-04-11 21:36:36 +03:00
p01arst0rm
4048b1e515
added inline suggestion to settings_location to prevent duplicate includes
2021-04-11 18:38:02 +03:00
Nekotekina
ccb46df905
Minor fixups (removed unnecessary code)
2021-04-11 16:36:02 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Eladash
56d34e0e80
Enforce backslash at the end of emulated drives paths
2021-04-10 23:51:49 +03:00
Eladash
5ca6381624
Implement "PPU LLVM Precompilation" control setting
2021-04-10 18:06:46 +03:00
Megamouse
7a105333dc
Qt: fix vfs dir remove button enabled state
2021-04-10 15:18:16 +02:00
Megamouse
332eb5fbd6
Log firmware after Emu was initialized
2021-04-10 15:18:16 +02:00
Megamouse
5b0dac797c
Remove deprecated user management code
2021-04-10 15:18:16 +02:00
Eladash
86ddc00bb1
Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure
2021-04-10 10:37:20 +02:00
Nekotekina
3107f37864
Fix psf::load error for error::stream
2021-04-10 00:43:08 +03:00
Megamouse
17f5fec538
sceNp: fix rap file regression ( #10084 )
2021-04-09 21:37:57 +01:00
Megamouse
03b76b4606
Emu: some cleanup
2021-04-09 21:03:49 +02:00
Eladash
a3e8a61547
PSF: Fix string_view optimization
...
Avoid redundant copies of std::string.
2021-04-09 20:58:30 +03:00
Eladash
a8d5a8734a
Loader/cellGame: Do not crash on invalid PSF files
2021-04-09 20:58:30 +03:00
Nekotekina
10bbb7fa1f
Fix some warnings (deprecate enum arithmetics)
2021-04-09 10:26:13 +03:00
Nekotekina
8c5f2b249c
shared_ptr.hpp: further fixes
...
Improved is_same_ptr() trait (added third "maybe" category).
Fallback to pseudo-runtime check in certain cases (if "maybe").
Fix single_ptr moving assignment operator.
2021-04-09 10:26:13 +03:00
Nekotekina
332c512eed
shared_ptr.hpp: minor optimization (GCC hotfix)
...
Use thread_local for dummy objects (doesn't work on MSVC).
Couldn't find better way to remove fake static objects completely.
In a sense that they don't appear in object files.
2021-04-09 10:26:13 +03:00
Megamouse
d10584ac6c
DRM: Search all user directories for rap files
2021-04-09 08:47:59 +02:00
Eladash
d2b761b7de
Log error about HG games booted outside of /dev_hdd0
2021-04-08 23:57:00 +03:00
Eladash
49c5ce30cc
Emulation: Fix boot path resolving
...
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina
95725bf7fc
Add -Werror=missing-noreturn (GCC, clang)
...
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina
94c62b1eec
shared_ptr.hpp: improve is_same_ptr<> trait
...
Don't always return true on MSVC.
2021-04-08 10:29:47 +03:00
Megamouse
02febd3f65
Workaround: Skip progress_dialog during gameplay
2021-04-06 21:39:34 +03:00
Megamouse
497fbb17a8
progress_dialog fixes
2021-04-06 21:39:34 +03:00
Nick Renieris
396c129d41
vm: Flag names (refactoring)
2021-04-06 13:07:54 +03:00
Eladash
4a9be0a8d2
core: Move IDM to FXO
2021-04-04 17:29:32 +03:00
Megamouse
bf1756448e
overlays: fix taskbar progress reset
2021-04-04 13:38:10 +03:00
Nekotekina
ed8f60431f
Fixup for progress dialog closing logic
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-03 23:25:02 +03:00
Nekotekina
6f1f75bc8f
Minor progress dialog refactoring
...
Add rsx::overlays::progress_dialog class (identical to message_dialog).
Don't use Emu.CallAfter() for native dialogs.
Make g_progr_ptotal waitable.
2021-04-03 22:38:04 +03:00
Nekotekina
963d150e93
Fix some -Weffc++ warnings (part 2)
2021-04-03 21:54:15 +03:00
Nekotekina
1ddeef71c6
Fix some typos
2021-04-03 21:54:15 +03:00
Megamouse
b7eefeac8b
hotfix: skip progr dialogs if msg dialogs are open
2021-04-03 20:37:40 +02:00
Eladash
e57f36fc5b
Quick sys_sm_get_params implementation
2021-04-03 17:23:40 +03:00
Eladash
32116086b3
Implement _sys_prx_register_module loading imports/exports functionality
2021-04-03 17:23:40 +03:00
Eladash
878da3b474
Implement get_cellos_appname()
...
Identifying vsh.self and possibly other operating system executables in the future.
2021-04-03 17:23:40 +03:00
Eladash
73320d4180
Output all fatal log messages to Console/debugger as well
2021-04-03 08:47:58 +02:00
Eladash
a1d31f640a
Set userland firmware SPRX directory as the default PS3 decryption tool path
2021-04-02 20:54:33 +02:00
Megamouse
9c7230e79f
cli: set user-id per command line
2021-04-02 11:50:28 +02:00
Megamouse
98687d474b
Move system info to extra line
2021-04-02 07:14:23 +02:00
Eladash
7b57b8f2ca
debugger: Implement ability to pause entire emulation on breakpoint
2021-04-01 19:11:55 +03:00
Eladash
55c98bfaef
Fix #9879 and fix firmware confirmation dialog when auto-start is disabled
2021-04-01 14:09:02 +03:00
Nekotekina
e9a45a2f45
Implement scoped_progress_dialog
...
Create Emu/system_progress.hpp
Remove atomic g_progr_show
2021-03-31 23:40:09 +02:00
Nekotekina
2212a131ef
Fix some -Weffc++ warnings (part 1)
2021-03-31 11:27:09 +03:00
Nekotekina
deacf05769
Enable -Wdeprecated-copy
...
Some classes violated the Rule of 3(5) in their special operator definitions.
2021-03-31 11:27:09 +03:00
Megamouse
870224cde0
Emu/overlay: ingame native overlay PPU compilation
2021-03-31 09:38:30 +02:00
Megamouse
e557c962fb
Qt: gs_frame position updates
2021-03-30 19:09:01 +02:00
Eladash
1e71deb0db
rsx: Compile shaders when CELL is not running
2021-03-30 11:13:47 +03:00
Eladash
dea1d01de2
Fix Emulator::Stop race with IDM
...
Newly created threads' state could have not been flagged with exit.
2021-03-30 10:21:54 +03:00
Eladash
e9bea1c742
Emu: Do not obey auto-exit setting after creating firmware cache
2021-03-30 10:21:54 +03:00
Eladash
d51bb8b1cc
Fix Emulator::Pause race with IDM
2021-03-30 10:21:54 +03:00
Eladash
aad5283786
Fix Emulator::IsPaused()
2021-03-30 10:21:54 +03:00
Megamouse
66df38957b
add AppIcon to fatal_error_dialog
2021-03-29 23:32:15 +02:00
xddxd
7cbafd603a
Get rid of non-LLVM build configurations ( #10030 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-29 22:45:48 +03:00
dio-gh
3e48c9744b
upgrade icons to a modern design
...
Credits go to @DAGINATSUKO, and @hcorion for the svg version.
2021-03-29 22:24:40 +03:00
Megamouse
a982280400
Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY
2021-03-29 20:37:33 +02:00
Megamouse
d62983e1a2
Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY
2021-03-29 20:37:33 +02:00
Megamouse
90ac24e524
Qt: set find_dialog "next" button to default
2021-03-29 19:19:24 +02:00
Megamouse
0b2ba98238
Qt: add option to hide the log prefix
2021-03-29 19:19:24 +02:00
xddxd
b978aa6dca
Wording changes and tooltip fix for unsupported CPUs
2021-03-26 18:56:16 +01:00
Megamouse
6565855005
Qt: clean global cfg before adding custom cfgs
2021-03-26 09:08:30 +01:00
Megamouse
9f80a55652
Qt: don't show updater if booted with cli arg
2021-03-25 23:39:42 +01:00
xddxd
9d895e6b15
Scheduler overhaul
2021-03-26 00:29:44 +03:00
Megamouse
a7acb84b8b
Qt: Remove unused GUI entries when saving a config
2021-03-25 20:34:00 +01:00
Megamouse
8d54453981
Qt: Fix debugger breakpoint deletion
2021-03-24 20:47:51 +01:00
Megamouse
452fb59c74
Qt: select target item in debugger list
...
This should make it easier to spot the item
2021-03-24 20:47:51 +01:00
Megamouse
ba45daff35
Qt: some cleanup in debugger
2021-03-24 20:47:51 +01:00
Nekotekina
b3fb6d7d18
Add and fix -Wredundant-decls (GCC)
2021-03-23 22:48:57 +03:00
Nekotekina
5dc3467337
vm: fix reservation_update notification
...
Rare function.
2021-03-23 21:09:37 +03:00
Nekotekina
729757b1dd
atomic.hpp: allow raw notify_all by pointer
2021-03-23 20:58:42 +03:00
Nekotekina
393f9d329d
atomic.cpp: allow non-standard sizes in atomic wait (>16)
2021-03-23 20:52:56 +03:00
Nekotekina
820390b7ed
atomic.cpp: remove raw_notify and simplify internal logic
...
Also permit zero size in waiters.
2021-03-23 20:19:10 +03:00
Nekotekina
e0790f758e
Add some warnings (GCC, clang)
2021-03-23 16:40:44 +03:00
Eladash
2f333424a6
Improve ELF/Trophy loader's error checking
2021-03-23 16:05:23 +03:00
Eladash
a67b347966
debugger: Fix SPU memory viewing ( #10007 )
...
* debugger: Fix SPU memory viewing
* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse
dedf09017a
VS: try to unbreak debug builds
2021-03-23 09:11:04 +01:00
Megamouse
cd07ab5b5f
VS: fix release build
2021-03-23 00:46:26 +01:00
Megamouse
6892cb1c7e
Qt: prepare for removal of deprecated GUI settings
...
If you remove a custom name and already had a deprecated name before, you'll never get rid of it.
This applies to all of the deprecated settings.
2021-03-22 23:47:11 +01:00
Megamouse
b518a9a338
VS: fix release Optimization
2021-03-22 20:19:36 +01:00
Megamouse
54d078f379
VS: fix AdditionalIncludeDirectories
2021-03-22 20:19:36 +01:00
Eladash
b0a0533a4f
Memory string searcher improvements
...
* Search the entire PS3 4GB address space instead of a small area of memory which is meant mostly for PRX/SELF memory aka vm::main segment. This limitation rendered string searcher nearly useless.
* Implement hexadecimal byte-string, hexadecimal integer, float and double value search formats.
* Multi-thread searching.
* Optimize searching algorithm vastly.
* Fix crash on empty string, report an error.
* Implement case-insensitive string search.
2021-03-22 18:37:26 +03:00
Megamouse
399f20ae54
Qt: Fix debugger step shortcuts
2021-03-22 10:44:30 +01:00
Megamouse
554ba9d6a6
Qt: Allow package installation through cli
...
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse
2c05e9719d
cfg: simplify get_nodes
2021-03-20 20:54:26 +03:00
Megamouse
cb9e7358d2
cfg: log unused config entries
2021-03-20 20:54:26 +03:00
Megamouse
70c98fff19
Make cli fw installation more foolproof
2021-03-20 11:57:04 +01:00
Romain TISSERAND
b5698ee101
Add command-line option to install firmware
2021-03-20 11:57:04 +01:00
Nekotekina
379138af27
Fix NtSetTimerResolution in no-gui mode (Win32)
...
Add dummy persistent timer with 10ms period.
Replace QTimer invocation with Emu.CallAfter().
This way, headless and no-gui modes should be affected by it.
2021-03-19 22:26:48 +03:00
Eladash
1864419561
Fix SPU mapped memory page size
2021-03-19 22:25:08 +03:00
Eladash
a9ddb1d3b3
GUI: Implement full extraction of PUP
...
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash
314670a347
Improve firmware installation error handling
...
* Add new error types and descriptions.
* Do not crash on missing 0x100 and 0x300 PUP file entries.
* Report an error on missing PUP package inner files.
* Fix overflow in file-size against header check.
* Move all header errors to pup_object class.
* Move verbose error descriptions to pup_object class.
* Minor optimizations.
2021-03-19 17:51:09 +01:00
Eladash
ad49c54531
Fix race in render_creator ( #9939 )
2021-03-18 12:09:42 +03:00
Megamouse
43ac33c2b4
cellSaveDataEnableOverlay
2021-03-18 11:11:34 +03:00
Nekotekina
ee4009e123
Add supporters
2021-03-17 23:53:10 +03:00
Nekotekina
2decf1ecda
Rename and move g_tls_current_cpu_thread inside cpu_thread
...
Don't declare extern inside get_current_cpu_thread().
Possible workaround for gcc-11.
2021-03-17 23:49:48 +03:00
Eladash
1d7fbd6a9a
Fix sceNpTrophyGet(Trophy/Game)Icon
2021-03-17 22:31:57 +03:00
Eladash
1213708b72
Replace some log errors ( #9980 )
2021-03-17 17:19:35 +03:00
Nekotekina
8fcebebae3
Implement lv2_mp_flag::cache
...
Identify /dev_hdd1 without unsafe path comparison.
2021-03-16 19:37:03 +03:00
Nekotekina
f801dc6558
Save all 8 syscall_args
2021-03-16 19:33:37 +03:00
Eladash
8716ac554f
Fix sys_raw_spu_destroy
2021-03-16 19:31:52 +03:00
Eladash
d7b4753007
Make gamedata installation atomic as real PS3
2021-03-16 19:31:52 +03:00
Eladash
a9b0d25c01
PPU Debugger: Fixup for syscall arguments ( #9932 )
2021-03-16 16:20:45 +03:00
shockdude
6a14849381
sys_usbd: DJ Hero Turntable Emulation ( #9965 )
...
* Initial Turntable Emulation
2021-03-14 23:48:50 +03:00
Megamouse
f93dbb8f49
Qt: dont scale small icons, deal with size instead
2021-03-14 19:56:11 +01:00
Megamouse
f83b19cecf
Qt: Fix wide game icons (weird copy pasta error)
2021-03-14 19:56:11 +01:00
Megamouse
1e09be19f5
Qt: Fix PaintedPixmap crash if icon is null
2021-03-14 19:56:11 +01:00
Megamouse
c1de0bc28c
workaround for clang compilation
2021-03-14 16:46:16 +01:00
Megamouse
1a5a0f5eca
overlays: Fix aspect ratio of custom bakground images
2021-03-14 16:46:16 +01:00
Megamouse
8b0cd60be9
Qt: Fix game icon canvas size
2021-03-14 16:46:16 +01:00
Megamouse
2239a52e9b
Qt: Import Custom Shader Loading Icons
...
and refactor icon import
2021-03-14 16:46:16 +01:00
kd-11
c9214ce6c0
vk: Disable async streaming by default
2021-03-14 16:39:55 +03:00
Nekotekina
bb9b5e6aff
Enable -Wtautological-compare
2021-03-13 23:01:37 +03:00
Nekotekina
0327ecc5c1
Enable -Wduplicated-cond (GCC)
2021-03-13 18:46:59 +03:00
Nekotekina
ccdea1c4ad
Enable -Wduplicated-branches (GCC)
2021-03-13 18:03:08 +03:00
Nekotekina
c22e1e71f0
Continue fixing strict aliasing warnings
2021-03-13 18:02:37 +03:00
Eladash
aff63028d4
SCE Decryption: Detect illegal RAP files
2021-03-13 11:51:40 +01:00
Eladash
7a7b168af3
GUI: Atomic RAP file installation
2021-03-13 11:51:40 +01:00
Eladash
bdf6a1c70e
GUI: Handle all PUP files in drag-and-drop
2021-03-13 11:51:40 +01:00
Eladash
d1e07434a1
GUI: Handle uppercase RAP file extension
2021-03-13 11:51:40 +01:00
Megamouse
c0d823f1d8
Qt: Fix square custom icons
2021-03-13 10:19:39 +01:00
Megamouse
8d0947f07f
Qt: Option for Custom Icons
2021-03-13 10:19:39 +01:00
Megamouse
161d8ef47a
Qt: Center Custom Icons
2021-03-13 10:19:39 +01:00
Megamouse
8c139206d7
Qt: Import Custom Icons
2021-03-13 10:19:39 +01:00
jtscott
e3a7fddddf
Resolve minor typo 'verion'
2021-03-13 01:16:01 +01:00
Eladash
923ba6f3bb
Fix sysutil_send_system_cmd at Emu.Stop()
2021-03-12 21:01:48 +03:00
Eladash
729cd9284e
debugger: Fix PPU threads pausing
2021-03-12 13:01:12 +03:00
kd-11
140c5bfc3e
Add asynchronous streaming to the GUI and auto-enable it
...
- Hopefully not many users are on very weak GPUs
2021-03-12 02:27:05 +03:00
kd-11
a5f0faefc3
vk: Check for uninitialized target before going into any scaling op
2021-03-12 02:27:05 +03:00
kd-11
608f8de347
vk: Solve GPU hang/reset due to waiting on events that are never signaled
...
- TODO: Some refactoring may be required to pair the primary and secondary CB and avoid such blunders
2021-03-12 02:27:05 +03:00
kd-11
3e8a00d264
Basic fixups
2021-03-12 02:27:05 +03:00
kd-11
7d5a72c9e0
vk: Add options to system configuration
2021-03-12 02:27:05 +03:00
kd-11
48d0f80a86
vk: Add an alternate async queue scheduler
...
- This version violates spec but does not rely on CPU threads to keep the GPU from hanging. It's ironically much safer to use.
2021-03-12 02:27:05 +03:00
kd-11
bd6c187fcd
vk: Tune event polling for higher throughput
2021-03-12 02:27:05 +03:00
kd-11
585837a3f0
vk: Support new fxo usage pattern
2021-03-12 02:27:05 +03:00
kd-11
b4e821c28d
vk: Flip on async texture uploads
2021-03-12 02:27:05 +03:00
kd-11
589ac1c5d4
vk: Optimization - avoid touching the mutex at all if possible even when there is no contention
2021-03-12 02:27:05 +03:00
kd-11
c9e8b87c60
vk: Properly clean up async scheduler
2021-03-12 02:27:05 +03:00
kd-11
41f5158247
vk: Sync main pipe with async jobs if any
2021-03-12 02:27:05 +03:00
kd-11
d2993474fb
vk: Lazy-initialize image resource on first use when owned by a separate queue
2021-03-12 02:27:05 +03:00
kd-11
77e312fb99
vk: Add the async task scheduler
2021-03-12 02:27:05 +03:00
Eladash
cd6ef2958b
Add information about unnamed/main threads in logs and fatal dialog
...
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Megamouse
40f3adc45f
Overlays: Implement individual pulse
2021-03-11 20:48:12 +01:00
Eladash
cfa2d4aaa8
Loader: Log FNID of imported/exported functions
2021-03-11 15:23:58 +03:00
arabek
bdefeaf6f9
Use maybe_unused macro for chip var
...
Var chip is only used in the WIN32 ifdef block - use maybe_unused to silence the compiler warning about unused variable.
2021-03-11 14:33:04 +03:00
Eladash
0958c10f88
Improve TAR loader ( #9908 )
...
* Fix header magic test.
* Rewrite code to not use so many filesystem calls.
* Add many more error checks.
* Add missing NUL filetype.
* octalToDecimal(header.size) has been fixed to use fixed 12 characters range instead of endless string.
* Add many optimizations.
* Fix possible signed overflows with int, use the unisgned u64 type instead which allows for greater files as well.
* Log errors.
2021-03-11 02:26:39 +03:00
Nekotekina
4adf412049
Fix std::bit_cast misuse
2021-03-10 16:11:30 +03:00
Nekotekina
03332c340d
Implement utils::bless (pointer cast)
...
Tries to workaround strict aliasing troubles.
Don't confuse with std::bless which works differently.
2021-03-10 16:02:00 +03:00
Eladash
63ecb56b51
PPU interpreter hotfix
2021-03-10 13:41:13 +03:00
Megamouse
cbd895a29c
Move code to cpp ( #9938 )
...
* GL: move GLOverlays code to cpp
* GL: move GLCompute code to cpp
* VK: move VKOverlays code to cpp
* VK: move VKCompute code to cpp
2021-03-10 00:58:08 +01:00
Nekotekina
9cbe77904d
Revert changes in BufferUtils.cpp
...
Should fix #9933
2021-03-09 19:19:24 +03:00
Nekotekina
19b5b47b26
Add -Wnull-dereference (commented out)
2021-03-09 15:54:04 +03:00
Eladash
52a0b38379
Workaround segfaults in Vulkan enumeration thread ( #9935 )
...
* Workaround segfaults in Vulkan enumeration thread
2021-03-09 13:50:58 +01:00
Nekotekina
a4fdbf0a88
Enable -Wstrict-aliasing=1 (GCC)
...
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
3990e2d3e6
Add -Wclobbered and -Wcast-function-type (no effect)
2021-03-09 03:10:15 +03:00
Nekotekina
53af2dbb3f
Add/fix warning -Wignored-qualifiers (GCC/clang)
...
Fix simple_array::const_iterator as a part of it.
2021-03-09 03:09:50 +03:00
Nekotekina
5bdd1cf837
Remove some redundant code
...
Potential fix for future warnings.
2021-03-09 03:09:50 +03:00
Megamouse
1a3c01154a
make from_hdd0_game check lowercase
2021-03-08 22:58:19 +03:00
xddxd
df338f0552
Move sys_crashdump to it's own file and make it a module itself
2021-03-08 22:57:35 +03:00
Malcolm Jestadt
e5d0e035d0
SPU LLVM: Rearange FM instruction for better performance
...
- Doesn't eliminate any instructions, but allows for better out of order execution.
2021-03-08 15:48:36 +03:00
xddxd
6d91a9fe6f
Possible workaround for mobile Kepler chips
2021-03-08 15:46:03 +03:00
Megamouse
935e398930
patch_manager: expand first search results
2021-03-08 12:05:00 +01:00
Eladash
2afc7cbaaa
GUI: Implement MSELF extraction tool ( #9909 )
...
* MSELF: fix overflow
* GUI: Implement MSELF extraction tool
* VS: fix mself files in vcxproj
* fix
* Update mself.cpp
* fixed
2021-03-07 17:59:37 +01:00
Megamouse
1b5cf118e7
Input/Qt: implement XInput battery level
2021-03-07 11:48:19 +01:00
Megamouse
a3a4c0a906
overlays: don't count initial garbage values.
...
This might also shave off some microseconds.
2021-03-07 00:52:11 +01:00
Megamouse
3ae7debc17
Qt: Do not allow updates during emulation
2021-03-07 01:56:25 +03:00
Megamouse
dab53f4e41
Cleanup Emu before the update reboot
2021-03-07 01:56:25 +03:00
Megamouse
9da7910fc9
Fix auto updates. Don't pass exe as arg0 to execl
2021-03-07 01:56:25 +03:00
Nekotekina
3609eb25c9
Implement thread_ctrl::is_main()
2021-03-06 23:10:31 +03:00
Nekotekina
ded828dfc9
sysinfo.cpp: Implement utils::main_tid (main thread id)
...
Careful.
2021-03-06 23:10:31 +03:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Megamouse
7205a93751
add some log messages for debugging
2021-03-06 18:06:21 +03:00
GitArUs
f8097a428c
Allow games to list all savedata ( #9547 )
...
* cellSaveData - allow games to list all savedata, not only those they own.
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-06 16:01:04 +03:00
Eladash
228988ca2b
Fix utils::get_firmware_version()
...
* Do not crash on invalid file contents.
* Do not crash on unexpected file.open() error.
2021-03-06 14:53:40 +03:00
Megamouse
d2b0b019ec
DualSense: Fix initial ingame LED update
2021-03-06 11:15:54 +01:00
Eladash
a5d74c5e96
GUI: Improve missing firmware handling
...
* Install PS3UPDAT.PUP at the spot when booting games whenever firmware is missing. The option to boot games without firmware is still supported when all firmware SPRX are HLEd in firmware settings.
* Pop-up a confirmation dialog in firmware installation if firmware is already installed.
2021-03-06 10:34:49 +01:00
Megamouse
3e7e077fad
DS3/DS4: fix battery LED update
2021-03-06 02:07:02 +01:00
Megamouse
dbb03ae2d7
dualsense: implement lightbar pulse (low battery)
2021-03-06 02:07:02 +01:00
Megamouse
06d2c5357b
dualsense: fix LED updates
2021-03-06 02:07:02 +01:00
Megamouse
c8e7530e37
dualsense: get hardware and firmware version
2021-03-06 02:07:02 +01:00
Megamouse
cdffaa1598
dualsense: implement battery level
2021-03-06 02:07:02 +01:00
Megamouse
b836d2497d
dualsense: minor cleanup
2021-03-06 02:07:02 +01:00
Megamouse
bdd94f053c
Qt: reset battery progress bar when not supported.
2021-03-06 02:07:02 +01:00
Megamouse
f88c3ae417
Qt: fix settings_dialog layout. Add stretches.
2021-03-05 14:46:52 +03:00
Megamouse
b09ac19e61
VS 16.9.0 compilation workaround
2021-03-05 14:46:52 +03:00
Timothy Redaelli
826dc7d5a6
Fix linking with system curl
2021-03-04 12:22:19 +03:00
Timothy Redaelli
fa5a2b6a85
SPUThread.cpp: remove "__attribute__((always_inline))"
...
cmp_rdata and mov_rdata are using __attribute__((always_inline)),
without inline, that is not supported on current g++ (see RPCS3#1546).
Moreover __attribute__((always_inline)) is a noop if used without inline so
just remove it.
A proper fix is to move the 2 functions in an header file as static
(with FORCE_INLINE) so it can be correctly inlined by the compiler.
2021-03-04 12:17:27 +03:00
Nekotekina
e6a3b59229
endian.hpp: simplify be_t/le_t constructors
2021-03-03 17:37:51 +03:00
RipleyTom
0eb0b1e1c9
Add some GT6 devices to whitelist
2021-03-03 17:30:16 +03:00
kd-11
1becd2f788
vk: Remove redundant double barrier
...
- Luckily it was not too harmful in single queue submissions
2021-03-03 13:17:04 +03:00
Megamouse
7c0b93f815
perf overlay: Don't allow 0 or 1 datapoint count
...
Doesn't render anyway
2021-03-03 00:33:46 +01:00
Megamouse
fa852c7dbe
perf overlay: add missing graph vertex
...
And fix potential division by 0
2021-03-03 00:33:46 +01:00
Megamouse
73ca2119ed
perf overlay: add datapoint settings to GUI
2021-03-03 00:33:46 +01:00
Megamouse
86dbb859b7
perf overlay: add datapoint count config settings
2021-03-03 00:33:46 +01:00
Megamouse
e1e370999e
perf overlays: fix dynamic font resize of graphs
2021-03-03 00:33:46 +01:00
Megamouse
038c708a0a
perf overlays: add detail level none (hides FPS)
2021-03-03 00:33:46 +01:00
Nekotekina
c71bc25090
PPU: remove artificial 0x20000000 barrier for debug stats
...
Change it to 0xE0000000 (SPU demarcation line)
2021-03-02 21:58:49 +03:00
Nekotekina
52fe86b56c
fixed_typemap.hpp: make it a bit fool-proof
...
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Eladash
004ebfdaee
SPU debugger: Implement MFC journal
...
* Allow to dump up to 1820 commands with up 128 bytes of data each, using key D with the debugger.
2021-03-02 21:57:51 +03:00
Eladash
d0edd44a69
Atomic trophy status updates
2021-03-02 19:19:27 +03:00
Nekotekina
ea5e837bd6
fixed_typemap.hpp: return reference
2021-03-02 16:08:14 +03:00
Nekotekina
bbf52f3cea
named_thread: fix bugs in std::forward usage
...
Fix few misused threads and other bugs.
2021-03-02 16:08:14 +03:00
Nekotekina
d788b12a8e
fixed_typemap.hpp: reduce indirection
...
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Nekotekina
8a9320c4ef
auto_typemap.hpp: reduce indirection
...
Implement is_init() method.
Implement optional Size template arg for further optimization.
2021-03-02 16:08:14 +03:00
Nekotekina
5cc9bd7702
typeindices.hpp: upgrade with size and align info
...
This allows contiguous allocation (as in an aggregate).
2021-03-02 16:08:14 +03:00
Nekotekina
aa7e2376ec
shared_ptr.hpp: minor fixup for arrays
2021-03-02 16:08:14 +03:00
Megamouse
930895a218
DS3: fix LED battery status
2021-03-02 01:29:28 +01:00
Megamouse
3452e18da1
DS3: fix linux output report
2021-03-02 00:45:42 +01:00
Megamouse
b5d4b5a21c
DS3: fix regression: pad data is cleared even if there is no new data
2021-03-01 14:37:49 +01:00
Megamouse
2dc798d539
DS3: fix battery_level aquisition
2021-03-01 14:37:49 +01:00
Megamouse
805d52987f
Qt/Input: set player LED in pad settings
2021-03-01 14:37:49 +01:00
Megamouse
c2467b7b38
ds3: add led battery indicators (Linux only atm)
...
needs testing. maybe doesn't work
2021-03-01 14:37:49 +01:00
Megamouse
22b8cfd0ba
input: add some sanity checks
2021-03-01 14:37:49 +01:00
Megamouse
10a55f16cc
DS3: implement player LEDs
2021-03-01 14:37:49 +01:00
Ani
8e4451d1ab
rpcs3_version: Bump to 0.0.15 ( #9866 )
2021-02-28 23:32:23 +00:00
Megamouse
0b5c6350ae
cellScreenshot: fix overlay scaling ( #9867 )
...
* cellScreenshot: fix overlay scaling
2021-02-28 23:00:49 +00:00
Nekotekina
71e16bfac3
shared_ptr.hpp: minor fixup
2021-03-01 00:28:28 +03:00
Nekotekina
b7c579adf9
Tentative fix for -Wattributes
...
These warnings enabled conditionally for GCC 10.1+.
2021-03-01 00:22:32 +03:00
Eladash
461fa6a88a
Firmware installation bugfixes ( #9855 )
...
* Fix race condition in PUP installation abortion.
* Fix freezes of emulator in case the PUP installation failed due to filesystem errors.
* Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling.
* Report TAR errors on failure to create directories.
* Fix pup_object constructor to not crash on invalid PUP file header. (report an error)
* Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error)
* Do not call Qt functions inside a named_thread because it is wrong.
2021-02-28 22:59:27 +03:00
Florin9doi
dfee46604a
Buzz settings
2021-02-28 22:36:47 +03:00
Megamouse
a7c9827ad4
Improve cellScreenshot ( #9851 )
...
* Fix screenshot logging
* Update libpng to 1.6.37
* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/
* read_png_file: use deleter instead of manual close
* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Nekotekina
f580bee32c
Rewrite cellNetCtlNetStartDialogLoadAsync hack
2021-02-28 20:20:17 +03:00
Nekotekina
de9d859f4a
named_thread: implement task queue
...
atomic_ptr: implement push_head()
thread_ctrl::state() triggers task queue execution.
2021-02-28 20:20:17 +03:00
Nekotekina
3aaa0172d5
named_thread: implement "default" event loop
...
Fixup "sleepy" thread at startup on Windows.
Permit threads which lack operator()() overload.
2021-02-28 20:16:13 +03:00
Megamouse
7cb32a3680
Qt: set parent for QThread
...
This may or may not have caused a leak
2021-02-28 18:48:34 +03:00
Megamouse
a4d4ab1df9
remove unused variable
2021-02-28 18:48:34 +03:00
kd-11
4bef176e9b
vk: Fix inadvertent self-assign
2021-02-28 18:00:20 +03:00
kd-11
d2de8a87bf
vk: Explicit initialization of command pool queue family
2021-02-26 15:08:14 +03:00
kd-11
12cad7c393
vk: Add per-queue-family scratch resources and double buffer them
2021-02-26 15:08:14 +03:00
kd-11
be1238cc95
vk: Add support for queue family migration and refactor some texture upload code
2021-02-26 15:08:14 +03:00
RipleyTom
67378c7dea
Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl
2021-02-26 11:58:42 +03:00
Eladash
c13039396c
Fix stop count incremention in Emu.Stop ( #9843 )
...
Until emulation is completely stopped, further CallAfter callbacks may be issued with incorrect stop count memorized.
2021-02-25 14:37:31 +03:00
Megamouse
e940632d93
Fix Nan in cpu_stats::get_usage
...
And apply same logic to linux and windows
2021-02-25 13:08:27 +03:00
Megamouse
6db25aa7fa
overlays: Fix cpu usage in low detail mode
2021-02-25 13:08:27 +03:00
Eladash
0012f39384
Fix TTY handling of control characters
2021-02-24 16:42:39 +03:00
kd-11
0e7e5b59ae
vk: Handle old GPUs without proper async queues
2021-02-23 23:22:41 +03:00
kd-11
d459da1378
Formatting fixes only
...
- Mostly remove camelcase usage in old code.
- Properly annotate vulkan API imports with _vk prefix to make it clear they are not regular variables.
2021-02-23 23:22:41 +03:00
Nekotekina
3063369322
vk::render_device::create: try to remove failing assertion
2021-02-23 19:46:37 +03:00
Nekotekina
a90ad62fc0
Remove garbage SPUW perf report
2021-02-23 18:24:50 +03:00
Nekotekina
cd01a1eb09
Move CPUStats.h -> util/cpu_stats.cpp
2021-02-23 18:24:50 +03:00
Nekotekina
090a769bf6
Implement fs::sync (Linux/POSIX)
2021-02-23 18:24:50 +03:00
Nekotekina
014846cf31
cellSaveData: fix minor issues
2021-02-23 18:24:50 +03:00
Megamouse
b83cb2dbf5
product_info: add Harmonix Pro-Drum Kit ( #9822 )
...
Co-authored-by: DrGeelfood <79338929+DrGeelfood@users.noreply.github.com>
2021-02-23 18:23:53 +03:00
Eladash
112b7f6571
Fix Emulation::CallAfter
...
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash
68a878264c
Minor GUI fix for PPU interpreter at "precompilation"
2021-02-23 17:35:45 +03:00
Megamouse
a771f168eb
overlays: fix perf overlay switching detail levels
...
The body was lagging behind the text. This was fixed by calling an updated version of init() on settings change.
This introduced spikes in the frametime graph, so the data had to become members and m_force_update was adjusted to not interfere with data aquisition.
2021-02-23 13:27:54 +03:00
Megamouse
79b5b79de1
overlays: fix initial size of perf_overlay body
...
You could see that it was not properly adjusted in the first frame in high detail mode.
2021-02-23 13:27:54 +03:00
Megamouse
7cc8380330
overlays: fix perf_metrics_overlay division by 0
2021-02-23 13:27:54 +03:00
Megamouse
e91df31f8c
overlays: Fix perf_metrics_overlay visibility
...
Also change auto type to compiled_resource in order to silence a warning about accidental copy by value
2021-02-23 13:27:54 +03:00
Megamouse
663b2c9c5e
overlays: Fix frametime graph spikes
...
The frametime_timer was restarted at the end of the update method, instead of immediately after reading its value.
This means that the frametime was lower than expected when an expensive task was executed in-between.
2021-02-23 13:27:54 +03:00
RipleyTom
801467e565
Fix rpcn registration
2021-02-23 13:17:49 +03:00
Eladash
447d2b6f93
Atomic RSX capture writes
2021-02-23 11:29:23 +03:00
Eladash
9ccf39b27f
Atomic SPU LS capture writes
2021-02-23 11:29:23 +03:00
Eladash
d4af8dd89a
Fix atomicity of savedata/trophy data writes
2021-02-23 11:29:23 +03:00
Eladash
932f31e37b
Atomic PARAM.SFO writes
2021-02-23 11:29:23 +03:00
Megamouse
0878db4e17
remove unused variable
2021-02-23 05:03:38 +01:00
Megamouse
037586d7bb
fix no-gui crash if no firmware was installed
...
It's a bit mysterious, but the confirmation box doesn't like being called in this mode.
So let's just return false.
2021-02-23 05:03:38 +01:00
kd-11
cb7cf40b5e
vk: Move queue family management from swapchain to logical device
2021-02-23 00:04:53 +03:00
kd-11
3632412c48
vk/dma: Simplify map_dma interface
2021-02-23 00:04:53 +03:00
Nekotekina
4b858648e5
Add supporters
2021-02-22 19:37:42 +03:00
Nekotekina
ad1027455a
Fix minor inconsistency in utils::memory_reset (Linux)
2021-02-22 13:00:01 +03:00
Nekotekina
9dc238187f
Simplify utils::align() a bit
...
std::is_unsigned implies std::is_integral I believe.
2021-02-22 13:00:01 +03:00
Eladash
73d45f3bf0
Remove vm::cleanup_unlock
2021-02-22 12:47:45 +03:00
Eladash
96400234a8
Remove cpu_thread destructor
2021-02-22 12:47:45 +03:00
Megamouse
2e5f321583
evdev: fix build
2021-02-22 10:45:40 +01:00
Megamouse
5a9b29b73a
hid: log more info when adding a device
...
And minor format changes
2021-02-22 10:45:40 +01:00
Megamouse
1b2260132b
only call hid_exit when all hid_handlers are done
2021-02-22 10:45:40 +01:00
Megamouse
1479468730
Input: fix build
2021-02-22 10:45:40 +01:00
Megamouse
f0b7afd7cc
cellPad: minor optimization
2021-02-22 10:45:40 +01:00
Megamouse
870d26f9d8
Input: replace a bunch of static_pointer_cast
2021-02-22 10:45:40 +01:00
Megamouse
f6d465667a
Input: unify some more code
2021-02-22 10:45:40 +01:00
Megamouse
aaae30cb84
DS3: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
fbb9396813
DualSense: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
b9a4abce0e
DS4: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
d0cc5c0fc7
DS4: enumerate devices periodically
2021-02-22 10:45:40 +01:00
kd-11
b7c2bfbcde
vk: Fix cyclic read-write in dma_block::load/flush
...
Some DMA block entries are stubs whose parents are DMA_block_EXT
entries.
Performing load() in this case becomes a memcpy(address,
same_address_again, length) which wastes performance and introduces
bugs.
2021-02-22 01:13:31 +03:00
RipleyTom
8be2a55ccc
Add mutex lock for NP changes
2021-02-21 18:04:55 +03:00
RipleyTom
81270f3142
Remove now useless code from sys_bnet_connect
2021-02-21 18:04:55 +03:00
Eladash
eb0d006168
Fix most of "[x] thread is too sleepy" at Emu.Stop() ( #9813 )
...
* Fixes some thread sleep/wait calls
2021-02-21 16:43:02 +03:00
Oschowa
a47bda026b
Audio/AL: Request our default sampling rate (48kHz) from AL when creating the
...
context.
Otherwise AL might downsample and output in 44.1kHz unnecessarily, which
happens at least on my system. Also tested on an audio device that
doesn't support 48kHz to makes sure that still works.
2021-02-20 14:31:38 +03:00
RipleyTom
5129d0da45
check alcGetString return pointers
2021-02-20 07:39:56 +01:00
Eladash
b86ec2ffcf
Fix potential overflows in utils::aligned_div, utils::rounded_div
2021-02-19 16:10:03 +03:00
Eladash
20eb4352fb
debugger: Fix single stepping ( #9793 )
2021-02-19 14:53:09 +03:00
Nekotekina
e76d8eb046
Fix -Wstring-aliasing (gcc)
2021-02-18 19:38:22 +03:00
Nekotekina
c8fefc4434
Fix -Wpessimizing-move (Clang)
2021-02-18 14:38:56 +03:00
Nekotekina
2c18d67769
Fix -Wsometimed-uninitialized (Clang)
2021-02-18 14:15:52 +03:00
Nekotekina
428771f1d7
Fix -Wself-assign (clang)
2021-02-18 14:07:22 +03:00
Nekotekina
038148bf06
Fix almost all GCC warnings
2021-02-17 22:59:04 +03:00
RipleyTom
6786734d95
Fix mic device default in config
2021-02-17 18:15:58 +03:00
Nekotekina
1446254a03
Add error on missing 'override'
...
For consistency.
2021-02-15 20:21:30 +03:00
Nekotekina
3bcd76bd4e
Fix regression (incorrectly removed specialization)
...
Changed CRLF->LF in VKPipelineCompiler.h
2021-02-15 17:05:51 +03:00
Nekotekina
0bcece4585
Make -Woverloaded-virtual an error
...
Had to devirtualize some functions.
2021-02-15 15:50:05 +03:00
Nekotekina
035ab590ec
Reset -ftemplate-depth to normal
...
It became obsolete.
2021-02-15 14:40:29 +03:00
Nekotekina
8e6e57de86
Enable -Wunused-function warning
2021-02-15 14:39:53 +03:00
Eladash
4c1026436f
Log "Missing Firmware" if firmware is missing
2021-02-15 09:50:52 +01:00
kd-11
9f97bab717
vk: Fixup and refactor for exclusive fullscreen stuff
2021-02-15 10:27:36 +03:00
13xforever
76518d4c59
add a hidden option to prevent switching to exclusive full screen mode
...
this is helpful for people streaming RPCS3, or to prevent disabling HDR mode in Windows
2021-02-14 22:01:33 +03:00
kd-11
eba7d3b172
rsx: Add duplicate section detection when there are too many sections in the surface cache
...
- Check for useless sections.
Helps in games that create a bunch of sections randomly for one-time use
2021-02-14 20:42:34 +03:00
kd-11
b8311caa6b
vk: Silence some compiler warnings
2021-02-14 20:42:34 +03:00
Eladash
5b044a93c1
Fix vm::falloc() for misaligned args ( #9764 )
...
Force addr/size alignment.
2021-02-14 13:19:14 +03:00
Eladash
f009d36811
Update log messages of PPU/SPU hashes and patches applied
2021-02-14 09:35:42 +01:00
Eladash
f43260bd58
Atomic waiting refactoring ( #9208 )
...
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117 )
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash
cf384795d2
debugger: Improve PPU string constraints
2021-02-13 16:00:26 +03:00
Eladash
423cc1685c
PPU LLVM: Reduce PRX/OVL compilation memory usage a little
2021-02-13 13:05:41 +03:00
Eladash
5ed0cc293d
Fix PS3 process exit/exitspawn
2021-02-12 19:39:47 +03:00
Eladash
5401cb7392
kernel explorer: Display all PRX/OVL segments
2021-02-12 15:27:59 +03:00
Eladash
e26ae9899c
Reimplement/fix PRX patches
2021-02-12 15:27:59 +03:00
Alex Saveau
48296c2ba6
Fixup for multi-thread shader compilation (loading stage) ( #9762 )
...
* Multi-thread shader compilation
This offers a huge improvement in startup performance. With around 13,000 shaders we go from ~1:30 to under 10 seconds. It looks like this was the original intention of the author given the outer scope recompile variable.
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2021-02-12 14:39:35 +03:00
Ani
b858fceb4f
vk: Support incomplete lavapipe
...
Disable features still unimplemented by lavapipe when using it:
- samplerAnisotropy
- shaderStorageBufferArrayDynamicIndexing
- wideLines
as of mesa 21.1.0-dev (aea36ee05e9, 2020-02-10)
2021-02-11 14:49:37 +03:00
kd-11
195fb1cf66
rsx: Improve texture cache invalidate
...
- Bunch of improvements
- Properly signal renderer to rebind textures!
- TODO: Range checks, should be pretty easy
2021-02-10 11:37:14 +03:00
kd-11
52acc23ecf
rsx: Fix protection bug
2021-02-10 11:37:14 +03:00
kd-11
0a34fc4bcd
vk: Offload garbage collection to offloader thread
2021-02-10 11:37:14 +03:00
kd-11
bec91aab7b
rsx: Relax inheritance checks a bit
...
- It is not a fatal error for a texture to be defined where a framebuffer once existed.
2021-02-10 11:37:14 +03:00
kd-11
6f4dbf4fcd
vk/vma: Always use aligned requests
...
- Performance optimization when combined with vma optimizations added by me
2021-02-10 11:37:14 +03:00
kd-11
bf66c36ba4
rsx/texture_cache: Add support for reusing dirty images if possible
...
- Avoids a silly situation where a texture is discarded and an identical copy created immediately afterward.
Unfortunately allocating memory blocks is really slow so avoid it as much as possible.
2021-02-10 11:37:14 +03:00
kd-11
0c10f47e85
rsx: Lower cache block length to 256 pages
...
- Drastically lowers time wasted iterating blocks when many small objects
are present
2021-02-10 11:37:14 +03:00
kd-11
1bad9a939f
rsx: Refactor texture cache utils
...
- Also lays groundwork for optional hashed sections
2021-02-10 11:37:14 +03:00
Megamouse
8d6504d6e3
GUI: initial log viewer
2021-02-09 22:56:28 +01:00
Ivan
04c187deb5
Revert "Replace GetEmuDir() with GetExeDir() in handle_rpcs3"
...
This reverts commit f9eb6a31bd .
2021-02-09 22:24:09 +03:00
Megamouse
bc938ce630
dualsense: implement player LEDs
2021-02-09 19:21:37 +01:00
Megamouse
e5f95a450d
dualsense: update description
2021-02-09 19:21:37 +01:00
Megamouse
b31d38eef7
LED settings: set modal and add has_battery check
2021-02-09 19:21:37 +01:00
Megamouse
db402cb8af
dualsense: add player LED support
2021-02-09 19:21:37 +01:00
Megamouse
1af6550db7
dualsense: add lightbar support
2021-02-09 19:21:37 +01:00
Megamouse
7795f5207f
dualsense: fix switched motors
...
The left one seems to be the large motor
2021-02-09 19:21:37 +01:00
Megamouse
a9b8a50c31
dualsense: add output report structs based on linux driver
2021-02-09 19:21:37 +01:00
Megamouse
a9418fa1e7
dualsense: implement SetPadData for rumble in GUI
2021-02-09 19:21:37 +01:00
Megamouse
08f48d27e8
Input: minor simplification
...
This might prevent some copy paste error in the future
2021-02-09 19:21:37 +01:00
Megamouse
25a66da4ca
Input: rename some functions
2021-02-09 19:21:37 +01:00
Megamouse
ff61bc9e7c
dualsense: add mic button
2021-02-09 19:21:37 +01:00
Megamouse
3e8f4ba018
dualsense: add gyro support
2021-02-09 19:21:37 +01:00
Jordy Vieira
f9eb6a31bd
Replace GetEmuDir() with GetExeDir() in handle_rpcs3
2021-02-09 20:06:26 +03:00
Nekotekina
4f8cac731b
Fix SAFE_BUFFERS attribute for GCC
2021-02-09 12:33:50 +03:00
Nekotekina
3e496f6625
Add -fstack-protector (Non-MSVC)
2021-02-09 12:06:17 +03:00
kd-11
2d62f9c4c5
vk: Improve spec compliance ( #9748 )
...
- Always comply when running under strict mode
- Only allow hacky transport for known-to-work GPUs
2021-02-08 22:11:01 +00:00
Eladash
78811b8816
GUI: Always remove manually added fonts in OnChangeStyleSheetRequest()
2021-02-08 21:38:53 +01:00
Eladash
e38cd5149a
Fix firmware updating/reinstallation
2021-02-08 21:38:53 +01:00
Megamouse
dc2a1e270a
Qt: Repaint log on stylesheet change
2021-02-08 13:24:07 +03:00
Megamouse
44ab50553d
Qt: Replace relative paths in stylesheets instead of changing the working directory
2021-02-07 20:07:58 +03:00
Megamouse
7c683c368d
Qt: Fix weird naming issue on linux
2021-02-07 20:07:58 +03:00
Megamouse
62ca7a9b60
Qt: Simplify stylesheet logic
2021-02-07 20:07:58 +03:00
Nekotekina
632e36ab44
Qt: fix stylesheets on various platforms
...
Replace relative paths to resources.
Paths should start from GuiConfigs.
2021-02-07 14:09:50 +03:00
Nekotekina
0057c89eaa
PPU Analyser: follow fallbacks in some cases
...
Fallback is an "invisible" branch to the next instruction.
This may be necessary for certain cases when patches are used.
2021-02-07 11:02:45 +03:00
Nekotekina
9e9a55df46
PPU LLVM: compile instructions from patches
...
For now, only as a single instruction at a time.
2021-02-07 11:02:31 +03:00
Nekotekina
9463238490
PPU Analyser: minor fixups for end pointer
...
Add more sanity checks for sections.
Remove some redundancy.
2021-02-07 11:02:31 +03:00
Nekotekina
b7ff2ecffb
Patch system: export some info for future use
...
For now it's just a list of addresses.
For now it's not used (just a stub).
2021-02-07 11:02:31 +03:00
Eladash
fad89f1c3b
Fix tiny race in PPU breakpoints ( #9731 )
...
If the PPU has just being paused by the debugger, before it entered the breakpoint handler, the PPU would continue onto the next instruction skipping the breakpoint but then being paused on it instead.
2021-02-07 00:25:40 +03:00
Nekotekina
5063eefa96
Fixup for downloader
2021-02-06 15:21:00 +03:00
Nekotekina
25827c12a3
Make out of source builds get copy of /GuiConfigs/, /git/, etc.
...
Reduce quality of kot-bg.jpg.
2021-02-06 12:55:14 +03:00
Nekotekina
cb32fd15ee
Add supporters
2021-02-06 00:37:53 +03:00
Nekotekina
d6dcab443d
Updater: add minor sanity check
2021-02-06 00:37:53 +03:00
Nekotekina
c32fec774f
Create mini-cache for commits
...
Located in bin/git/commits.lst;
Created with GitHub API with --get-commit-db key.
Can be lazily appended with the same key.
2021-02-06 00:37:53 +03:00
kd-11
ddac4686a7
rsx: Clear vertex output register if nothing is written to it
...
- On NVIDIA GPUs, gl_Position is not initialized. Always clear to 0 to avoid on-screen crap
2021-02-05 22:22:07 +03:00
Megamouse
2865865382
Don't use std::exit during Qt initialization
2021-02-05 17:32:48 +01:00
Eladash
7ce835e878
Support logger stopping at std::exit ( #9722 )
2021-02-05 17:07:17 +03:00
Megamouse
7e0fdbbe99
Fix rpcs3.vcxproj
2021-02-04 23:11:05 +01:00
Megamouse
fd1f2ca1c6
Rename some variables to snake_case
2021-02-04 23:11:05 +01:00
Nekotekina
a6a92f7b6b
Qt: remove Q_OBJECT for mouse/kb handlers
...
Had to move QObject in parent list for g_fxo changes.
2021-02-04 23:11:05 +01:00
Eladash
4f85f151fd
SPU: Always signal the debugger about termination
2021-02-03 15:05:38 +03:00
Eladash
478ae0715e
Tiny fix for zombie PPU threads
2021-02-03 15:05:38 +03:00
Megamouse
714eb6dcc5
Disable LimitCacheSize option in custom configs
...
It doesn't make sense on a per game basis and is used before loading them anyway
2021-02-02 18:37:18 +01:00
Megamouse
89942ed92a
optimize add_only boot process
...
No need for hardcore stuff while adding games to the list
2021-02-02 18:37:18 +01:00
Megamouse
6ed9251f44
Remove tooltip event filter from gamelist
...
Fixes a weird issue where tooltips for the wrong game would popup.
I don't know why the event filter was needed.
Maybe the tooltips didn't work otherwise back then or it was just some copy paste from google.
2021-02-02 15:46:42 +01:00
Megamouse
2c32a721fc
Allow BootGame with indirect paths
2021-02-02 13:21:26 +01:00
Nekotekina
08aaae7999
PPU LLVM: workaround patch handling
...
Try to address #9704
2021-02-02 10:33:13 +03:00
Eladash
2005c89baa
memory viewer: Implement RSX mode
...
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Megamouse
8c6aa9db31
Print report_fatal_error to cmd
...
useful if used like:
start /w ./rpsc3 --headless <path>
2021-02-01 21:44:23 +01:00
Nekotekina
58eef983e2
PPU Analyser: fix constraints for all elfs.
...
Added for main executable and OVLs.
Forgot to use it not just for SPRX.
2021-02-01 19:14:24 +03:00
Nekotekina
390b192f0a
TSX: workaround for check_state freezes
2021-02-01 19:14:24 +03:00
Nekotekina
7b40859eff
Remove unused header
2021-02-01 19:14:01 +03:00
Nekotekina
d0126f0fa0
Fix freezes in HLE Vdec and SPU LLVM precompilation.
...
Freezes could accidentally occur on close or ingame.
Deprecate range-for loop on lf_queue.
This is a part of PR #9208
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-02-01 19:14:01 +03:00
Nekotekina
0c034ad7de
PPU LLVM: upgrade to GHC call conv
...
Get rid of some global variables.
Implement ppu_escape (unused yet).
Bump PPU cache version to v4.
2021-02-01 11:30:50 +03:00
Nekotekina
aeeceb7d0b
Minor fixups
2021-02-01 11:30:50 +03:00
Nekotekina
d5f16ce272
PPU Analyser: better constraints for SPRX
2021-02-01 11:30:50 +03:00
Nekotekina
c89362f6a2
PPU LLVM: don't use module name as PRX indicator
2021-02-01 11:30:50 +03:00
Nekotekina
8a029159cd
PPU Analyser: compile certain functions on per-instruction basis
...
PPU LLVM: optimize small blocks
2021-02-01 11:30:50 +03:00
Nekotekina
891ebd0cb1
PPU Analyser: use reloc info (disabled for now)
...
Add blocks from relocations.
2021-02-01 11:30:50 +03:00
Nekotekina
382509d778
PPU LLVM: Implement inline __add_get_ov
2021-02-01 11:30:50 +03:00
Nekotekina
f9ee8978ff
PPU LLVM: improve analyser
...
Compile possibly executable holes between detected functions.
Add unused "PPU LLVM Greedy Mode" option (for future updates).
Add "nounwind" attribute to compiled functions (reduces size).
2021-02-01 11:30:50 +03:00
Eladash
e71c2df39d
Debugger: Add some more shortcut descriptions in F1 helper
2021-02-01 00:21:50 +03:00
Eladash
cfc7865f82
Debugger: Allow to unpause a thread which has been paused by global pause
2021-02-01 00:21:50 +03:00
Nekotekina
cf6606065d
PPU: fix some typos in asm code
2021-01-31 20:00:04 +03:00
Megamouse
9feb92df1b
More informative Error message on Vulkan driver crash
...
The message might not be the only reason, but at least it might help someone like me, who had no idea what he was looking at.
2021-01-31 15:51:21 +01:00
Megamouse
be26810cd7
RSX: Implement set_value for progress dialogs
2021-01-31 15:02:26 +01:00
Megamouse
df79b6c238
RSX: update shader loading dialog at 60 fps
...
Looks much smoother
2021-01-31 15:02:26 +01:00
Eladash
82c86ed2f7
Implement standalone OVL (overlay) loading mode
...
* Allow to load OVL alone.
* Add error checks in ppu_load_exec(), do not crash on error.
* Fix crash on exit from standalone PRX mode, allow kernel explorer to work with it as well for the added OVL mode.
2021-01-31 15:47:05 +03:00
Eladash
9077563dac
Add missing destructor of progress dialog
2021-01-31 12:55:20 +01:00
Eladash
8d15f44b33
Fix ppu progress dialog percentage
2021-01-31 12:55:20 +01:00
Eladash
b3fbada10e
Fix potential crash of progress dialog
2021-01-31 12:55:20 +01:00
Megamouse
31cdd7bdd2
Prevent minor race in Progress Dialog Server
2021-01-31 12:18:32 +03:00
Megamouse
c464e90d5d
Fix stop exit of check_only ppu_initialize
2021-01-31 12:18:32 +03:00
Megamouse
670d2b191c
Minor optimization for check_only ppu_initialize
2021-01-31 12:18:32 +03:00
Megamouse
7bddb87306
Simplify compile threads
2021-01-31 12:18:32 +03:00
Megamouse
2025f02105
Search for more game data directories.
...
Also properly remove duplicate paths
2021-01-31 11:42:33 +03:00
Megamouse
1078626eea
Fix ppu compilation progress dialog
...
We could only increase the value because we completely based the dialog on cellMsgDialog.
This led to an issue where the dialog would increase its maximum and thus decrease the current percentage.
It then couldn't decrease and was stuck on the old percentage.
2021-01-30 21:34:16 +01:00
Eladash
16c6b44f55
Fix #9680 ( #9687 )
...
Fix regression from #9680
2021-01-30 19:05:02 +03:00
Eladash
6b3b06df25
rsx: Set frame limit to auto by default
2021-01-30 16:53:14 +03:00
Eladash
e3b3b0cda7
PPU LLVM: Precompile all executable (PRX, MSELF, overlay) code at startup ( #9680 )
...
* Precompile LLVM cache at startup of games, like the GUI "Create PPU Cache" option.
* Allow OVL (overlay) precompilation as well (used by certain games).
Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-01-30 16:08:22 +03:00
Nekotekina
bb2cc196a6
Fixup for preloading SPRX from MSELF
...
Forgot to append the offset.
Forgot to use different loop variable.
2021-01-29 21:26:34 +03:00
Eladash
d3bc96a201
Fix minor issue with usage of STL thread::hardware_concurrency()
2021-01-29 18:23:29 +03:00
Nekotekina
11ba6e45ab
Add MSELF support to SPRX precompilation.
...
Add ppu_precompile() function in PPUThread.cpp
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-29 13:34:43 +03:00
Eladash
a742501a4f
Do not account RSX for TSX pauses
2021-01-29 10:31:15 +03:00
Eladash
70346028c5
Fix GCM HLE
...
Oops.
2021-01-29 10:31:15 +03:00
Megamouse
3359458175
Handle missing cases of Emu.BootGame failure
2021-01-28 20:54:27 +01:00
Nekotekina
6784301376
Check for rsx::thread existence in Emu.Stop/Pause/Resume
2021-01-28 20:23:13 +03:00
Megamouse
51d19e7c31
Input: remove debug error
2021-01-28 18:02:23 +01:00
Eladash
0652870204
New RSX Debugger
2021-01-28 17:40:26 +03:00
Nekotekina
67dd6754a6
Seal cereal includes in util/cereal.cpp
2021-01-28 10:48:53 +03:00
Nekotekina
34274ec391
Purge unused typeid() invocations
2021-01-28 10:23:29 +03:00
Nekotekina
53267e283b
PPU LLVM: implement ppu_finalize
...
Properly free certain compiled PRX/OVL modules (except dev_flash)
2021-01-27 18:03:49 +03:00
Nekotekina
15ed963a29
UI: Add supporters
2021-01-27 14:23:26 +03:00
Nekotekina
ee288340b0
Implement thread_ctrl::scoped_priority
...
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Nekotekina
a69248299d
SPU: Don't use shm::map_critical in SPU LS allocations
...
Use shm::try_map instead until proper area is found.
2021-01-25 17:45:47 +03:00
Nekotekina
caa83d20f7
vm_native.cpp: implement shm::try_map
...
Treats addr as a hint, emulating windows behaviour.
2021-01-25 16:55:19 +03:00
Malcolm Jestadt
486d48e4f8
SPU LLVM: Optimize ROTQBY family for VBMI
...
- Avoid masking pshufb index by 0xf by using vpermb instead.
- Also fix conversion of vperm2b index to ShuffleVector index.
2021-01-25 13:18:23 +03:00
Ani
7c62574e59
spu: Restore workers priority after initialization
2021-01-24 16:40:59 +03:00
kd-11
22584fb2d1
vk/dma: Disable pasthrough DMA for NVIDIA+windows
...
- The driver seems to cache page mapping as long as allocation has not been removed
- This is undesirable as we cannot stop the emulator to remove stale allocations every time a page is unmapped
2021-01-24 14:24:55 +03:00
kd-11
90ac9165e2
vk/dma: Unmap pages from GPU when they are unmapped in Cell
2021-01-24 14:24:55 +03:00
kd-11
bcb69a54b2
gl: Avoid type shenanigans used to fake byteswap for select formats
...
- Just use the reversed type instead.
The new uploader backend combines swizzle+swap so there is no need for tricks anymore
2021-01-24 14:24:55 +03:00
kd-11
f93cb262ba
vk/dma: Fix multiple logical bugs
...
- Fix range chaining.
- Add validation checks that no overlaps exist.
2021-01-24 14:24:55 +03:00
kd-11
67949bb5b7
vk/dma: Allow interoperability between pass-through and write-back DMA caching types
2021-01-24 14:24:55 +03:00
kd-11
e56da4eb46
vk: Workaround for amdgpu kernel driver
2021-01-24 14:24:55 +03:00
kd-11
f7fdfe52bc
vk: Fix custom event signals
2021-01-24 14:24:55 +03:00
kd-11
7de0ff337b
vk: Polishing and cleanup
...
Some spec violations fixes
Make the option dynamic
2021-01-24 14:24:55 +03:00
kd-11
e1c0a917fa
vk/dma: Modify default page size to 64k
2021-01-24 14:24:55 +03:00
kd-11
ead180aa60
win32: Be a bit more optimistic with allocated ranges; we get contiguous ranges more often than not
2021-01-24 14:24:55 +03:00
kd-11
58d367d704
vk: Add host-imported DMA buffers
2021-01-24 14:24:55 +03:00
kd-11
a1ab6c28c1
vk/rsx: Fix some more bugs
2021-01-24 14:24:55 +03:00
kd-11
59e46f09b7
vk/dma: Disable memory inheritance
...
- It is not possible to emulate passthrough memory cleanly, and we don't need to
A stupid race condition appears when trying to synchronize DMA blocks with memory inheritance.
Since the usage pattern is to acquire a range and then load or write+flush, this new data is going to be..
overwritten by the commandbuffer execution sequence later. Acquiring a scratch buffer to hold CPU content during the transition is not worth the effort..
as the data will be destroyed anyway during the transfer process immediately afterwards.
Fixes data corruption when moving data around using the emulated DMA passthrough
2021-01-24 14:24:55 +03:00
kd-11
7766076042
rsx/vk: DMA stuff
2021-01-24 14:24:55 +03:00
Eladash
b96864c7e6
rsx: Improve gs frame exit workaround
...
Move to close(), hide before potential hanging at Emu.Stop()
2021-01-23 12:45:53 +03:00
Eladash
79513f06a4
rsx/gui: Delay game window pop-up until first frame
2021-01-23 12:45:53 +03:00
RipleyTom
00ff53499a
fix UserInfo2_to_SceNpUserInfo2
2021-01-22 20:51:10 +03:00
Eladash
142b44d4be
debugger: Implement F1 helper
2021-01-22 00:39:41 +01:00
Eladash
7f28489c70
Improve ppu_thread_cleaner a bit
...
Always join thread.
2021-01-21 21:32:13 +03:00
Eladash
a58c12db0b
SPU: fixup after #9630
...
Co-Authored-By: Ivan <nekotekina@gmail.com>
2021-01-21 21:32:13 +03:00
Eladash
12e1be2626
Implement thread_ctrl::wait_on (see #9208 )
2021-01-21 18:31:51 +03:00
Eladash
f81674232e
Remove SPU and PPU destructors
2021-01-21 18:31:51 +03:00
kd-11
eb086b0e3f
rsx: Add support shadow1D and shadowCube
2021-01-21 10:24:49 +03:00
kd-11
b6b9085773
rsx: Use unsigned variables to avoid sign problems when calculating stipple bits
2021-01-21 10:24:49 +03:00
Nekotekina
241989c5fa
Fix new warnings
...
Added CELL_GCM_CONTEXT_DMA_NOTIFY_MAIN_0+ enums.
Added CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_NOTIFY0+ enums.
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-20 12:27:37 +03:00
Nekotekina
f944573b3c
Fix old warnings: remove strncpy
...
Use strcpy_trunc instead.
Change some sce structs.
2021-01-20 12:26:09 +03:00
RipleyTom
5662867730
Change the way skylander ID is generated
2021-01-20 08:46:39 +03:00
Eladash
dbecf0fa50
Introducing RSX debugger entry (main debugger)
2021-01-19 22:55:12 +03:00
Megamouse
62cb532460
Qt: hotfix for downloader
...
I accidentally broke the download progress bar in the last related PR.
I should've put more trust in the sanity of the younger version of myself.
This should fix it.
2021-01-18 22:41:31 +01:00
Nekotekina
f9bc682115
Refactor some 'offending' code a bit (no effect)
...
It appears linkage errors were rare even in debug mode (GCC/clang).
2021-01-18 21:58:28 +03:00
Nekotekina
8a2a76da1e
texture_cache: fix some warnings in AUDIT
2021-01-18 13:49:59 +03:00
Malcolm Jestadt
a2e8e3090c
SPU LLVM: Optimize FSM following comparison
...
- FSM following a comparison instruction can be optimized to a single shuffle instruction
2021-01-17 16:52:44 +03:00
Nekotekina
0ac68def49
vm_native.cpp: minor compilation fix
2021-01-17 15:14:11 +03:00
Nekotekina
def364fe28
SPU LLVM: add splat_scalar helper
...
Unrolls into zshuffle from the preferred slot.
2021-01-17 15:13:28 +03:00
Alex James
d7a8d385d8
CMake: Use find_package to find SDL2
...
This ensures that the SDL2 uses an absolute library path, which is
necessary when SDL2 isn't present in the default link directories (e.g.
on macOS).
2021-01-17 13:51:03 +03:00
Nekotekina
aaaeb66cc8
vm: Minor fix in vm::close
...
Supplied size was wrong.
2021-01-15 20:12:30 +03:00
Nekotekina
4ed76a15ff
Use different approach in shm::unmap_critical (Linux)
...
For now, set protection to PROT_NONE.
Attempt to address #9609
2021-01-15 20:11:09 +03:00
Nekotekina
b5837d1271
Memory: use MADV_DONTDUMP if available (Linux)
...
Also refactor other madvise() usage
2021-01-15 19:54:41 +03:00
Eladash
e4c3b1c2bd
vm: Remove vm::dealloc_verbose_nothrow
2021-01-15 17:37:52 +03:00
Nekotekina
ea916fd7e1
Memory: fix critical bug in shm::unmap_critical (Linux)
...
It was leaving holes in reserved areas.
Windows is unaffected.
2021-01-14 18:04:29 +03:00
Nekotekina
4bee8dc37f
Crypto: modernize key_vault.h
...
Use constexpr, remove warning guards
2021-01-14 15:23:52 +03:00
Nekotekina
8b01d05146
Crypto: modernize ec.h
...
Add const, use u8
2021-01-14 15:17:07 +03:00
Nekotekina
376e564cff
Crypto: make global vars in ec.cpp thread_local
2021-01-14 12:01:41 +03:00
Nekotekina
caf02d1841
Crypto: don't modify EDAT_IV (all zeros)
...
I didn't notice where it gets restored to zeros.
2021-01-13 21:57:38 +03:00
Nekotekina
6cf73fad13
Crypto: workaround -Wunused-variable
...
Ignore for key vault for now.
2021-01-13 19:02:14 +03:00
Megamouse
cfe660ab35
Qt/curl: fix segfault in curl
...
The QThread lived longer than the m_curl object.
This lead to a crash when closing RPCS3 while the download is still in progress.
2021-01-13 19:01:58 +03:00
Megamouse
8eaf76394c
Qt/Input: Use ellipsis as "mouse deadzone"
...
This is experimental and smoothens the existing square shaped deadzone
2021-01-13 11:25:33 +01:00
Megamouse
a692adefd7
Remove legacy patch support
2021-01-13 10:39:17 +01:00
Eladash
e05f1c37ad
memory viewer: Close all instances after emulation exit
2021-01-12 23:57:36 +03:00
Eladash
923fcc3b3d
utils::shm: Hotfix after #9578
2021-01-12 23:57:36 +03:00
Eladash
c50b9bc4b4
utils::shm: Make map_self() atomic ( #9578 )
2021-01-12 19:53:18 +03:00
Eladash
e1f95ceb54
sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion ( #9586 )
...
* Implement handler abortion during context registration.
* Fixed recursive calls to sceNpTrophy functions such as by callbacks from registering context.
* Turns out the reader lock for context registeration was incorrect because ctxt->tropusr and trophy directory are being modified. Made it an exclusive lock after callback.
2021-01-12 19:14:51 +03:00
Megamouse
eb77495d5f
Implement richtext_item_delegate
...
And use it in pkg_install_dialog
2021-01-12 14:13:15 +01:00
Megamouse
270d602a26
Add filename to multi pkg installation
...
Some packages are indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse
dd41ee68de
Simplify numbered_widget_item
2021-01-12 14:13:15 +01:00
Megamouse
46dc40f3f1
Add filename to single pkg installation
...
Some file info is indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse
7c7af2e102
fix rebase conflicts
2021-01-12 14:13:15 +01:00
Megamouse
36189b8c3b
Try to distinguish between Update and DLC (Part 2)
2021-01-12 14:13:15 +01:00
Megamouse
cde802b16c
Move blocking code in order to free the explorer
2021-01-12 14:13:15 +01:00
Megamouse
1500e5f588
Try to distinguish between Update and DLC
2021-01-12 14:13:15 +01:00
Megamouse
fbe91fb245
fix linux compilation
2021-01-12 14:13:15 +01:00
Megamouse
321e7d6977
Don't hide the PKG install progress dialog after each package
2021-01-12 14:13:15 +01:00
Megamouse
56488a4ac9
Use boolean values in unedat
2021-01-12 14:13:15 +01:00
Megamouse
4a75f44d47
Minor include cleanup in utlis.h
2021-01-12 14:13:15 +01:00
Megamouse
deb4b03200
Add VERSION fallback to GetPkgInfo
2021-01-12 14:13:15 +01:00
Megamouse
df94c906da
Add more info to PKG install progress dialog
...
And fix installation of single packages
2021-01-12 14:13:15 +01:00
Megamouse
4d50d9daa4
unpkg: add missing break and some cleanup
2021-01-12 14:13:15 +01:00
Megamouse
0624bdc72d
Use package reader in pkg_install_dialog
2021-01-12 14:13:15 +01:00
Megamouse
ccec6e53c0
Rename package_reader member variables
2021-01-12 14:13:15 +01:00
Megamouse
68d411918d
Read patchsets from compat db
2021-01-12 14:13:15 +01:00
Nekotekina
0af452720e
RSX: Fix possible bug in memory streaming utils
2021-01-12 15:06:31 +03:00
Nekotekina
db8e6fe7a7
Enable -Wunused-variable
2021-01-12 14:34:14 +03:00
Nekotekina
631d7d0ce7
Enable -Wunknown-pragmas
2021-01-12 13:01:17 +03:00
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