kd-11
7fe9802f87
vk: Properly use declared pitch when loading simple images
2020-03-01 00:16:52 +03:00
kd-11
14aebeac58
video-out: Allow applications to successfully change display resolution
...
- Avoids a situation where a game configures output correctly but gets back bogus information later when querying.
- Should fix games being broken at some resolutions but not others.
2020-03-01 00:16:52 +03:00
kd-11
76bbbe27f1
vk: Fix dma resource leak
...
- Fix broken check; a relic of the past where flush method would reset the fence
2020-03-01 00:16:02 +03:00
kd-11
9af52d12a8
vk: Improve events
...
- Make events properly managed objects.
- Add a workaround for AMD's broken event status query
2020-03-01 00:16:02 +03:00
kd-11
5eb314fbbb
vk: Add execution barriers.
...
- Useful for debugging
2020-03-01 00:16:02 +03:00
Eladash
655f7ce8a2
cellSaveData: Add null funcStat check
...
it's ordered specially for some functions
2020-03-01 00:14:45 +03:00
Eladash
c11074a128
RawSPU: fix race condition in RunCntl stop request
2020-02-29 21:54:54 +03:00
InvoxiPlayGames
ef6854ca46
sys_usbd: Guitar Hero Live controller emulation ( #7336 )
...
* Initial GHLtar emulation
* Add GHLtar to CMakeLists and VS project, zero the buffer and remove unused header values
* Fix coding style issues and include headers
* Remove redundant if, improve code formatting
* Remove needless includes
Co-authored-by: Ivan <Nekotekina@users.noreply.github.com>
2020-02-29 21:40:44 +03:00
MSuih
94478ad4a0
Add error for missing firmware
2020-02-29 21:19:01 +03:00
Nekotekina
e28e51463b
Compilation fix
...
Should fix #7642
2020-02-29 21:16:28 +03:00
Eladash
50f51be06a
Improve sys_timer_get_information ( #7638 )
...
* Improve sys_timer_get_information
* sys_timer_disconnect_event_queue sets STATE_STOP regardless of port connection status.
* sys_timer_get_information sets 0 for period and next_expire if the timer is stopped.
* Fix two minor races in lv2_timer thread
* If the timer thread is about to fire an event of queue x, then another thread disconnects the queue, then restarts the timer and connects the event queue, then the timer thread sends an event - event data combination (source, data1, data2, next) may be inaccurate.
* If the timer thread is about to send an event (periodically), then another thread stops the timer and starts it again with sys_timer_start_periodic_absolute, timer.expire in info->timer_state in sys_timer_get_information may be inaccurate.
2020-02-29 17:15:25 +03:00
Nekotekina
8e5a03f171
Use named_thread_group in rsx_cache.h
2020-02-29 16:55:25 +03:00
Nekotekina
f72971f19f
Implement named_thread_group
2020-02-29 16:55:25 +03:00
kd-11
eb140c52a4
rsx: Reset ZCULL statistics at the end of a frame
...
- Workaround for games that leak zpass/zstats.
The information is useless anyway without a clear op so it should be fine.
2020-02-29 14:23:52 +03:00
kd-11
198c84cabf
rsx: Fix zcull clear command; do not clear ZPASS when ZSTATS is cleared.
2020-02-29 14:23:52 +03:00
Eladash
5a73943be6
Fix sys_timer_destroy
...
Also some cleanup.
2020-02-29 13:06:14 +03:00
Eladash
34a0c3f488
cellSaveData: Add error param 72, 73 checks for file write ops
2020-02-29 13:06:14 +03:00
Eladash
8762f2a588
Use more starts_with
2020-02-29 13:06:14 +03:00
Eladash
d7dd4897f8
Allow 0x30000000 > addr >= 0x2000000 ppu loader exec allocations (workaround)
2020-02-29 13:06:14 +03:00
Nekotekina
a84077f174
sys_ss: use BCryptGenRandom on Win32
2020-02-29 12:15:42 +03:00
kd-11
08f3460365
vk: Fixup for RCB/RDB in special cases
...
- Images must be in TRANSFER_DST_OPTIMAL or GENERAL layouts to call the image upload routines.
2020-02-29 12:13:11 +03:00
Nekotekina
be0e4e9879
Move Progress Dialog Server to named_thread
...
Make it a global variable, but that can be actually destructed at exit.
2020-02-28 21:59:56 +03:00
Nekotekina
799c3f9708
Remove global thread counter (again)
...
Seems fine without it now.
2020-02-28 21:50:19 +03:00
Nekotekina
490f58ff3c
Try to purge thread_state::detached
...
It's rarely necessary, but can cause unexpected problems.
2020-02-28 21:11:13 +03:00
kd-11
cb047fcc75
rsx: Disable zstat checks to avoid unnecessary stream splitting ( #7624 )
2020-02-28 20:27:31 +03:00
Nekotekina
ac2581659a
RSXOffload: fix dma_manager::sync() freeze on exit
...
Its logic was completely broken.
2020-02-28 19:55:43 +03:00
Nekotekina
f335d034fc
Fix RSX Offloader thread exit (MTRSX fix)
...
Hangs on exit if MTRSX is enabled.
2020-02-28 19:43:42 +03:00
Eladash
05bb6e1545
Improve sceNpDrmVerifyUpgradeLicense(2), sceNpDrmIsAvailable(2)
...
* sceNpDrmVerifyUpgradeLicense(2): copied string from content_id is 47 chars in length at max, is no null term was found it forces string termiation.
* sceNpDrmIsAvailable(2): Same with drm path just that it's 256 chars at max.
2020-02-28 19:10:39 +03:00
Nekotekina
65eeee0f4c
Remove cancerous lf_value<>
...
Replace thread names (generic, PPU, SPU) with new shared pointers.
Devirtualize cpu_thread::get_name (used in single case).
2020-02-28 18:54:46 +03:00
Eladash
30f7c81cc5
cellSaveData: Implement/Fix param error 22 for funcFile, funcDone, funcFixed and funcList
2020-02-28 16:47:51 +01:00
Nekotekina
4474757162
fixed_typemap.hpp: remove <algorithm> dep in header
...
Create fixed_typemap.cpp
2020-02-28 00:04:37 +03:00
Nekotekina
bacd1698fc
fixed_typemap.hpp: minor cleanup
2020-02-27 23:04:23 +03:00
Ivan
e133c7a7dc
Merge pull request #7506 from elad335/patch-1
...
PPU exec/ovlm ldr: restrict allocations
2020-02-27 22:55:30 +03:00
Eladash
0eabfdcadd
cellSavedata: reset padding of g_savedata_context
2020-02-27 22:31:31 +03:00
Eladash
d86241bbcd
cellSaveData: reset fileSet and fileGet->reserved everytime
2020-02-27 22:31:31 +03:00
Eladash
42a0512c66
cellSaveData: Avoid passing vm pointer to native API
2020-02-27 22:31:31 +03:00
Eladash
556aba46b5
cellSaveData: do not fail on empty directory
2020-02-27 22:31:31 +03:00
Nekotekina
ecd68dfc70
overlays: add "thread bits" to wait on and avoid lockup
...
Add TLS variable to store its own bit.
2020-02-27 19:14:08 +03:00
Nekotekina
f71cdb4eb8
g_fxo: implement logging for object creation/destruction.
...
Only logged at automated phase for initial/final processing.
2020-02-27 13:04:12 +03:00
Megamouse
ee46ad1ca9
move overlays code to headers
2020-02-26 23:43:18 +01:00
gamerforEA
762c106e19
sys_prx_.cpp: Fix RAII locks usage (without local variables they destroyed immediately after construction)
2020-02-27 00:38:55 +03:00
gamerforEA
93552a5958
Apply some Clang-Tidy fixes
2020-02-27 00:38:55 +03:00
gamerforEA
c0fbf3091e
Remove unnamed namespaces from headers
2020-02-27 00:38:55 +03:00
gamerforEA
49294a3dd2
Add missing include guards
2020-02-27 00:38:55 +03:00
Nekotekina
5094ab8283
Fix RSX Offloader thread name
2020-02-26 21:57:01 +03:00
Nekotekina
e102dc2a94
Add message on exit if some thread are still waiting
2020-02-26 21:23:30 +03:00
Nekotekina
5e59f18720
fixed_typemap: implement need<> method
...
It may be used in constructors of other objects to assert a dependency.
It also helps to ensure reverse destruction order of that dependency.
2020-02-26 21:23:30 +03:00
Nekotekina
b35a5982e8
Fix one bug with MsgDialog thread (freeze on exit)
...
Forgot to check thread state
2020-02-26 21:23:30 +03:00
Eladash
4d3cdca7f6
Stub sys_spu_thread_group_set_cooperative_victims and syscall_253
2020-02-26 18:17:13 +00:00
Eladash
0d4f8ca234
fs: Make fs::get_dir_size able to report an error
2020-02-26 18:17:13 +00:00
kd-11
569e1c2df6
rsx: Fix typo. Noted by github user @gamerforEA
2020-02-26 19:40:35 +03:00
kd-11
6e9392fb45
rsx: Restructure ZCULL query triggers
...
- Both ZCULL stats and ZPASS stats require hardware queries, but
ZCULL stats should not contribute to ZPASS stats and vice versa!
- Disables hardware queries for ZCULL stats by themselves, we cannot
generate them correctly anyway and no game so far has been found to
actually use them. Should lessen the load on the backend for games
that do not actually require it.
2020-02-26 19:40:35 +03:00
Nekotekina
df1813b4e2
overlays: hotfix for waiting on thread_count
2020-02-25 23:43:05 +03:00
Nekotekina
ff16e678a5
Add thread_count instead of former thread pool
2020-02-25 23:16:55 +03:00
Nekotekina
982856e70d
overlays: remove unused threadpool
2020-02-25 22:56:50 +03:00
Nekotekina
144c20649f
Try to fix msg dialog breakage
2020-02-25 22:50:44 +03:00
Megamouse
e719bcf338
overlays: add layer modes to osk
2020-02-25 21:57:49 +03:00
Megamouse
3f4226b70e
overlays: Fix find and replace regression
2020-02-25 21:57:49 +03:00
Megamouse
620cfd5063
overlays: move code to overlay_utils.cpp
2020-02-25 21:57:49 +03:00
Megamouse
2341749485
overlays: add overlay_osk.h
2020-02-25 21:57:49 +03:00
MSuih
33abcf74f2
Add information about boot process
2020-02-25 19:42:20 +03:00
Nekotekina
b59bb16fad
Threads: removed outdated on_abort detection deemed unnecessary
...
May cause regressions.
2020-02-25 15:48:25 +03:00
Nekotekina
9c9c2eb2c9
Fix wrong g_fxo->init_crtp name, use just init<>
2020-02-25 14:07:50 +03:00
Nekotekina
318a364d09
Try to fix OSK
2020-02-25 14:03:13 +03:00
Nekotekina
fa02a04baa
Add g_fxo->init_crtp to simplify thread construction
2020-02-25 11:51:41 +03:00
Nekotekina
7eebe06931
Restore thread counter (world may be not ready yet)
...
Remove dumb 1300ms timeout.
2020-02-25 11:51:19 +03:00
kd-11
cd40bc8c61
overlays: Avoid race condition between rendering and layout operations for system widgets
...
- System widgets are callable from outside RSX code.
- Responding to draw requests while setup is in progress can cause malformed cached output
- Fixes glitched layouts for system message dialogs
2020-02-24 23:33:47 +03:00
kd-11
f6ebd88687
overlays: Ditch wstring for u32string
...
- Turns out wstring is not the same as u32string on windows.
2020-02-24 23:33:47 +03:00
Megamouse
f7666f44da
Untangle GUI and input includes
2020-02-24 16:31:01 +01:00
Megamouse
7b49249f5f
Input: Add config lerp factor for buttons and triggers
...
Adds new lerp factors to the keyboard pad handler In order to simulate triggers and analog buttons.
See "Analog Button Lerp Factor" and "Trigger Lerp Factor" in the yml in InputConfigs/Keyboard/.
Values Range from 0-100 as before, where 100 is instant press and 0 is never.
Currently I'm not planning any GUI element for this.
2020-02-24 08:56:57 +01:00
Megamouse
64ed2f1151
Input: use std::lerp instead of lerp template
2020-02-24 08:56:57 +01:00
Megamouse
17f335648c
Input: misc updates to some functions in PadHandler
2020-02-24 08:56:57 +01:00
Nekotekina
1dc2eb1cc8
Avoid deprecated av_register_all with version check.
2020-02-23 20:58:02 +03:00
Emmanuel Gil Peyrot
1a702de9e4
cellVdec: replace deprecated ffmpeg function
...
avcodec_decode_video2() is deprecated, now replaced with
avcodec_send_packet() and avcodec_receive_frame().
2020-02-23 20:21:59 +03:00
Nekotekina
f1241c572c
Fix some deprecation warnings (plunder cellAdec btw)
2020-02-23 20:21:59 +03:00
Eladash
522daf5eac
rsx: Fix NULL renderer
2020-02-23 19:57:55 +03:00
Nekotekina
8b4b859091
Remove "thread_ctrl::spawn"
2020-02-23 15:03:38 +03:00
Nekotekina
18db020b93
Fix warning in RSXOffload.cpp (rewrite thread)
2020-02-23 14:19:23 +03:00
Nekotekina
7069e7265f
RSX: move g_dma_manager to g_fxo
2020-02-23 13:12:50 +03:00
JohnHolmesII
758902382d
AudioBackend.cpp: Implicit enum to float conversions are deprecated
2020-02-23 09:38:04 +03:00
JohnHolmesII
9b7d28b5dd
cellSaveData.cpp: Use ref instead of copy
2020-02-23 09:38:04 +03:00
JohnHolmesII
479a64c4e8
Remove some inline compiler pragmas
2020-02-23 09:38:04 +03:00
Nekotekina
2bab3afae0
Fix deprecation warning in System.cpp
2020-02-22 19:41:03 +03:00
AniLeo
fa3fde7a29
hle: Fix cellAvconfExt function registrations
...
Co-authored-by: Clienthax <clienthax@gmail.com>
2020-02-22 17:27:58 +03:00
AniLeo
3aa293a7a3
hle: cellAuthDialog
...
Basic RE of cellAuthDialog, stubs functions
2020-02-22 16:03:14 +03:00
Nekotekina
96be40bf30
Implement cellMsgDialog closing thread
...
Fixing deprecation warning.
2020-02-22 15:17:02 +03:00
kd-11
fa41297b27
overlays/trophy: Migrate to multibyte strings
2020-02-22 15:07:14 +03:00
kd-11
b8f51398b7
overlays/save_dialog: Migrate to multibyte strings
2020-02-22 15:07:14 +03:00
kd-11
cb2129c7e4
overlays/osk: Migrate to multibyte encoding
2020-02-22 15:07:14 +03:00
kd-11
703ec9f896
overlays: More unicode utilities
2020-02-22 15:07:14 +03:00
kd-11
19350d024b
overlays: Font system improvements
...
- Add support for Hangul blocks (korean)
- Restructure font fallback system to allow the user to 'install' fonts if missing.
Should allow fonts to work with no firmware on open systems like linux
2020-02-22 15:07:14 +03:00
kd-11
8e68427daf
overlays: Add basic font substitution system and separate JPN from Latin-1 set
...
- Gets JP glyphs to render correctly, but the generalization may negatively affect other CJK glyph sets.
PS3 doesn't seem to use other glyph sets much however.
2020-02-22 15:07:14 +03:00
kd-11
6220206cbc
vk: Implement 2D array textures required for new font subsystem
2020-02-22 15:07:14 +03:00
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
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
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
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
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
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
Nekotekina
244e74ebe2
Try to ignore some annoying warning (seems CIB)
2020-02-17 20:56:03 +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
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
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
Eladash
299af768e8
HLE cellGcmSys: Make cellGcmAddressToOffset accurate
2020-02-15 14:07:52 +03:00
Eladash
04e0bf2eff
Whitespace fix after #7087
...
Was this close to enter programmers' hell.
2020-02-15 11:37:13 +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
RipleyTom
98f91457bf
Small sys_usbd changes
2020-02-10 21:47:48 +03: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
4bc431ec31
Silence deprecation warning (implicit capture of this on [=])
2020-02-10 14:47:12 +03:00
Eladash
80eff58950
cellAudio: Implement cellAudioSet/RemoveNotifyEventQueueEx
2020-02-09 12:31:55 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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