kd-11
1df1ceb4ea
gl: Support new glyph format with array textures
2020-02-22 15:07:14 +03:00
kd-11
6178a0ab25
overlays: Migrate to wide-char strings
2020-02-22 15:07:14 +03:00
Megamouse
171e6c6e54
Qt: remove duplicate paths in game list
2020-02-21 21:00:46 +01:00
Megamouse
313b967217
Qt: simplify blockingMap occurances
2020-02-21 21:00:46 +01:00
Megamouse
b47a8b9995
Skip some logging in add_only Load
2020-02-21 21:00:46 +01:00
Megamouse
c4a1c6f845
Do not reset PS3_GAME when booting disc patches
2020-02-21 21:00:46 +01:00
Eladash
24d3e2b2b8
cellGameDataCheckCreate(2): More improvements
...
* IsNewData is false only if PARAM.SFO exists.
* Don't create directory on error (setParam == nullptr && isNewData).
* Return CELL_GAMEDATA_ERROR_BROKEN if PARAM.SFO exists on target directory yet is not from GD category.
2020-02-21 21:15:55 +03:00
Nekotekina
145b80d262
Re-enable warning "macro redefined" (clang)
2020-02-21 19:36:05 +03:00
Nekotekina
5e75a0c497
Disable cotire on travis
...
Make some workarounds for clang because it poorly supports -Wold-style-cast
2020-02-21 17:03:54 +03:00
Nekotekina
972e0ab31d
Remove -Wno-reorder and make it an error
2020-02-21 15:20:34 +03:00
Eladash
54f2c27ba0
cellGameDataCheckCreate(2): Set nullptr in setParam
...
* setParam is nullptr by default.
* if setParam is null and it's new data, return error code.
2020-02-21 14:49:45 +03:00
Eladash
0ba1f8f4ef
Fix cellDiscGameGetBootDiscInfo on error
...
* Always set first dword to 0, other bytes are untouched,
2020-02-21 14:49:45 +03:00
Eladash
4d7e53d7a0
cellGameDataCheckCreate(2): Check dirName
2020-02-21 14:49:45 +03:00
Eladash
0c757222cb
Minor improvements to sys_ss_random_number_generator
...
* Replace CELL_EABORT with exception.
* Improve error codes a bit.
* pkg_id == 1 should not return an error if root permission is present.
* Avoid passing vm pointers to native API, use temp buffer instead.
2020-02-21 14:49:45 +03:00
Megamouse
0ed87be47a
Qt: add apply button to settings dialog
2020-02-21 10:08:22 +01:00
Silent
e005581dda
Gracefully fall back to a null renderer if XAudio2 fails to Init
...
This can happen as a non-error condition if user has no output
audio devices enabled.
2020-02-20 23:33:09 +03:00
Silent
312fc94daa
Replace XAudio2 implementation with an unified Xaudio2Redist
...
This removes dual implementation for 2.7 and 2.8/2.9 interfaces
and also removes reliance on DirectX End User Runtimes for Windows 7.
2020-02-20 23:33:09 +03:00
Megamouse
0dd417e5f2
Add more game window title options
2020-02-20 20:07:25 +01:00
Eladash
dd85e733d3
Fixup for #7304
2020-02-20 20:31:56 +03:00
Nekotekina
9e9ddf42c9
Change stdafx.h to trigger pch regeneration
2020-02-20 17:42:28 +03:00
Nekotekina
3e0e1f668c
Another attempt to fix OSX
2020-02-20 16:54:56 +03:00
Nekotekina
987223da3f
Minor fixup for /dev_flash creation
2020-02-20 14:38:09 +03:00
Nekotekina
78cc36cdd8
Allow empty /dev_flash cfg (fixup)
2020-02-20 14:07:26 +03:00
Nekotekina
da036de3e4
Restore some /dev_flash logic
2020-02-20 12:43:53 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b
First part of fixing sign-compare warning (inside be_t).
2020-02-19 22:54:58 +03:00
Nekotekina
70bcb1cd52
Add "-Wno-macro-redefined" for clang spam
2020-02-19 21:17:23 +03:00
Nekotekina
762c8d5430
Remove -Wno-sign-compare
2020-02-19 21:17:23 +03:00
Eladash
6de91a1691
HLE cellGcmSys: Make IOTable accurate
...
Affects cellGcmAddressToOffset when using addresses above 0xC0000000
2020-02-19 18:11:30 +00:00
Eladash
1aa11440e0
HLE cellGcmSys: Make cellGcmUnmapEaIoAddress accurate
2020-02-19 18:11:30 +00:00
Eladash
df8d0cde4a
RSX/SPU: Accurate reservation access
2020-02-19 18:11:30 +00:00
Eladash
f02b4801b2
Fix max SPURS threads regression
2020-02-18 19:20:40 +00:00
Eladash
727d783959
RawSPU: protect NPC from writes/reads in running state
2020-02-18 18:09:10 +00:00
Eladash
fad8b38b28
sys_spu: protect sys_spu_image members in kernel mode
...
Save relevant info in idm, set sys_spu_image segs and nsegs members to 0.
2020-02-18 18:09:10 +00:00
Nekotekina
8a176de6a1
Restore -Wenum-compare and fix some [=] warnings
2020-02-18 17:37:30 +03:00
Nekotekina
c48ceafc15
sys_sync.h: fix warning (signed prio)
2020-02-18 14:53:23 +03:00
Nekotekina
ee6494c14b
Use strcpy_trync in cellAvConfExt.cpp (silence warnings)
2020-02-18 14:53:23 +03:00
Nekotekina
f08c778d2c
Use more starts_with/ends_with.
...
Remove ends_with global func.
2020-02-18 14:53:23 +03:00
Silent
ea9abe7701
Qt: Update Game List Icon on changing Game List Mode
2020-02-18 00:25:21 +01:00
Nekotekina
950940febe
cheat_manager: minor fix for T to be_t transition
2020-02-17 22:00:32 +03:00
Nekotekina
6e7fbc5c5c
endian.hpp: fix zero array warning
2020-02-17 22:00:00 +03:00
Nekotekina
6a1a0bf48d
Use std::endian for endianness test
...
Remove legacy IS_LE_MACHINE IS_BE_MACHINE macro.
2020-02-17 21:33:24 +03:00
Nekotekina
244e74ebe2
Try to ignore some annoying warning (seems CIB)
2020-02-17 20:56:03 +03:00
Silent
aa14432846
Disable vertex cache checkbox with MTRSX
2020-02-17 20:34:07 +03:00
Megamouse
7a7ac625cd
move enum formatters from system to config files
2020-02-17 15:08:17 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
Eladash
812d03894b
PPU exec/ovlm ldr: restrict allocations
2020-02-16 22:48:23 +02:00
kd-11
5e6b1003ec
vk: Only declare explicit subpass dependencies for RADV
2020-02-16 18:00:06 +03:00
clienthax
a08ed0d22e
Fix #7445
2020-02-16 17:09:32 +03:00
Megamouse
b5ed73ebe0
Qt: add reset button to game window title and center the label
2020-02-16 13:56:49 +01:00
Eladash
c1bdaccd8c
sceNpTrophyRegisterContext: Fix off by one progress callbacks count
2020-02-15 23:32:29 +01:00
Eladash
4421831c8b
sceNpTrophyRegisterContext: Fix values passed to first callback
2020-02-15 23:32:29 +01:00
Eladash
d03804b523
Fix sceNpTrophyGetTrophyInfo
...
* Only writeback data on success.
* Fix a typo on error code of invalid trophy ID.
2020-02-15 23:32:29 +01:00
Nekotekina
634c4355fe
Fix startup failure on invalid games.yml
...
Add some exception checking/ignoring.
2020-02-15 22:34:10 +03:00
Megamouse
ee54ba970a
GUI: add custom title format to settings dialog
2020-02-15 20:33:02 +01:00
kd-11
23f1515448
vk: Explicitly declare null subpass dependencies
...
- We do not want any actual dependencies, but it turns out removing them
entirely makes the driver add even worse dependencies.
2020-02-15 21:45:25 +03:00
Nekotekina
4018b833ad
game_list: fix duplicate removal from games.yml
...
Also add some warnings.
2020-02-15 14:08:08 +03:00
Eladash
ddf87864de
atomic_t: Fix regression from #7489
2020-02-15 14:07:52 +03:00
Eladash
299af768e8
HLE cellGcmSys: Make cellGcmAddressToOffset accurate
2020-02-15 14:07:52 +03:00
Megamouse
e645627b78
Qt: Allow for duplications in game list
...
This fixes app versions when multiple game data directories were found.
We only removed duplications because we didn't wanna see multiple disc games from different locations
2020-02-15 11:36:01 +01:00
Megamouse
1cb1d14d0c
Qt: only add version update hint to bootable applications
2020-02-15 11:36:01 +01:00
Megamouse
1c2df15755
Qt: simplify category localization in gamelist refresh
2020-02-15 11:36:01 +01:00
Megamouse
687bb1697b
Qt: fix gamelist version check regression after localization changes
2020-02-15 11:36:01 +01:00
Eladash
04e0bf2eff
Whitespace fix after #7087
...
Was this close to enter programmers' hell.
2020-02-15 11:37:13 +03:00
Eladash
eb8710d3c1
atomic.hpp: C-style casts cleanup
2020-02-15 11:37:13 +03:00
Eladash
e98fcfdf77
rsx debugger: Fix a crash on opening before rsx was intialized
2020-02-15 10:41:42 +03:00
Eladash
cdda19c79f
Fix recursive locking in sceNpTrophyUnlockTrophy
2020-02-15 10:41:15 +03:00
Eladash
fa9330d0e0
Log returned reqspace in sceNpTrophyGetRequiredDiskSpace
2020-02-15 10:41:15 +03:00
Eladash
1d4595a349
Idm: Minor assert fix
2020-02-15 10:41:15 +03:00
Eladash
9344b21484
rsx: Unify FIFO recovery methods
...
TODO: Maybe consider fifo stack content when recovering.
2020-02-14 17:11:26 +03:00
Eladash
07f300a14e
rsx: ZCULL typo fix
2020-02-14 17:11:26 +03:00
Eladash
ddeb39d8de
HLE cellGcmSys: Fix unmapping
2020-02-14 17:11:26 +03:00
Nekotekina
0d7aa5e310
GUI: implement custom title format
...
New option "Window Title Format" in Misc.
Backward compatible with FPS disabler.
Make rpcs3:::get_branch() return string_view.
2020-02-13 21:24:52 +03:00
Eladash
78c49e7331
cellSearch: another memory access fix
2020-02-12 20:02:18 +03:00
Eladash
9760053c8c
cellSearch: Fix id memory access ( #7476 )
2020-02-12 18:17:45 +03:00
Silent
3006b003c4
Implement links as a cellSearch specific concept
...
Linking in VFS is done only from cellSearchPrepareFile and works
by mounting virtual files to host FS files
2020-02-12 12:49:02 +03:00
Silent
e30637351e
Move SearchState to a fxo object so it resets with emulation
2020-02-12 12:49:02 +03:00
Silent
d2b83c69bb
cellSearch updates from Brolijah
...
Co-authored-by: Brolijah <brolijahrh@gmail.com>
2020-02-12 12:49:02 +03:00
Nekotekina
bcbe324534
geometry.h: make conversion operators explicit
...
It requires static_cast<> to call them.
2020-02-11 13:21:45 +03:00
Eladash
dcb30df7c8
rsx capture: Fix capture recovery after a crash
2020-02-10 21:39:39 +00:00
Eladash
bdab26ec09
rsx: rewrite io mappings
...
Along with some with fixes to cellGcmSys HLE.
2020-02-10 21:39:39 +00:00
kd-11
f47333997f
rsx: Validate memory blocks before checking for overlap
2020-02-10 21:48:35 +03:00
kd-11
3787108ee7
rsx: Typo fix in audit condition
2020-02-10 21:48:35 +03:00
Megamouse
30d176ac5e
Qt/linux: set DISPLAY variable if undefined
2020-02-10 21:48:13 +03:00
RipleyTom
98f91457bf
Small sys_usbd changes
2020-02-10 21:47:48 +03:00
Megamouse
6847e52364
Fix visual studio filters after someone tinkered with the files
2020-02-10 21:47:13 +03:00
Megamouse
6862790cf7
Qt: icon overhaul
2020-02-10 17:38:19 +01:00
Nekotekina
034267adb2
Compilation fix
2020-02-10 16:57:56 +03:00
Nekotekina
491526b421
Add option USE_COTIRE=ON (by default)
...
Precompiled headers cause rebuild problems with ninja, for example.
2020-02-10 14:47:12 +03:00
Nekotekina
5a41d75eb8
Silence unused parameter warning
2020-02-10 14:47:12 +03:00
Nekotekina
4bc431ec31
Silence deprecation warning (implicit capture of this on [=])
2020-02-10 14:47:12 +03:00
Megamouse
5d82b0f4c4
Qt: set min version to 5.14
2020-02-10 14:05:36 +03:00
RipleyTom
762718002e
make decrypt default to All Binaries
2020-02-10 09:45:06 +01:00
Eladash
80eff58950
cellAudio: Implement cellAudioSet/RemoveNotifyEventQueueEx
2020-02-09 12:31:55 +00:00
Nekotekina
7ea4eb0095
Atomic fix
...
Fix possible pointer arithmetic ops.
Fix fat atomics (currently unused).
2020-02-09 14:09:29 +03:00
kd-11
efc8c3f4a9
vk: Fixup for VK_ERROR_SUBOPTIMAL_KHR
...
- break from a switch does not break out of the external scope!
2020-02-09 13:45:30 +03:00
kd-11
792c481f6d
rsx/overlays: Fix clipped rendering of UI elements
...
- Take viewport offset into account when applying window transforms.
This is necessary because gl_FragCoord is based on the framebuffer and not the viewport.
2020-02-09 12:55:56 +03:00
Eladash
11675d7645
Compilation fix for VSH pr
2020-02-09 06:48:16 +00:00
Eladash
1915fe75a4
VSH: Stubs
2020-02-08 23:07:03 +03:00
Eladash
9d1bb60ad7
cellGcm HLE: fix cellGcmMapMainMemory
...
Fix arguments order, softcode RsxReports::report offset.
2020-02-08 22:18:56 +03:00
Eladash
b7043ce000
Make rsx::get_address report caller location
2020-02-08 22:18:56 +03:00
kd-11
c64935f9dd
rsx: Clean up graphics state notifications and add notification for change in point size
...
- Adds a backend notification when point size changes.
- Refactors all those separate notifiers into one reusable template.
2020-02-08 18:13:05 +03:00
Eladash
629eddfb9f
sceNpTrophy: Implement SCE_NP_TROPHY_ERROR_CONTEXT_NOT_REGISTERED
2020-02-08 11:11:59 +00:00
Eladash
1f94c8f272
sceNpTrophyGetGameProgress Fix
2020-02-08 11:11:59 +00:00
Megamouse
0c8611bd49
Qt: fix game category localization
2020-02-08 11:04:13 +01:00
Megamouse
5dcb91b671
Restart games with the same config instead of global
2020-02-08 11:04:13 +01:00
Megamouse
7abda27b46
Fix Boot inconsistencies for Reloads
2020-02-08 11:04:13 +01:00
Megamouse
901fc87bca
Only start the playtime clock if it makes sense
2020-02-08 07:13:29 +01:00
kd-11
54da9ac7e5
overlays: Fixup
...
- Avoid calling join on self thread.
- Avoid use-after-free.
2020-02-07 19:28:41 +03:00
kd-11
e45360de2b
overlays: Fix use after free
...
- Overlay can be closed when secondary thread is asleep!
Wait for it to wake before proceeding with deletion.
2020-02-07 16:15:02 +03:00
kd-11
d59c449ff6
vk: Remove an overzealous assert
2020-02-07 16:15:02 +03:00
eladash
f901846acb
RawSPU: execute MFC proxy cmd after reading CMDStatus
...
Implement MFC proxy argument sequence checking.
2020-02-06 20:43:38 +00:00
Megamouse
edcd2fc14a
Qt: fix game grid regression
2020-02-06 19:58:19 +01:00
Megamouse
382bdcdcb7
Qt: set Tooltips.h to UTF-8 in order to fix translation with special characters
2020-02-06 17:41:50 +01:00
Megamouse
1bbc60c3e7
Qt: do not use localized filenames for default current config and default stylesheet
2020-02-06 17:41:50 +01:00
Megamouse
c13d345604
Qt: add language menu
2020-02-06 17:41:50 +01:00
Megamouse
efe907ffae
Qt: use config to load translation file on startup
2020-02-06 17:41:50 +01:00
kd-11
0bba04ef8d
vk: Fix a bug in RCB/RDB when MSAA is set to disabled.
...
- Initially MSAA option was hardcoded to be always enabled, this bug is a remnant of that time.
2020-02-06 17:54:05 +03:00
kd-11
43dae6c14d
gl: Implement RCB/RDB
2020-02-06 17:54:05 +03:00
kd-11
2b5c24b304
gl: Fix memory barrier implementation and stub for RCB/RDB
...
- It's a miracle it even compiled
2020-02-06 17:54:05 +03:00
kd-11
50b1e26b17
gl: Fix a long-standing regression with typeless transfer caused by a typo.
...
- The parameters for the final upload should be 'unpack_info' not 'pack_info'!
2020-02-06 12:44:46 +03:00
kd-11
18e0559438
gl: Fix per-level sub-image sizes to comply with OpenGL guidelines for compressed textures
2020-02-06 12:44:46 +03:00
Eladash
37513b1898
SPU reservations: Do not access violate under vm::writer_lock
...
TODO: Throw exception when encountering page faults notification enabled memory
2020-02-06 00:27:17 +00:00
Silent
fbbad7c851
Include trailing separators in section split
...
This fixes the case on Windows where one of the paths ends up consisting
only of a drive letter and no trailing slash - in which case Windows
treats it as "current directory on drive X" and not "root of drive X"
and GetFileAttributes throws an invalid param error
2020-02-05 23:21:32 +00:00
Eladash
f8b3c48af7
sys_spu: Implement proper SPU group flags ( #7320 )
...
* sys_spu: Implement proper SPU group flags
2020-02-05 20:46:05 +00:00
kd-11
3cc42c1bf8
gl: Fix broken image transfer operations
2020-02-05 18:18:09 +03:00
kd-11
b6422c9a33
rsx: Fixup
...
- Destination Y coordinate must be 'rebased' onto the current slice by subtracting its offset.
Only the local path was affected this time
2020-02-05 18:18:09 +03:00
Eladash
049e392a97
Make preferred spu threads dynamically adjustable
2020-02-05 10:06:07 +00:00
Eladash
9a64d08c9f
Make sleep timers accuracy dynamically adjustable
2020-02-05 10:06:07 +00:00
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Eladash
49e11b7cfd
cellVdecQueryAttrEx: Add some error checks for MPEG2
2020-02-05 05:01:07 +00:00
Eladash
6a32ceaab5
cellVdecQueryAttrEx: Add workaround for codec specific info
2020-02-05 05:01:07 +00:00
Eladash
acc7320cae
Fix cellVdecGetPicItem
...
Fix potential overflow, race condition and correctness fixes for picInfo_addr
2020-02-05 05:01:07 +00:00
Nekotekina
1a78e0e80c
Make RPCS3 compile in C++2a mode
2020-02-04 23:43:55 +03:00
Eladash
e9e8f0c5b7
cellGame: report not found sfo params
2020-02-04 18:29:52 +03:00
Eladash
cb52ee0a4d
cellGame: report fs::remove_all failure
2020-02-04 18:29:52 +03:00
Eladash
4488312e81
Avoid out of memory with cellGameGetParamString
2020-02-04 18:29:52 +03:00
kd-11
9d9b5c4d66
rsx: Rewrite coverage test to take sum of areas into account.
...
- TODO: A proper sweep algorithm to calculate sum of overlapping rectangles
2020-02-04 16:20:52 +03:00
kd-11
b9ec012922
rsx: Allow for proper data checks when WCB/WDB is enabled
2020-02-04 16:20:52 +03:00
Megamouse
d47a8b49a4
Qt: use current locale for last played in gamelist
...
This also sets the basic groundwork for Qt translations
2020-02-04 09:18:05 +01:00
Megamouse
1759d6d90a
Qt: fix gamelist sorting for playtimes
2020-02-03 21:22:11 +01:00
Nekotekina
c4a01875d0
Space fix commit
2020-02-03 11:16:26 +03:00
Nekotekina
f9a8efe406
SPU LLVM: gisable NewGVN pass
...
It goes into an endless loop with memory leak for some reason.
2020-02-03 11:16:03 +03:00
Silent
7f4e546f19
Protect m_storage.find(key) to fix a race
2020-02-02 22:28:14 +03:00
Nekotekina
87a5dd66ab
Move logs::channel registration out of the constructor
...
Allow constinit initialization of logs::channel.
2020-02-02 14:12:54 +03:00
Eladash
e57c01907e
cellVdec: Improve cellVdecQuery and cellVdecOpen
2020-02-02 09:01:32 +03:00
kd-11
7d2ed9200d
rsx: Remove sections that are wholly inherited by new blocks
...
- Allows sections reclaimed by the surface store due to overlap/inheritance to be identified and removed.
- Additionally, potentially lowers the number of flushes required per block with multiple overlaps improving efficiency and theoretically performance.
2020-02-01 15:14:29 +03:00
Nekotekina
f6e90b4c72
Fix FAudio logging
2020-02-01 13:34:36 +03:00
InvoxiPlayGames
c1180d76dd
sys_usbd: Fix bug preventing multiple USB devices
2020-02-01 12:34:42 +03:00
Nekotekina
6dfd97f0b6
Modernize SPU logging (spu_log variable) and remove log legacy
...
Remove legacy macro (LOG_ERROR, etc)
2020-02-01 11:52:52 +03:00
Nekotekina
327bb2d8f0
Modernize PPU logging (ppu_log variable)
2020-02-01 11:52:24 +03:00
Nekotekina
21f7b0ff0f
Remove HLE log channel
2020-02-01 11:52:24 +03:00
Nekotekina
15391f45d0
Modernize RSX logging (rsx_log variable)
2020-02-01 11:52:22 +03:00
Nekotekina
3c0bd821c8
Give log channels fancier names
...
Improve LOG_CHANNEL macro to accept custom name.
2020-02-01 10:43:43 +03:00
Nekotekina
3eca2d5d6c
Remove legacy LOADER log channel
2020-02-01 07:49:38 +03:00
Nekotekina
d9a0619ddd
Remove legacy GENERAL log channel
...
Add some more log channels instead.
2020-02-01 07:49:38 +03:00
Nekotekina
efafda2650
Add config to silence all logs
2020-02-01 07:49:38 +03:00
Eladash
943368912b
Hotfix after #7351
2020-02-01 05:50:58 +03:00
Nekotekina
1d0f359406
logs: add more log channels instead of GENERAL
2020-01-31 16:44:48 +03:00
Nekotekina
67075dfc6c
logs: cleanup for audio backends
...
In process of removing GENERAL log channel.
2020-01-31 16:44:48 +03:00
Nekotekina
26cccead6e
logs: remove legacy MEMORY channel
...
Add channels vm_log, sig_log.
2020-01-31 16:44:48 +03:00
Asinine
e6f7467f67
Update missing rap file error
2020-01-31 14:13:55 +01:00
kd-11
36d5db7f30
rsx: Plug texture data leak in the 'exact match' path.
...
- Followup to previous texture data leak fix for the replaced section path.
2020-01-31 14:56:53 +03:00
Nekotekina
007a7a5859
Fixup for LOG system.
...
Register all channels at program initialization and allow duplicates.
2020-01-31 12:09:52 +03:00
Nekotekina
59a0f810b9
Implement fat atomics
...
Atomics with embedded mutex bit.
2020-01-31 12:09:52 +03:00
Silent
9f678cc47a
Fix code relying on initialization order
...
Allows Debug - LLVM to boot
2020-01-31 11:23:55 +03:00
Silent
aeebcfe141
Fix Debug - LLVM in VS project files
2020-01-31 11:23:55 +03:00
Eladash
48a847d1b6
Qt: Bugfixes regarding usage of ShowConfirmationBox
2020-01-30 21:49:08 +01:00
Eladash
232c6c3aaf
Qt: Display "Reboot With Custom/Global config" on running game
2020-01-30 21:49:08 +01:00
kd-11
c9e35926f5
rsx: Preserve pixel data when splitting sections
...
- Ironically rhis data leak is caused by trying to fix another type of data leak
2020-01-30 21:07:36 +03:00
Megamouse
8ef69429d8
Add early out to pkg_install
2020-01-30 18:21:18 +01:00
Megamouse
336cd6e33a
Qt: Prevent Qt from blocking the explorer during installations
2020-01-30 18:21:18 +01:00
Silent
360e484b08
Fix ellipsis
...
… is an UTF-8 character and those don't really belong in messages like this anyway
2020-01-30 16:06:00 +03:00
Eladash
92466165f6
Increase Maximum Vblank Rate and Clocks Scale
...
Allow x30 times the speed of vblank rate + clocks scale of original PS3.
In theory a 60 fps limit game which scales frame limit perfectly with vblank rate can be played at up to 1800 fps with this change.
And:
* Fixed lv2 sleep with Clocks Scaling
* Make these settings dynamicaly adjustable.
* Avoid code duplication
2020-01-29 21:42:41 +01:00
kd-11
1206a5d4b7
rsx: Tweak blit engine heurestics a bit
...
- Reject writes to RTT if the source data is of unknown origin.
non-RTT data and only 1 line in length is suspicious and often GPU data like programs or other rendering inputs.
2020-01-29 12:54:06 +03:00
TotalCaesar659
c1d7b46235
Qt: change labels in package installer ( #7325 )
2020-01-29 00:39:05 +01:00
Malcolm Jestadt
ad8988afd3
Embedded SPU elf patching
...
- PS3 games include both PPU and SPU code in their PPU executables, so to make patching games that make use of the same SPU libraries easier, we add a system to find and patch them.
- Patches for this system still use SPU LS (Local Storage) addresses despite the fact that we aren't loading anything into SPU LS at this time. The patches are checked against each segment and patched in place.
2020-01-28 02:13:37 +03:00
Ivan
7f07b79c04
Partial revert of #7180
...
PC is PS
2020-01-27 07:05:18 +03:00
RipleyTom
610a6a1404
Increases number of buffers when buffering
2020-01-27 02:13:30 +00:00
Eladash
a7aef22754
ppu: Log SELF header information and CIA of caller HLE functions
2020-01-27 01:21:40 +00:00
Eladash
4e0070f16d
Log sys_spu thread group and thread names
...
Also safely read thread name after relevant error checks passed.
2020-01-26 20:32:10 +00:00
Eladash
7ae679adbe
Fix logging of ppu name in sys_ppu_thread_create/rename
2020-01-26 20:32:10 +00:00
Eladash
d481c3c7fd
cellGameGet/SetParamString: Implement CELL_GAME_ERROR_NOTSUPPORTED
2020-01-26 20:32:10 +00:00
Eladash
a9162a3f57
SPU LLVM: Improve approximate FCMGT
2020-01-26 18:37:07 +00:00
Megamouse
b341113ad8
Qt: Change some labels
2020-01-26 18:46:04 +01:00
Nick Renieris
1e69de1205
overlays/perf: Graph label tune-up
...
Place graph text on top, split in 2 lines, center it horizontally.
Also if it's wider than the graph, match up graph's width to it.
2020-01-26 17:55:11 +01:00
kd-11
79216917b3
rsx: Workaround for broken rtt resampling
...
- Avoids WCB requirement for now to keep res scaling working correctly.
- TODO: Fix this properly
2020-01-26 13:58:48 +03:00
kd-11
698702cd4a
vk: Fix DMA data leak
...
- There still does not exist a ranged flush implementation which is required.
- TODO: Implement this properly
2020-01-26 13:58:48 +03:00
kd-11
1166ae19bb
vk: Use appropriate layouts depending on use case when creating new textures to avoid needless barriers
2020-01-26 13:58:48 +03:00
kd-11
44f2cacf7b
rsx: Blit engine tuning
...
- Attempt to identify blit operations that will be flushed immediately
after and just do them on CPU instead if the transformation is trivial.
- If only a single blit section is contributing to an atlas merge op, the
threshold should be 100%. The only acceptable result here is a
truncation.
2020-01-26 13:58:48 +03:00
kd-11
7a275eaa3a
rsx: Fix incomplete blit operations getting used as texture inputs
...
- Raise passing 'score' from 50% to 90% to filter out very incomplete
merge operations.
- Catch unfit sections passing the match test; possible for blit_dst
data but will likely be always harmless. Disabled in release builds by default.
2020-01-26 13:58:48 +03:00
Silent
331c1a394a
Qt: Present game removal failure to the user
...
All the required information was already there,
but UI always reported success
2020-01-25 19:28:52 +01:00
Eladash
e4ba096190
VSH: sys_mmapper
...
* Implement syscalls sys_mmapper_allocate_shared_memory_ext, sys_mmapper_allocate_shared_memory_from_container_ext.
* Implement multi-process shared memory allocations.
2020-01-24 20:08:30 +00:00
Eladash
46df58b662
sys_usbd: Add error_code
2020-01-24 19:25:52 +00:00
Eladash
95ed2ef62e
cellGcm HLE: Add error_code
2020-01-24 19:25:52 +00:00
Megamouse
3f076d63e3
HLE: add error checks to cellAudioInGetDeviceInfo
2020-01-23 10:50:55 +01:00
Megamouse
3e8a5c6395
HLE: add some more constants
2020-01-23 10:50:55 +01:00
Megamouse
18f167ddd0
HLE: Fix error checks in cellAudioInRegisterDevice
2020-01-23 10:50:55 +01:00
Maksim Derbasov
1abdee242a
small improvement ( #7288 )
...
* small improvement
* comments addressed
Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-22 12:28:48 +00:00
kd-11
adcc3e9c4b
rsx: Optionally sync on texture read semaphore
...
- Some games use texture semaphore for zcull sync which is rather bizzare.
However, it works on realhw as the depth test happens before fragment shader completion
- Due to the high performance penalty incurred by this act, this
behavior is only enabled by the "strict rendering mode" option.
2020-01-21 22:21:51 +03:00
Eladash
949cfa7fdb
Fix cellVdecSetFrameRate error check
2020-01-21 16:45:41 +03:00
Eladash
fe381b8581
SPU: Add SPU LS to debugger
2020-01-21 16:45:41 +03:00
Eladash
160ddcf86b
SPU: Minor FREST bugfix
2020-01-21 16:45:41 +03:00
Eladash
f05a3da964
Fix lv2_file::op_write regression
2020-01-21 16:45:41 +03:00
Nekotekina
ddda09607d
SPU: fixup for STOP 0w0
2020-01-21 16:32:00 +03:00
Eladash
9993df9b8b
RawSPU: fix race between spu start and stop
...
This race could lead to spu status bits indicate RUNNING status, but cpu state being stopped.
Fix it by making sure cpu state is set before spu status.
2020-01-21 14:08:39 +03:00
Nekotekina
98a8eeaac2
SPU: properly support STOP 0x0 instruction
2020-01-20 23:40:10 +03:00
Nekotekina
0f87c6c7c3
Make system config thread-safe (almost)
2020-01-20 21:51:28 +03:00
Nekotekina
0147bc2c72
Fixup shared_cptr, atomic_cptr
2020-01-20 21:51:28 +03:00
Nekotekina
1e7a02badb
Implement shared_cptr and atomic_cptr
...
Limited shared_ptr with atomic support.
Atomic version is only partially implemented.
2020-01-20 16:53:42 +03:00
Nekotekina
3617f12a1e
sys_fs: avoid possible out of memory on file reads/writes
...
Use fixed-sized intermediate buffer.
2020-01-20 16:00:20 +03:00
Nekotekina
63f67c88cc
sys_fs: better stub sys_fs_fcntl(0xc0000006)
...
This syscall does something to classify filesystems by mountpoint.
2020-01-20 16:00:20 +03:00
Nekotekina
1b1b804d7e
sys_fs: add /dev_flash mountpoint
2020-01-20 16:00:20 +03:00
Nekotekina
55cb96ab3b
sys_fs: fix CELL_EIO condition in cellFsReadWithOffset
2020-01-20 16:00:20 +03:00
Megamouse
5ef3465f65
cellVdec: (experimental) allow AV_PIX_FMT_YUVJ420P
2020-01-20 00:33:25 +01:00
Megamouse
9a27cc9442
cellVdec: improve error checks
2020-01-20 00:33:25 +01:00
Megamouse
858ce014fd
VS: fix filter facepalm
2020-01-19 16:38:17 +01:00
Megamouse
4dbad6cce6
fix some random warnings
2020-01-19 16:38:17 +01:00
Megamouse
485b22d664
Qt: fix deprecation warnings
2020-01-19 16:38:17 +01:00
Megamouse
30d5a849e3
Qt: enlarge some tooltip hover areas in settings
2020-01-19 12:40:43 +01:00
MSuih
9ef96e8274
Add pagesteps for some controls
...
With the snap changes the default pagestep of 1 is ignored because of rounding.
2020-01-19 09:09:36 +01:00
MSuih
cbaa8f3329
Add snapping and limit range for wakeup delay
2020-01-19 09:09:36 +01:00
MSuih
807d6cfea4
Add slider snapping
2020-01-19 09:09:36 +01:00
kd-11
22ca2827de
rsx: Improve window border detection and clearing
...
- Improves logic to detect if the frame requires letterboxing and
properly clears the background appropriately.
2020-01-18 19:52:52 +03:00
kd-11
5e0ca4c0c4
rsx: Fixup for missing visuals when framebuffer is larger than requested
...
display dimensions.
2020-01-18 19:52:52 +03:00
kd-11
48407752a6
formatting: Unify indentation type in the newly added files to tabs
2020-01-18 19:52:52 +03:00
kd-11
bad4d1ff05
rsx: Improve present image scanning
...
- Adds support for partial (letterboxed) source images by taking insets
into account.
- Bugfix for potential access violation when capturing screenshot on
vulkan
2020-01-18 19:52:52 +03:00
kd-11
7453e46a7c
rsx: Refactor out complex present code into separate files
...
- Also restructures present code to have image lookup in a separate
re-usable function.
2020-01-18 19:52:52 +03:00
Eladash
b07b5c9005
Fix sys_spu_thread_initialize for attr->name_len is 0 and attr->name is not null
...
If name_len is 0 name is empty, in any other case name is not empty (attr->name == nullptr isn't allowed in this case).
Check name_len and option for invalid values as fw.
2020-01-18 18:46:13 +03:00
Eladash
9d15083c61
Fix sys_ppu_thread_create/rename thread name range
2020-01-18 18:46:13 +03:00
Eladash
14b99d9e8b
Write nread/nwrite in cellFsWrite/Read regardless of error checks
2020-01-18 15:56:05 +03:00
kd-11
b36b9e4822
vk: Fixup for total number of combined samplers using the dynamic binding structure
2020-01-18 11:17:19 +03:00
kd-11
0a2b6a290d
vk: Fixup
...
- Scaling is not needed for a direct typeless transfer!
2020-01-17 14:31:14 +03:00
Emmanuel Gil Peyrot
ca5bc512ae
Optimise the SVG logo with svgcleaner
...
It still contained Inkscape leftovers, which are of no use for anything.
There are no functional changes.
See https://github.com/razrfalcon/svgcleaner
2020-01-17 08:31:00 +01:00
Megamouse
449cbb7281
Qt: use persistent_settings for playtimes
2020-01-17 07:43:10 +01:00
Nekotekina
e2512e78b6
sys_fs: always close locked file in sys_fs_close
...
Syscall returns EBUSY but succeeds nevertheless.
2020-01-17 00:24:07 +03:00
Nekotekina
a005090d3d
sys_fs: use constant in sys_fs_disk_free
2020-01-17 00:24:07 +03:00
MSuih
833fbe015e
Use floating point pixel ratio
2020-01-16 23:54:47 +03:00
Eladash
c9b0f0e734
SPU: Fix FREST
2020-01-16 23:42:50 +03:00
kd-11
9b34f00241
vk: Optimize image transfers
...
- Adds the same optimization/simplification steps to complex image
transfer routines. Whenever possible, multi-step transfers are collapsed
into a single operation.
2020-01-16 22:29:26 +03:00
kd-11
82af17beb1
gl: Optimize image operations
...
- Avoid double transfers where a transfer to a temp image is done
without scaling and then a secondary transfer follows. Combines the two
steps into one whenever possible which can significantly alleviate
bandwidth problems at higher resolutions. Significant speedup, upto 90%
in some cases (PDF, PDF2)
2020-01-16 22:29:26 +03:00
kd-11
47b196e9d0
rsx: Fix uninitialized variable
2020-01-16 17:57:31 +03:00
kd-11
db014d8a58
rsx: Fix section length calculations when generating new blit targets.
2020-01-16 17:57:31 +03:00
kd-11
621fab2ad9
vk: Fix D32S8 interpolation by using integer interpolation instead of floating point
...
- Interpolating floats is not the same as interpolating their bits!
Use integer format to interpolate linearly for D32F formats instead of using R32F as intermediary
2020-01-16 11:12:08 +03:00
kd-11
086ecf4ba6
vk: Add some missing image memory barriers causing artifacting on AMD cards
...
- There needs to be a memory barrier after each step.
- TODO: Optimize scale_typeless_safe function
2020-01-16 11:12:08 +03:00
kd-11
309251ce7a
rsx: Touch locked dst memory after blit transfer operations in case it is locked by WCB/WDB
2020-01-16 11:12:08 +03:00
Eladash
9084209cfc
Update cellVdecSetFrameRate error checking
2020-01-15 23:29:32 +01:00
kd-11
74ad525566
vk: Fixup for cs_scatter job
...
- Access to the stencil output has to be atomic as each 'word' is shared among 4 adjacent texels
- TODO: Can be optimized using mirrored buffer views
2020-01-15 21:12:51 +03:00
Eladash
05e5e6058f
Add description for rsx wake-up delay
2020-01-15 19:54:23 +03:00
MSuih
556ac1cf22
Add wake-up delay to settings
2020-01-15 19:54:23 +03:00
Eladash
85695c8bac
rsx: FIFO wake-up pause control
2020-01-15 19:54:23 +03:00
kd-11
2984300385
vk: Fix invocation alignment to support non-power-of-2 alignment
2020-01-15 15:42:36 +03:00
kd-11
ac4cadf538
vk: Fix word index counting for shuffle tasks
2020-01-15 15:42:36 +03:00
kd-11
175f78f5b3
vk: Lower default compute heap size to 64M
...
- There is no need to guess and use a large memory footprint as the heap is
now dynamic.
2020-01-15 15:42:36 +03:00
kd-11
3d96fe79cc
vk: Implement dynamic sized compute heap
...
- Implements a dynamically sized compute heap to allow growing up the
size if it is too small.
2020-01-15 15:42:36 +03:00
Eladash
1ccb3c4492
rsx: Verify local memory offset
2020-01-15 13:23:56 +03:00
Eladash
01035d35bd
sys_process: Fix sys_process_get_id, add error_code ( #7246 )
2020-01-14 21:32:41 +03:00
kd-11
8bbda3dedb
vk: Restructure command queue flushing behavior to avoid deadlock
...
- Queueing commands on the offloader is a good idea but unfortunately
page faults can still happen causing a cyclic dependency and eventual
deadlock. Characterized by a vk::wait_for_event timed out error
accompanied by severe hitching.
- Drain the fault-able commands before pushing a submit operation to the
queue. If a fault is in progress, bypass the queue system and submit
raw. Technically this is incorrect but there isn't much that can be
done about it right now.
2020-01-14 14:32:40 +03:00
Megamouse
542d2ef8da
Qt: smoother batch package installation
2020-01-14 09:27:09 +01:00
Megamouse
be2d225d96
sceNpTrophy: deny unlocking of platinum trophies
2020-01-13 22:50:05 +01:00
Eladash
765bd6b6c6
SPU: Optimize gpr reset for MSVC
2020-01-11 22:56:46 +03:00
Nekotekina
aeed349a99
sys_fs: adjust permissions for /dev_bdvd
...
Remove write permissions returned by stat, fstat, etc.
Also make sys_fs_open return CELL_EPERM on write attempt.
2020-01-11 04:48:42 +03:00
Nekotekina
8447d75dda
sys_fs: improve sys_fs_lsn_lock
...
It appears it does nothing only on /dev_hdd0 or /host_root (HOSTFS).
2020-01-11 03:44:52 +03:00
Nekotekina
fc6356a74c
sys_fs: adjust /dev_bdvd block size
...
From test.
2020-01-11 03:05:26 +03:00
Nekotekina
41f2ee7b6c
VFS: minor change in handling /host_root path
2020-01-11 01:55:36 +03:00
Nekotekina
87cd653c6e
sys_fs: improve sys_fs_disk_free
...
Fix error codes and arg checks.
2020-01-11 01:10:50 +03:00
Nekotekina
7e35fd54a8
sys_fs: improve sys_fs_fcntl(0xc0000002)
...
Always obtain free space on /dev_hdd0.
2020-01-11 01:09:30 +03:00
Nekotekina
582ee80552
sys_fs: correct block size for /dev_hdd1
2020-01-10 05:24:43 +03:00
Nekotekina
0b4b87f069
sys_fs: fix sys_fs_get_block_size
...
Don't check file existence on /dev_hdd0.
Relax check on some mountpoints.
Fix CELL_EISDIR error condition.
2020-01-10 05:19:18 +03:00
Nekotekina
a8e1afa0af
sys_net: fix sys_net_bnet_select arg check (nfds)
2020-01-10 03:21:27 +03:00
Eladash
71df5044fc
sys_vm_get_statistics: Write timestamp
2020-01-09 20:43:03 +00:00
kd-11
db5d03c340
vk: Generate dynamic binding table based on the capability of the drivers
...
- This alleviates constraints imposed on shaders to allow running on some not-so-great platforms.
2020-01-09 15:38:23 +03:00
RipleyTom
4a5559ee65
Add buzz controllers to usb whitelist
2020-01-09 07:51:16 +00:00
Nekotekina
7523416a12
sys_fs: return CELL_ENOTSUP in sys_fs_fcntl(0xc0000006)
2020-01-09 04:15:20 +03:00
Nekotekina
9075208c80
sys_fs: fix logging in sys_fs_get_block_size
2020-01-09 04:15:20 +03:00
Nekotekina
d477889763
sys_fs: fix mountpoint detection
2020-01-09 04:15:20 +03:00
kd-11
ef3b0db7d8
vk: Workaround for NVIDIA occlusion query failure
...
- When using partial results on NVIDIA, a non-zero result is returned even when the draw is fully occluded.
This, I believe, violates spec which says the partial result shall be between 0 and the final result.
2020-01-08 19:02:45 +03:00
Nekotekina
f5cb147f8d
sys_fs: improve sys_fs_get_block_size values
...
Affected other syscalls:
sys_fs_fget_block_size
sys_fs_stat
sys_fs_fstat
sys_fs_fcntl (cellFsGetDirectoryEntries, cellFsGetFreeSize)
For default values:
Return sector_size = 512.
Return 4th arg = 512.
Fod /dev_bdvd:
Sector size = 2048.
Block size = 2048.
2020-01-07 23:16:17 +03:00
Nekotekina
63e669c0cf
sys_fs: fix sys_fs_fget_block_size
...
Return flags via last argument.
2020-01-07 21:55:19 +03:00
Nekotekina
9c54305e10
sys_fs: disable sys_fs_lsn_lock/unlock
...
According to test, nothing seems to happen.
Disable CELL_EBUSY errors associated with Stream Support API.
2020-01-07 21:55:19 +03:00
Nekotekina
f3d52de429
sys_fs: Adjust flags of /app_home mountpoint
2020-01-07 21:55:19 +03:00
kd-11
3f34a0196c
overlays/osk: Add linear fade-in/out effect to OSK
2020-01-07 21:31:19 +03:00
kd-11
ecf00be155
rsx: Add color interpolation animation
...
- Adds color interpolation and modulation pass and refactors the code a
bit. Elements with this pass applied have their color modulated by the
animated color from the pass. Modulation transform is multiplicative.
2020-01-07 21:31:19 +03:00
kd-11
ad845861be
video: Remove pointless aspect ratio option
...
- The auto option is used when requesting the system is works like a
"dont care" specifier to tell the system to use what settings have been
passed in by HDMI EDID or the user TV type setting. Since this option
simulates the "TV type setting", auto makes no sense and is also not
something you can select on a PS3.
- Also adds a few missing checks.
2020-01-07 15:56:54 +03:00
Nekotekina
c51779d4d3
Fix format string in log_frame.cpp
2020-01-06 23:44:48 +03:00
Nekotekina
55f9a56e45
Fix sys_tty_write (UTF-8 encoding of literals)
2020-01-06 23:23:04 +03:00
Nick Renieris
5bace118a7
overlays: Redesign animation system (add easing functions, fix bugs)
...
Instead of speed, direction and distance, the user now specifies
start/end offsets and how much time the transition should take.
Fixes:
- Stuttering caused from framerate estimation.
- An edge case where animations would go over their supposed limit.
Adds:
- The ability to specify arbitrary easing functions for the animations
- Implemented quadratic ease in and ease out and cubic ease in/out.
- Usage of cubic ease in/out in the trophy notification
2020-01-06 22:42:07 +03:00
Nick Renieris
28770c1580
overlays: Move vertex & vector utility classes to new file
2020-01-06 22:42:07 +03:00
Nick Renieris
192912131e
rsx: Update vblank count in LLE mode
2020-01-06 22:42:07 +03:00
Dravonic
94d2f97f27
Multithreaded shader compliation follow-up ( #7190 )
...
* Multithreaded load pipeline entries shader compliation stage
Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-06 21:59:59 +03:00
Megamouse
632cc79c54
cellGame: add more checks
2020-01-06 10:47:13 +01:00
Megamouse
e7845357e2
sceNpTrophy: unlock platinum trophies
2020-01-05 19:47:31 +01:00
Nekotekina
4450ae0c7a
sys_fs: fix CELL_FS_O_APPEND emulation
...
Don't use fs::append (not capable of).
Fix sys_fs_ftruncate (remove wrong workaround).
2020-01-05 18:15:55 +03:00
Nekotekina
9fc0aec066
sys_fs_stat: fix split file handling
...
Allow single-file case (consistently with sys_fs_open)
2020-01-05 18:15:55 +03:00
Nekotekina
bed2d558a6
sys_fs: implement CELL_EROFS error
...
Implement lv2_mp_flag::read_only.
Currently only /dev_bdvd is affected.
2020-01-05 18:15:55 +03:00
Nekotekina
d5f0957558
Implement lv2_fs_mount_point with mount point flags
...
Implement some actual mount points
Implement lv2_mp_flag::no_uid_gid
2020-01-05 18:15:43 +03:00
kd-11
7f09def94e
rsx/vp: Properly initialize output registers.
...
- All registers tested on hw show contents to be 0, 0, 0, 1.
Make default output registers match this pattern.
2020-01-05 18:06:08 +03:00
Silent
b88fb43acc
Minor cleanup in InstallPkg and InstallPup
2020-01-05 11:01:26 +01:00
Silent
e7ddc5187a
Add a dialog to Batch PKG Install
...
Dialog allows users to preview the order in which PKG's will be installed
and allows users to move items around if needed.
Because clicking "Install" on this new dialog acts as a confirmation
and user has a second chance to eyeball what is to be installed,
"Install package X?" dialogs have been removed and instead user
is only notified of success. In case of failure, batch installation
aborts with a descriptive error.
2020-01-05 11:01:26 +01:00
Eladash
872be25ed1
cellFs: Fix cellFsLseek with negative whence
2020-01-04 22:38:53 +03:00
Eladash
9d2c9e5d62
cellFs: Improve cellFsGetDirectoryEntries
2020-01-04 22:38:53 +03:00
Nekotekina
28fb0d1741
Fix lv2_fs_object::name
...
Recreate path from actual decoded components.
2020-01-04 21:44:03 +03:00
MSuih
5534c9e27c
Disable AA for renderers which do not support it
2020-01-04 18:58:33 +01:00
MSuih
049f852a9c
Slight cleanup of mousewheel pr
...
Fixes theoretical uninitialized variable and micro-optimizes scrollwheel stop code
2020-01-04 18:58:33 +01:00
MSuih
69f11d82d1
Change Null microphone to Disabled
2020-01-04 18:58:33 +01:00
Silent
f92794360d
Qt: Add tooltips to Virtual File System buttons
2020-01-04 17:10:28 +01:00
kd-11
bdb5115c7f
rsx/overlays: Improve space usage on trophy dialog
...
- Slightly increases the size of the trophy dialog and the font size.
The old dimensions did not work with some libre fonts causing
alignment errors and other problems.
2020-01-04 16:36:49 +03:00
kd-11
3ada97d2d3
rsx/overlays: Implement trophy notification queue
...
- Allows to display more than one trophy at a time. Trophy notifications
will simply get queued up and displayed at appropriate time.
2020-01-04 16:36:49 +03:00
Nekotekina
691a57a4da
Add BOM to sys_tty.cpp
2020-01-04 01:32:21 +03:00
kd-11
31b07fece5
rsx/overlays: Add support for animations
...
- Adds animation support. This commit adds the base framework and
implements a translate animation used to slide elements around the
screen. This is then used to implement the sliding animation for the
trophy notification.
2020-01-03 20:33:32 +03:00
Megamouse
b3ad89cc8b
cellSaveData: remove duplicate yield
2020-01-03 14:22:40 +01:00
Megamouse
5e7d25ad35
overlays: refactor shader loading dialogs
2020-01-03 14:22:40 +01:00
Megamouse
d94d094a7e
overlays: fix non-interactive dialog loops
2020-01-03 14:22:40 +01:00
Megamouse
c9aee27d48
VK: remove unused init function declaration
2020-01-03 14:22:40 +01:00
kd-11
d12762414a
vk: Change default vertex output value
...
- Prefer w!=0 to avoid a situation where xyz/w = nan. More of a
theoretical problem, but some calculations break down in such a
situation.
2020-01-03 10:35:53 +03:00
kd-11
7786681954
rsx: Improve MTRSX synchronization
...
- Properly synchronize DMA transfers when handling RSX pipeline
barriers. Texture read barrier is used to signify completion of DMA
routines and is often used to signal that Cell can overwrite vertex
data!
2020-01-03 10:35:53 +03:00
Megamouse
02ca8f0002
Qt: repaint all related icons for custom configs
2020-01-02 11:35:51 +01:00
Megamouse
7af2ebb6f4
cellSaveData: use errDialog to skip error dialogs
2020-01-02 05:49:03 +01:00
Nekotekina
2c4ecc55af
Update ffmpeg
2020-01-02 00:53:22 +03:00
kd-11
c4e59b5115
vk: Clamp depth export in FS
...
- PS3 matches OGL behavior where writing to the depth export
register results in clamping.
2020-01-01 22:39:20 +03:00
Eladash
4c20881f8f
Fixup after #6933 ( #7166 )
...
* fixup
* Get rid of obsolute arg in lv2_obj::awake
* nvm ill do this later
* Typo fix of the decade
2020-01-01 17:38:05 +00:00
Ani
341fdf7eb1
rpcs3_version: Bump to 0.0.8
2019-12-31 23:20:49 +00:00
Eladash
7cc6881a57
Implement sceNpTrophyTerm resources deallocation
...
- Implement sceNpTrophyAbortHandle, if handle is aborted an error code will be returned on its usage.
- Free context & handles in sceNpTrophyTerm.
- Return SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT on invalid context & handles ids.
- Implement id resource shortage error checking.
- Check negative sceNpTrophyGetTrophyInfo trophy id.
- Minor error checking fix for sceNpTrophySetSoundLevel
2019-12-31 22:32:23 +03:00
Eladash
71c4a2a15f
Silence some log messages
2019-12-31 22:27:27 +03:00
Eladash
9690854e58
Some cleanup
...
* Prefer default initializer over std::memset 0 when possible and more readable.
* Use std::format in trophy files name obtaining.
* Use vm::ptr<>::operator bool() instead of comparing vm::ptr to vm::null or using addr().
* Add a few std::memset calls in hle where it matters (or in some places just to document an actual firmware memcpy call).
2019-12-31 22:27:27 +03:00
RipleyTom
5de83e0425
Avoid using vfs::get to let decrypt work on PSN binaries
2019-12-31 22:23:22 +03:00
Eladash
c2eb9a583d
Implement ps3 application root flags detection
2019-12-31 22:22:06 +03:00
Silent
b591633cb9
Fail pkg_install if any files fail to be created
...
This could happen if eg. paths are too long or some files
could not be overwritten. Until now, installation happily
reported success regardless.
2019-12-31 19:24:19 +03:00
Silent
abfa1114bc
Add progress_dialog::SignalFailure()
...
Turns the taskbar progress bar red, commonly used on Windows
in cases like this to signal failure.
2019-12-31 19:24:19 +03:00
Eladash
b30be0fbc1
Update cellVoiceCreatePort syntax
2019-12-31 19:05:06 +03:00
Eladash
9958a83d10
Make spu_channel_4_t::clear() atomic
...
By removing separate value3 write, fixes a rare race introduced by #6917 .
2019-12-31 19:05:06 +03:00
Eladash
3257552227
Minor spu_channel_4_t optimization
2019-12-31 19:05:06 +03:00
Eladash
ec9622b513
Fix ppu_patch invalid address check
2019-12-31 18:57:14 +03:00
Eladash
8427af8886
Implement runtime PPU executable code modification via Cheat Manager
2019-12-31 18:57:14 +03:00
Megamouse
93a6e9e4e4
Improve cellImeJp ( #7014 )
...
* HLE: add error_code and definitions for cellImeJp
* HLE: add function parameters to cellImeJp
* HLE: improve cellImeJp
* HLE: further improve cellImeJp
* HLE: simplify cellImeJp
2019-12-31 16:02:10 +01:00
Megamouse
a5c5927468
cellSaveData: only show dialogs in fixed functions
2019-12-31 14:15:43 +01:00
kd-11
915cf0bae8
vk: Do not leak mapped memory
2019-12-31 13:56:14 +03:00
Eladash
3e80727f8e
Allow unimplemented HLE functions detection by bot
2019-12-30 23:48:39 +03:00
Eladash
b59a825e48
Minor fixup after #6894
2019-12-30 23:46:45 +03:00
Eladash
45cff1219c
Allow sys_raw_spu_create_tag to be called more than once
2019-12-30 23:46:45 +03:00
Eladash
923cd7ad72
SPU LLVM: rewrite comparison on non-xfloat path of CFLTU, CFLTS
...
CFLTU on non-xfloat path is accurate as xfloat path now.
* Also optimize FCTIW like FCTIWZ (PPU)
2019-12-30 22:20:34 +03:00
Nekotekina
ef8872c0d7
sys_net: fix sys_net_bnet_connect on Windows
...
Properly write is_connecting variable.
2019-12-29 21:53:43 +03:00
Nekotekina
01b1b21efd
sys_net: add a workaround for WSAPoll with timeout
...
Don't call WSAPoll with empty socket list.
2019-12-29 21:24:13 +03:00
Megamouse
45dc5d9b02
cellSaveData: improve ppu schedule during dialogs
2019-12-29 14:22:58 +01:00
Megamouse
c4b4ce46b8
cellSaveData: don't pause apps during dialogs
2019-12-29 14:22:58 +01:00
MSuih
6cfcb7b4f3
Add support for mousewheel movement
2019-12-29 12:45:03 +01:00
kd-11
1b27ccecf8
settings: Add relaxed zcull toggle to advanced tab
2019-12-29 13:49:46 +03:00
kd-11
24cb48971e
vk: Fix cb chunk synchronization deadlock
2019-12-29 13:49:46 +03:00
kd-11
e1b734fd12
rsx: Fix linux build
2019-12-29 13:49:46 +03:00
kd-11
ed2bdb8e0c
rsx: Zcull synchronization tuning
...
- Also fixes a bug where sync_hint would erroneously update the sync tag
even for old lookups (e.g conditional render using older query)
2019-12-29 13:49:46 +03:00
kd-11
fdb638436f
rsx: Add toggle for zcull sync behaviour - Adds a relaxed sync mode where ZCULL reports are lazily nudged into flushing and the main core does not actually wait for the event to finish before proceeding - Can drastically improve performance in cases where the game actually does not utilize the report data
2019-12-29 13:49:46 +03:00
kd-11
9f94a6dc11
vk: Refactoring and optimizations to query handling
...
- Caches query results when looking up report availability to avoid
entering driver code twice.
- Minor code restructuring
2019-12-29 13:49:46 +03:00
kd-11
55ad9244c0
vk: Switch occlusion pool to FIFO rather than LIFO to avoid hard stall
2019-12-29 13:49:46 +03:00
kd-11
cdd9c12132
vk: Emulate conditional rendering for AMD
2019-12-29 13:49:46 +03:00
kd-11
93895838c7
vk: Implement hw conditional rendering
2019-12-29 13:49:46 +03:00
kd-11
a51395370e
vk: Implement multithreaded command submission
...
- A few nagging issues remain, specifically that partial command stream
largely caused by poor synchronization structures for partial CS flush
and also the fact that occlusion map entries wait on a command buffer
and not an EID!
2019-12-29 13:49:46 +03:00
kd-11
5be7f08965
rsx: Restructure ZCULL report retirement
...
- Prefer lazy retire model. Sync commands are sent out and the reports will be
retired when they are available without forcing.
- To make this work with conditional rendering, hardware support is
required where the backend will automatically determine visibility by
itself during rendering.
2019-12-29 13:49:46 +03:00
kd-11
8dfea032f2
rsx: Remove deprecated do_method path that has been superceded by c++ inheritance for many years
2019-12-29 13:49:46 +03:00
Megamouse
0b78404337
cellSaveData: get confirmation if not CELL_SAVEDATA_OPTION_NOCONFIRM
2019-12-29 01:19:04 +01:00
Megamouse
ff0089bc6f
cellSaveData: add more constants
2019-12-29 01:19:04 +01:00
Megamouse
bb7848f6e5
cellSaveData: add error dialog to callback result errors
2019-12-29 01:19:04 +01:00
Megamouse
47da907366
cellSaveData: add confirmation dialog for save data interactions
2019-12-29 01:19:04 +01:00
Megamouse
9f106be36d
Qt: apply more specific file filters for cache removal
2019-12-28 22:24:06 +01:00
Megamouse
096a08aca1
Qt: fix removal functions after cache compression
2019-12-28 19:44:45 +01:00
Megamouse
ef6f565dbd
silence some annoying warnings
2019-12-28 15:40:57 +01:00
Nekotekina
70e26eeb45
LLVM: compress PPU cache
...
Compress PPU modules to .gz (backward compatible with uncompressed cache)
2019-12-27 23:12:16 +03:00
Megamouse
e54438d3a7
Qt: add plaintext log and more log options
2019-12-24 13:06:06 +01:00
Megamouse
e83dfedff9
stub cellRemotePlay and cellResc and cellStorage
2019-12-24 11:54:32 +01:00
Nekotekina
abe2cc196a
sys_net: fixup for race condition
...
Don't reset is_connecting without checking correctness.
Also cleanup dead WIN32 code.
2019-12-23 22:39:18 +03:00
RipleyTom
90e4fe23c5
WSAPoll workaround
2019-12-23 22:31:09 +03:00
Emmanuel Gil Peyrot
9b77febd10
RSX: Remove two empty cpp files
2019-12-23 00:02:57 +03:00
linkmauve
e9c5c6e6bf
Move input to its own directory ( #7126 )
2019-12-22 17:39:42 +01:00
Silent
f03cb5c9c0
Qt: Simplify custom titles and notes
...
By adding some code to notes/titles reading,
it is possible to leverage default value behaviour in QMap value()
which simplifies code a bit.
2019-12-22 15:54:04 +01:00
Eladash
c65bb0d267
Avoid shifting by greater/equal than max bits values in ppu_rotate_mask
2019-12-22 04:35:57 +03:00
Markus Stockhausen
a36f0497ce
Improve approximate xfloat
...
- Disable denormals for SPU threads
- Add clamping helpers
2019-12-22 01:26:34 +03:00
Nekotekina
3b46c9cb6a
SPU LLVM: use FMA with approx xfloat when available
...
Emulate FMA with double precision if unsupported natively.
2019-12-21 17:53:34 +03:00
Nekotekina
068450d4fe
CPUTranslator: detect FMA feature
2019-12-20 21:11:07 +03:00
kd-11
fff1007d9a
cmake: Fix vulkan on X11
2019-12-20 16:57:01 +03:00
Eladash
db4041e079
Implement rounded_div
...
Round-to-nearest integral based division, optimized for unsigned integral.
Used in sceNpTrophyGetGameProgress.
Do not allow signed values for aligned_div(), align().
2019-12-20 14:47:04 +03:00
Emmanuel Gil Peyrot
e30173a835
rsx: Make X11 optional on Linux
...
This makes it possible to build rpcs3 on a pure Wayland system, without
the Xlib installed.
2019-12-20 10:48:03 +00:00
Eladash
6dd4003154
Fix cellNetCtlNetStartDialogUnloadAsync
2019-12-20 10:20:32 +01:00
Silent
95f363c174
Qt: Look for custom game titles when filtering via Search
2019-12-20 00:19:13 +01:00
Megamouse
7fcef227af
sceNpTrophy: minor optimizations
2019-12-19 18:15:22 +01:00
Megamouse
6388c98073
Qt: add platinum relevance to trophy_manager_dialog
2019-12-18 15:41:15 +01:00
Megamouse
91ad3d371f
Qt: minor optimizations in trophy_manager_dialog
2019-12-18 15:41:15 +01:00
Eladash
8d955cfb8c
Hotfix sceNpTrophyGetTrophyUnlockState
2019-12-18 13:07:55 +01:00
Eladash
e380a8c279
Fix sceNpTrophyGetGameProgress ( #7103 )
...
* Fix sceNpTrophyGetGameProgress
Was missing multiplication by 100.
* apply requested changes
* Enforce round-to-nearest rounding mode
2019-12-17 22:43:00 +00:00
Eladash
3efd5f360c
PPU DisAsm: Again
2019-12-15 19:55:23 +03:00
Megamouse
725761f282
Qt: move firmware settings to the advanced tab
2019-12-14 15:15:49 +01:00
Megamouse
97fb08935e
Qt: Use QT_ENABLE_HIGHDPI_SCALING starting with Qt 5.14 ( #7090 )
...
* Qt: Use QT_ENABLE_HIGHDPI_SCALING starting with Qt 5.14
* Qt: Add QT_SCALE_FACTOR_ROUNDING_POLICY starting with Qt 5.14
* Qt: remove style path for Qt versions below 5.11 (5.11.0 is min version)
* Qt: Fix dpi-rounding cli arg
* Qt: use rounding policy PassThrough as default dpi scaling policy
* Qt: add missing Qt Version check (facepalm)
2019-12-14 12:48:34 +01:00
Jayveer
364ba95d26
Updated sys_net to use WSAPoll on win32 as this fixes connection issues
...
in Metal Gear Online. Also aligns with implementations on non win32
platforms
2019-12-13 21:52:29 +03:00
Nekotekina
321f7e7197
Fix missing-braces warnings
2019-12-13 03:21:43 +03:00
Nekotekina
69e81da57b
Fix some warnings
2019-12-13 02:08:52 +03:00
kd-11
73236efe58
vk: Remove some outdated code ( #7060 )
2019-12-12 16:29:55 +03:00
Eladash
6a926daee7
rsx: Delay FIFO recovery point creation if is in in_begin_end scope ( #7080 )
2019-12-12 15:38:56 +03:00
Megamouse
038694ae28
cellGem: add some explanatory comments
2019-12-10 23:20:13 +01:00
Megamouse
691c7cde67
cellGem: cleanup some spacings
2019-12-10 23:20:13 +01:00
Zangetsu38
af8ebc76e2
Modules/cellGem: Implement pos, quat and handle_pos in Gemstate for mouse.
...
Modules/cellGem: Fix name for gem_image_state.
Modules/cellGem: Implement projectiion(x/y) in gem_image_State for mouse.
Modules/cellGem: Add cross, triangle, circle and start with use middle click for mouse.
Modules/cellGem: Refactor global code.
Modules/cellGem: fix some warning with initializing value.
2019-12-10 23:20:13 +01:00
VelocityRa
ac2b0c9752
PSMove: Rudimentary mouse emulation.
2019-12-10 23:20:13 +01:00
Eladash
7260af032e
rsx: Ignore or recover from unknown primitives
...
This also fixes a bug when recovering FIFO or creating such recovery point inside in_begin_end == true scope.
2019-12-11 00:11:12 +03:00
Eladash
6a4ba9d562
Fix warning about truncation
2019-12-07 10:22:11 +01:00
Eladash
a5b3b0df40
sceNpBasicAddBlockListEntry: Add connection check
2019-12-07 10:22:11 +01:00
Eladash
963d5fb981
sceNpBasicAddPlayersHistory(Async) fixes
...
* Check if count == 0.
* u64 typos fixed.
* description won't be checked if null.
* Check each npid provided, not only the first.
2019-12-07 10:22:11 +01:00
Eladash
5142d7c011
Minor fixup after #7068
2019-12-06 19:59:29 +03:00
Eladash
5631382623
sys_spu: Fix SPU Thread Id
...
* Removed wrong code in sys_spu_thread_group_terminate.
* SPU Thread ID is accurate, including 5th thread id "rule".
* Fixed possible use-after-free access of spu_thread::group member.
* RawSPU ID management simplified.
2019-12-06 19:59:29 +03:00
Eladash
e050dcbc52
Move size write in cellGamePatchCheck
2019-12-05 23:31:46 +03:00
Eladash
98970884c8
Make sys_tty accurate in release console mode, message saving in log
2019-12-05 23:31:46 +03:00
Eladash
401813f962
Revert part of #7044
...
oops.
2019-12-05 23:31:46 +03:00
Eladash
a2c69e4a2e
sys_spu_thread_group_dis/connect_event Improvements
2019-12-05 23:31:46 +03:00
Nekotekina
835892aa51
C-style cast cleanup VII
2019-12-05 02:10:15 +03:00
Nekotekina
d2fd3c6bc4
Commit 377e7d2a73
2019-12-04 21:32:08 +03:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
kd-11
d973835bef
ds4: Cleanup
...
- Simplify helpers to read integers HID feature report buffers. They're
simple LE values.
- Improve calibration format detection by just checking the returned
values and not relying on bluetooth check. PS4 does not seem to do it
this way as it accepts 3rd party controllers with inverted format. The
only other request 0xA3 seems unrelated to device capabilities.
2019-12-04 13:48:39 +03:00
kd-11
6ae8fd0d34
ds4: Add workarounds for some 3rd party controllers
2019-12-04 13:48:39 +03:00
scribam
2eaaf5b132
vk: Add sampleRateShading to the list of device enabled features
2019-12-04 12:59:38 +03:00
Nekotekina
185c067d5b
C-style cast cleanup V
2019-12-03 17:23:00 +03:00
Megamouse
46ca39ec4d
Add Emu.HasGui() to properly hide Qt dialogs in no-gui mode
2019-12-03 09:12:51 +01:00
Megamouse
84f9911163
Qt: skip in-game Qt dialogs if no-gui was used
2019-12-03 07:59:10 +01:00
Megamouse
d73f04da13
cellSaveData: avoid nullptr if there is no dialog
2019-12-03 07:59:10 +01:00
Nekotekina
bf11a28fb5
C-style cast cleanup IV
2019-12-01 22:12:33 +03:00
Eladash
d45fbc331c
Fix error checking of cellGameContentPermit
2019-12-01 21:11:43 +03:00
Eladash
1a6e8e20dc
cellGameBootCheck Improvements
...
* size->sysSizeKB returns 4kb. (hw tested, unknown if in different situations this value changes)
* Return CELL_GAME_ERROR_BROKEN on failure to init. (hw tested)
* Write to dirName only when type is HDD game. (REd)
* Don't write to *size on errors, make it happen after *attributes and *type writes. (REd)
2019-12-01 21:11:43 +03:00
Eladash
37c220af72
Fix sceNpTrophyRegisterContext hack
2019-12-01 21:11:43 +03:00
Nekotekina
28eacc616a
C-style cast cleanup III
2019-12-01 00:32:44 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Nekotekina
5b9df53c13
C-style cast cleanup (partial)
...
Replace C-style casts with C++ casts.
2019-11-29 00:35:23 +03:00
Eladash
8bd52c9843
Fix sys_spu_thread_un/bind_queue queue existence check
2019-11-28 01:54:45 +03:00
Eladash
9cc3838e49
Fix possible division by zero in sys_spu_thread_write/read_ls
2019-11-28 01:54:45 +03:00
Eladash
b8220ec12f
Stub sys_spu_thread_group_log
2019-11-28 01:54:45 +03:00
Eladash
038c6bb234
Avoid calling lv2_obj::sleep sequantially in sceNpTrophyRegisterContext
...
Also fix a correctness issue with queued.
2019-11-27 21:41:40 +01:00
Eladash
3b06214f88
Decrease memory stats in cellGemInit if needed
...
Also:
* fix state reset of cellGem
* Check max_connect == 0 in cellGemInit
2019-11-27 21:41:40 +01:00
Megamouse
d91f8193b0
settings: enable dynamic reload of some emu values
2019-11-27 10:34:03 +01:00
Megamouse
f2b530823b
overlays: add dynamic switch for perf overlay
2019-11-27 10:34:03 +01:00
Eladash
b5f6b27f86
cellSysutilGetSystemParamString improvements
...
- Check bufsize, must match to max string length
- Add missing cases for ParamId 0x1008, 0x1011, 0x1012, 0x1024
- Set actual current username in buffer on id == ID_CURRENT_USERNAME
2019-11-26 20:21:33 +00:00
Nekotekina
2290c389d6
vm: implement vm::try_access, vm::ptr::try_read/write
2019-11-26 00:12:45 +03:00
Nekotekina
1b9a3e6077
SPU: internal refactoring, add spu_program
...
Use struct (spu_program) instead of std::vector<u32>.
2019-11-26 00:01:38 +03:00
Nekotekina
4caf747729
SPU LLVM: detect mpy32 pattern
2019-11-26 00:01:38 +03:00
scribam
f29709105f
cmake: Add post-build commands for Windows
2019-11-25 23:08:37 +03:00
Eladash
70ace4bb83
Fix cellAudioCreateNotifyEventQueue queue depth
...
TODO: global sdk value used is set in cellAudioInit, which means sdk var value is 0 before it's initialization, currently safely set queue size to 8 in this case.
2019-11-25 09:04:56 +00:00
Eladash
17ae70b935
Implement cellAudioCreateNotifyEventQueueEx
2019-11-25 09:04:56 +00:00
Eladash
40db205f5d
Fix cellVoiceCreatePort
2019-11-25 09:04:56 +00:00
Eladash
1233c48d92
cellAudio: Implement event source
2019-11-25 09:04:56 +00:00
Eladash
f4ac8a2e0c
cellVoice: Fix NOT_INIT checks, implement 0 event source handling
2019-11-25 09:04:56 +00:00
Eladash
c9066e7236
cellVoice Update
...
* Use shared lock wherever possible.
* Fix cellVoiceSetVolume.
* Fix error logging of cellVoiceCreateNotifyEventQueue, cellAudioCreateNotifyEventQueue
2019-11-25 09:04:56 +00:00
Eladash
fd433779bb
sys_prx: Tiny improvement
2019-11-25 09:04:56 +00:00
kd-11
8ca53f9c84
rsx: Remember to min-max the anchor indices of a polygon or triangle fan
2019-11-24 19:01:57 +03:00
kd-11
429a76a140
rsx: Remove redundant check
2019-11-23 16:11:18 +03:00
Nekotekina
f31233b822
sys_net: don't report SYS_NET_EWOULDBLOCK in blocking syscalls
2019-11-22 18:56:40 +03:00
Nekotekina
5c55d4f2fe
sys_net: format both negative and positive sys_net_error values
2019-11-22 18:56:13 +03:00
Eladash
6ad8b0a443
sys_net: Add error_code
2019-11-21 22:51:22 +03:00
Eladash
8d5ef2c7b9
Clamp volume in cellAudioAdd/2c/6c/Data
...
Same as firmware, NaN and Inf are flushed to zero.
2019-11-20 21:58:43 +03:00
Markus Stockhausen
cd6b6c8a4f
Lightweight putllc() for non-TSX if no data changed
...
This replaces the totally messed up PR #6728
Some games make heavy use of getllar() & putllc() without even changing data.
In this case avoid unneccesary heavy locking of the PPU threads on non-TSX
hosts.
2019-11-19 18:10:29 +03:00
Megamouse
223d1473b0
Qt: remove unused rsx debugger code
2019-11-19 16:04:03 +01:00
kd-11
41e7d2aa0a
rsx: Select correct image aspect for blit engine targets.
2019-11-19 13:18:15 +03:00
kd-11
fd751e3e7b
rsx: Improve blit format mismatch detection
2019-11-19 13:18:15 +03:00
kd-11
41c3180276
rsx: Fix invalid format checks for DMA sections which are typeless
2019-11-19 13:18:15 +03:00
Megamouse
2152a77005
HLE: stub cellCrossController some more
2019-11-18 23:42:49 +01:00
Megamouse
41505117a7
HLE: stub cellCelpEnc and cellCelp8Enc
2019-11-18 23:42:49 +01:00
Megamouse
ca59ab59e9
HLE: add even more error_code
2019-11-18 23:42:49 +01:00
kd-11
9dab0575fa
rsx: Add missing format check for the RTV<->DSV transfer case
...
- TODO: Rewrite resource handling routines
2019-11-18 13:17:00 +03:00
kd-11
4a0e1c79ed
rsx: Improve format validation for blit engine
...
- Check all possible cases where format mismatch is possible.
- Warn if a slow path is going to be taken. Should help with future
optimizations.
2019-11-18 13:17:00 +03:00
kd-11
c415578e79
vk: Clamp buffer row length to never be less than declared width
...
- Fixes some games with broken textures
2019-11-18 13:17:00 +03:00
kd-11
2408922806
rsx: Do not ignore clamping for some routines that do not have implied range
2019-11-18 13:17:00 +03:00
kd-11
c10aa360b1
rsx: Remove more deprecated methods
2019-11-18 13:17:00 +03:00
JohnHolmesII
e53be99e1a
Fix typo in update manager
2019-11-18 07:33:53 +01:00
Nekotekina
db4e201fee
SPU LLVM: use updateGlobalMapping instead of addGlobalMapping
...
...Where appropriate.
Fix to incorrect addGlobalMapping usage.
Also use clearAllGlobalMappings at compilation start.
2019-11-17 22:15:59 +03:00
Nekotekina
f30b81f8b0
SPU LLVM: change patchpoint name generation
...
Allow 2 or more patchpoint from a single address.
2019-11-17 22:07:08 +03:00
Niram7777
2de3c06781
Qt: Avoid Start/StopPlaytime when installing firmware.
2019-11-17 10:57:21 +01:00
Megamouse
9a8c59a1ff
Qt: rename pad_info to pad_device_info for ODR
2019-11-16 16:11:40 +01:00
Megamouse
0b28f0fa14
HLE: add more error_code
2019-11-16 10:38:56 +01:00
Eladash
0f2adab05f
Disallow NaN in cellVideoOutSetGamma
2019-11-16 11:21:10 +03:00
Eladash
610463a425
cellSysutilGetSystemParamInt(ID_PAD_RUMBLE) changed to return ON status
2019-11-15 20:17:51 +01:00
Eladash
da12969898
cellSysUtil: Add a few CELL_SYSUTIL_ERROR_VALUE checks
2019-11-15 20:17:51 +01:00
Eladash
894658f14c
cellSysutil: Log error code
2019-11-15 20:17:51 +01:00
Eladash
25382a7dae
Restore cellPadSetActDirect's reserved error check
2019-11-15 20:17:51 +01:00
Megamouse
a17a5a76a0
overlays: avoid division by zero
2019-11-15 14:53:18 +01:00
Megamouse
fb96047d2f
overlays: add settings for overlay graphs
2019-11-15 14:53:18 +01:00
Megamouse
dd1707bd46
overlays: fix center options when graphs are shown
2019-11-15 14:53:18 +01:00
Megamouse
d6b0361a02
overlays: perf_metrics_overlay to seperate header
...
this is done to prevent severe conflicts with upcoming changes
2019-11-15 14:53:18 +01:00
Megamouse
b84fd29abc
settings: fix performance overlay margin checkbox
2019-11-15 14:53:18 +01:00
Anuskuss
7e31c30133
Intel iGPU needs workaround on Windows
2019-11-15 12:08:16 +03:00
RipleyTom
8e39c778a1
Cheat engine
2019-11-13 00:53:31 +03:00
Nick Renieris
cc59d319e1
overlay: Performance graphs
2019-11-12 20:43:09 +01:00
Emmanuel Gil Peyrot
0ff5938b1f
Utilities: Remove unused headers
...
AtomicPtr.h has never been used since its introduction in
da7472fe81 .
Same for Interval.h, since 4fedf5749e .
event.h’s last usage got removed in
70e2873e69 .
2019-11-12 19:51:57 +03:00
Nekotekina
abbf3c4d16
SPU LLVM: add SPU profiling to compilation thread
...
Run another thread to collect profile data from SPU threads.
Use this data to prioritize compiling hot spot SPU blocks.
Implement stx::init_mutex::wait_for_initialized() helper.
2019-11-11 23:13:13 +03:00
Eladash
a21d7def33
SPU: Don't break blocks on DSYNC instruction in Safe mode ( #6731 )
2019-11-11 23:12:21 +03:00
kd-11
8234bdb8f0
vk: Check for heap change events after a grow to avoid spec violations
...
- Avoid referencing the old buffer in stale views. Status can be set
globally if requested during heap creation.
2019-11-10 17:53:12 +03:00
kd-11
5968427a2f
vk: Initialize queries before use
...
- The spec does not guarantee that queries are initialized. In fact, it
now says all queries must be reset before they are used for the first
time.
2019-11-10 17:53:12 +03:00
kd-11
8ea9bc9874
vk: Reduce memory allocation sizes of default heaps
...
- The heaps will grow as desired, no need to overallocate to cater to
the most resource-hungry games
2019-11-10 17:53:12 +03:00
kd-11
0a32d478df
vk: Enable auto-growing of the data heaps for the performance case
2019-11-10 17:53:12 +03:00
kd-11
357e0d2097
vk: Implement explicit runtime flags to manage events like heap sync
2019-11-10 17:53:12 +03:00
kd-11
f359342721
rsx: Implement mutable ring buffers with grow support
2019-11-10 17:53:12 +03:00
kd-11
5f39a594ac
rsx: Clean up some unused legacy methods unnecessary after d3d removal
2019-11-10 17:53:12 +03:00
Eladash
3f3ce53c67
Fix string length check in cellGameThemeInstall
...
vm::ptr::size() returns sizeof type instead.
2019-11-10 14:32:15 +03:00
Eladash
e8cc9d1f52
Loader: Fix default sdk version
...
Note: sdk version checks are unsigned checks, such value results in always true.
2019-11-10 14:32:15 +03:00
Eladash
1986944c61
Implement sysutil_check_name_string
...
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
Emmanuel Gil Peyrot
56f82d2701
rsx: Wrap gsl::span definition into Utilities/span.h
2019-11-09 20:00:50 +01:00
Emmanuel Gil Peyrot
f29fcc10cf
s/GSL/span/ in XML files too
...
This is completely untested, as I can’t run Visual Studio.
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
7e4d142682
Remove GSL as we don’t use it anymore
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
f76720ceb0
Remove extraneous ::narrow<int>() calls
...
GSL’s gsl::span didn’t use the correct type for its index_type, which is
why they were needed.
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
72cdf0b04c
Replace gsl::span’s implementation with tcbrindle’s
...
This implementation optimises correctly on all relevant compilers,
unlike GSL’s which gave extremely slow code on any compiler other than
MSVC.
Supersedes #6948 .
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
25144caf12
Add tcbrindle’s span implementation
2019-11-09 19:30:06 +01:00
Nekotekina
a83cbf63c6
Remove gsl::finally only use
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
ef368c5171
rsx: Replace gsl::byte with C++17’s std::byte
2019-11-09 19:30:05 +01:00
Nekotekina
6ea02c23a0
Fix SSSE3 usage in PPUInterpreter.cpp
...
Fixup
2019-11-09 20:39:56 +03:00
Nekotekina
1cca00ec3a
Fix SSSE3 usage in PPUThread.cpp
...
Remove legacy ifdefs, allow SSSE3 usage in AppImages.
2019-11-09 20:10:59 +03:00
Nekotekina
191675bf31
Remove gsl::finally only use
2019-11-09 19:11:01 +03:00
Nekotekina
0d629743ca
cellSysCache: poison opened cache files on cache clear
...
Make opened files return CELL_EIO after cache clear.
2019-11-09 14:50:41 +03:00
Nekotekina
73ee6abb0f
cellSysCache: return /dev_hdd1 root
...
It simplifies internal logic a little.
2019-11-09 14:43:19 +03:00
Nekotekina
e0bc276205
cellSysCache: keep mounted /dev_hdd1 after exitspawn
2019-11-09 14:43:19 +03:00
kd-11
7072489a6e
rsx: Implement point sprite coordinate generation
...
- When the point sprite flag is set, overrides the input similar to the
2D mask. The returned X and Y values are always the gl_PointCoord values
for the fragment.
- Stacks with the 2D mask to override the z and w coordinates.
2019-11-09 12:50:53 +03:00
Nekotekina
81c61e230f
Use std::from_chars in Emulator::SetUsr
2019-11-08 19:27:11 +03:00
Nekotekina
ccac9d4777
Remove throwing and catching cpu_flag::stop
...
Since there is spu_runtime::g_escape function now.
2019-11-08 19:27:11 +03:00
Nekotekina
e74a311931
GDB: remove wrong_checksum_exception
2019-11-08 19:27:11 +03:00
Nekotekina
587ae17aa2
Simplify fmt::throw_exception
...
Gradual exception deprecation: disallow choosing exception type.
However, the function itself can remain here forever.
2019-11-08 19:27:11 +03:00
Nekotekina
742bd633d8
Remove fs::file::set_delete
...
Since it's Windows-only functionality with limited use.
2019-11-08 19:27:11 +03:00
Nekotekina
d6087978b5
Fix vfs::host::unlink (Win32)
...
Use fs::get_virtual_device properly.
2019-11-08 19:27:11 +03:00
kd-11
63673b1a9f
rsx: Implement full color remap for the D24S8->ARGB8 converter
2019-11-08 19:11:59 +03:00
Nekotekina
24fdd24808
Fix vfs::host::remove_all
...
Separate WIN32-specific logic.
Don't call fs::remove_all on WIN32 path.
2019-11-07 21:21:21 +03:00
RipleyTom
4ff6acf6ba
Fixes evdev settings & multiple pads handling
2019-11-07 15:02:01 +03:00
Eladash
af0bd7136d
PPU Disasm: Fix RC OE enabled instructions view
2019-11-07 14:09:23 +03:00
kd-11
8d1505752f
rsx: Validate depth test setup to avoid address contention
2019-11-07 11:32:44 +03:00
Megamouse
77ac875b0b
Qt: adjust custom context menu positions
2019-11-06 19:26:29 +01:00
Nekotekina
03b9ee27c5
Virtualize cellSysCache
...
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
kd-11
508ffcb775
vk: Compute kernel fixups
...
- Adhere to workgroup count limits as exposed by the GPU vendor.
They already execute properly even when going beyond the limits but this removes validation noise.
- Fix invocation counts for deswizzle kernel. The count was incorrect if blocksize was not 4, causing a bunch of useless work to be done.
2019-11-05 22:07:22 +03:00
kd-11
99d71fdc2a
vk: Implement layer batching for the GPU swizzle decoder
...
- Handles all LODs per layer meaning cubemaps are now fully handled in 6 passes instead of 6 * (log2(width)) passes.
- Handles all LODs of a 3D texture in one pass as well.
- The improvements do warrant dropping down the number of allowed compute invocations a bit
2019-11-05 22:07:22 +03:00
kd-11
7a0b94f343
vk: Minor compute optimizations
...
- Remove use of uniform buffers for compute static data. Use push
constants instead.
- Minor touchups to the deswizzle code to avoid redundant data copies.
2019-11-05 22:07:22 +03:00
kd-11
1266b63135
vk: Enable gpu deswizzling
2019-11-05 22:07:22 +03:00
kd-11
9cd3530c98
rsx: Set up framework for hw deswizzle
2019-11-05 22:07:22 +03:00
Nekotekina
531afe0f97
atomic2: fix pessimisations
2019-11-04 22:53:26 +03:00
Nekotekina
ec25deed2b
atomic2: fix corruption bug
2019-11-04 22:52:45 +03:00
Nekotekina
be306afae9
atomic2: add TSX path for multi_cas
2019-11-04 22:52:24 +03:00
Nekotekina
1f9250e39a
Linux: disable update check at startup if not running from AppImage
2019-11-04 22:52:03 +03:00
Nekotekina
da135fbfcc
SPU LLVM: Disable "special" branch patchpoints
2019-11-04 22:52:03 +03:00
kd-11
57d3c9e171
rsx: Take empty queries into account for engines that spam report reads.
...
- Some games will spam the report queue with requests but have zpass
statistics enabled.
2019-11-04 18:48:41 +03:00
kd-11
2a8f2c64d2
rsx: Implement report transfer deferring
...
- Allow delaying report flushes triggered by image_in or buffer_notify
- When the report is ready, all the delayed transfers will automatically
be done.
- TODO: Make this configurable?
2019-11-04 18:48:41 +03:00
kd-11
3e0f9dff4d
vk: Improve zcull synchronization
...
- Use zcull sync hints more aggressively
2019-11-04 18:48:41 +03:00
kd-11
fe3c290d03
vk: Reimplement occlusion result reading
...
- Implement partial result reads
2019-11-04 18:48:41 +03:00
kd-11
51e0eaaddc
rsx: Implement backend notification for upcoming zcull reads
2019-11-04 18:48:41 +03:00
kd-11
df63de8f16
rsx: Allow u32 restart index with full index width
2019-11-04 16:56:34 +03:00
kd-11
6b3af09fa5
vk: Improved crash message for missing MSAA features
2019-11-04 16:56:34 +03:00
ipkpjersi
8ed45a0553
Qt: Fixed plurals of time played strings ( #6937 )
2019-11-03 21:22:23 +01:00
Silent
e1638b9326
Fix context menu showing twice in Game List
2019-11-03 20:13:20 +01:00
Eladash
7475be99ab
lv2: Check ipc_key value if object is process shared
2019-11-03 14:59:47 +03:00
eladash
33fe0fdd6b
Add missng check for key in cellAudioSetNotifyEventQueue
...
key is checked once according to hw test.
2019-11-03 14:59:47 +03:00
Megamouse
3be92ec52b
Qt: implement time played and last played
2019-11-02 12:48:12 +01:00
RipleyTom
35c0c05707
Stop autoupdater renaming file across devices
2019-11-02 12:31:38 +03:00
Nekotekina
f75661bfae
Fix ALSA and PULSE building on Linux (workaround)
2019-11-01 20:41:16 +03:00
Nekotekina
35249d2578
Implement multi_cas with atomic2 type
...
stx::atomic2 is a "fat atomic" for use with multi_cas.
stx::multi_cas is minimal transaction routine.
2019-11-01 20:41:16 +03:00
kd-11
bbed791ee0
vk: Add explicit support for identity image views
...
- Allows bypassing all remap shenanigans to make some operations that
rely on the raw image to work correctly.
2019-11-01 19:35:46 +03:00