Eladash
493e57837b
SPU: Fix extremely rare bug of GETLLAR ( #9011 )
2020-10-03 09:31:28 +01:00
Nekotekina
ee00fdb61b
fs: improve handling root mountpoint
...
Path such as simply "/" falls into this category.
2020-10-02 14:37:58 +03:00
Nekotekina
9b22661c19
fs: improve mountpoint detection
...
Properly handle . and .. path components in mountpoint detection.
Remove app_home mountpoint and use mountpoint from argv[0] instead.
Add dev_root mountpoint for special purposes.
2020-10-02 12:32:35 +03:00
Nekotekina
0ac3dbfec9
Improve Trophy Installer robustness
...
Relax paranoidal mount point locking and temp dir creation mechanism.
It was incompatible with a setup where user directory is symlinked.
Instead, create temp dir as close to target as possible (see savedata).
2020-10-01 22:00:57 +03:00
Eladash
56cebd99c2
SPU: Simplify logging of MFC commands ( #9004 )
2020-10-01 19:52:39 +03:00
Eladash
04c3d8d1bb
Set max PPU threads to 100
2020-10-01 19:51:56 +03:00
Eladash
7fdf3dd760
cellSpurs: Add CellSpursJobOpcode definitions
2020-10-01 18:16:13 +03:00
Eladash
1f28bee86a
cellSpurs: Add error codes formatting (unused)
2020-10-01 18:16:13 +03:00
Eladash
aed560b630
Implemnt various HLE CellSpurs functions
2020-10-01 18:16:13 +03:00
Eladash
871b15f6e1
PPU: fixup for Accurate 128-byte reservations ( #8998 )
2020-10-01 18:15:07 +03:00
Megamouse
5226076676
Emu: use vulkan as default renderer
2020-10-01 09:19:13 +02:00
Megamouse
531eb04fd7
cellGameSetParamString: fix string sizes
2020-09-29 08:44:25 +02:00
Eladash
f4ca6f02a1
PPU: Implement support for 128-byte reservations coherency
2020-09-28 22:34:42 +03:00
Eladash
3f7eba19c8
PPU: Upgrade reservations to 8-byte always
2020-09-28 22:34:42 +03:00
kd-11
04ff7913b4
rsx/codegen: Workaround for borked hardware
...
- Bitwise or does not evaluate correctly for some hardware.
Substitute with subtraction instead.
2020-09-28 22:18:36 +03:00
Eladash
09cddc84be
SPU/PPU: Implement Atomic Cache Line Stores
2020-09-27 20:09:21 +03:00
kd-11
9baef8c705
rsx: Emit simpler fragment program code
...
- Optimize clamp16
- Use bfe instead of shift-and
2020-09-27 18:56:04 +03:00
kd-11
a14a358b73
rsx: Optimize vertex decoder to generate simpler code
...
- Significantly improves compilation speed by simplifying most of the code and doing something similar to LICM.
* Actual decoding is now vectorized and performed in one step rather than in a loop.
* Switches inside loops are removed and replaced with simple comparison. Generates much nicer (and smaller) GCN bytecode.
2020-09-27 18:56:04 +03:00
kd-11
259844f4f3
vk: Disable spirv optimizer
...
- I've not found it to be very useful and it just breaks good code right now.
TODO: Re-enable when things improve.
2020-09-27 18:56:04 +03:00
Eladash
53c8ed6a63
vm: Fix stack memory release, always reset memory flags
2020-09-26 21:48:12 +03:00
Eladash
f22348a9f9
sys_memory: Improve sys_memory_get_page_attribute for stack
2020-09-26 21:48:12 +03:00
Eladash
83d71519e0
Implement HLE sys_config stack allocation
2020-09-26 21:48:12 +03:00
Eladash
0f67c68993
sys_mmapper: return ENOMEM on memory greater than UINT32_MAX ( #8982 )
2020-09-26 18:06:06 +01:00
Eladash
b79d236bfa
cellSearch: use std::hash ( #8981 )
2020-09-26 17:28:19 +01:00
Eladash
3b11f22062
MSVC bug workaround
2020-09-25 13:26:08 +03:00
Eladash
6164b3d2e2
Compilation fix
2020-09-24 21:00:23 +03:00
Eladash
c806da51f8
Implement cellGameDeleteGameData ( #8962 )
2020-09-24 20:13:19 +03:00
Eladash
183aa31319
cellSysCache: Global hdd1 lock
...
Take advantage of recursive locking.
2020-09-24 18:06:51 +03:00
Eladash
7b3c0a69f3
kernel-explorer: Implement Filesystem Destcriptors information
2020-09-24 18:06:51 +03:00
Eladash
b8fa6fb4c4
Win32 FS: Rewrite (fix) vfs::host::rename
2020-09-24 18:06:51 +03:00
kd-11
9ea478008c
vk: Properly initialize float64 support for SPIRV
2020-09-24 01:30:21 +03:00
Bevan Weiss
20f1eb865b
Update rpcs3/Emu/system_config.h
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2020-09-23 21:15:45 +02:00
Bevan Weiss
53212ba7a9
Core: Add date/time offset capability for console time
...
Provides a setting which can be applied per game, and allows for a custom date/time to be set.
The console time will then apply this as an offset to the computer wallclock.
This allows for games which look at the console time to determine their gameplay to be adjusted.
2020-09-23 21:15:45 +02:00
Eladash
3372409590
cellGameContentPermit: Fix missing PARAM.SFO writeback ( #8934 )
2020-09-23 20:35:06 +03:00
Morgan Creekmore
4fe2951509
Fixed formatting
2020-09-23 20:27:30 +03:00
Morgan Creekmore
ff8a94714f
Add additional NV4097 methods to gcm_printing
2020-09-23 20:27:30 +03:00
Morgan Creekmore
b45d6fee2d
Fix methods_name indentation
2020-09-23 20:27:30 +03:00
Morgan Creekmore
f44e696edf
Added missing NV methods for gcm_printing
2020-09-23 20:27:30 +03:00
Eladash
5a049322ed
HLE: Always return empty paths if game content does not exist in cellGameContentPermit
2020-09-23 20:24:21 +03:00
Eladash
bfa78870cb
SPU: Fix unregistered channels in RCHCNT
...
Shouldn't throw exception on realhw.
2020-09-22 19:47:47 +03:00
Eladash
ad37259ccc
SPU: Implement many missing channel counts
2020-09-22 19:47:47 +03:00
Eladash
418968d974
sceNpTrophy: Add logging of commSign
2020-09-22 19:46:52 +03:00
Eladash
89905bc1c4
sceNpTrophyRegisterContext: Implement SCE_NP_TROPHY_STATUS_NOT_INSTALLED
2020-09-22 19:46:52 +03:00
Eladash
3a96d99187
sceNpTrophyRegisterContext: Atomically create trophy data
2020-09-22 19:46:52 +03:00
kd-11
a50ea09053
rsx: Properly pass format_class information during RTV/DSV resource barrier
...
- Also takes the opportunity to remove repeating code in a minor refactor.
2020-09-22 12:19:54 +03:00
kd-11
d012abd924
vk: Improve image transfer and scaling
...
- Handle typeless src and dst with aliased typeless format
- Optimize typeless transfers by only dealing with affected texels.
* Eliminates redundant dst->typeless transfer of full image (very expensive)
* Eliminates full src->typeless transfer of full image and replaces with only affected region
* Requires significantly smaller output buffers, saving on VRAM cost
2020-09-22 12:19:54 +03:00
kd-11
7ed82c0791
rsx: Always force typeless copy if memory is crossing aspect boundary
2020-09-22 12:19:54 +03:00
Eladash
cf61198fe3
HLE: Implement ERROR_BROKEN in cellGameDataCheck ( #8945 )
2020-09-22 10:30:31 +02:00
Megamouse
5d50602397
Qt/Input: fix default pad handler
...
We accidentally always saved keyboard to Player 1 if null was selected.
The new code will only apply keyboard by default if the config file was not found.
2020-09-22 06:59:38 +02:00
Megamouse
0b42cf06f8
sceNpTrophyCreateContext: improve commId logging
2020-09-21 15:32:02 +02:00
Megamouse
4c4be331f5
HLE: Fix sceNpTrophyCreateContext
...
fixes #7431 Soldner-X
Assuming that a SceNpCommunicationId should have a format like "TEST12345", then there is no need to delete termination characters after we already created a truncated string with 9 characters + null terminator.
The current behaviour does not work at all, because in case that we actually have a non-null termination character, deleteTerminateChar will step over the last x chars in the already truncated ID until it forcefully finds a character of its liking. eg. term='2': "TEST12345" => "TEST1" => "TEST1_00"
2020-09-21 15:32:02 +02:00
Megamouse
511e9920c2
patch_engine: Apply patch when APP_VER is unknown
2020-09-21 11:59:57 +02:00
Eladash
75c3fdcb6f
Fix cellGameBootCheck PARAM.SFO reads
2020-09-21 06:36:34 +03:00
Eladash
5ac6f090fc
Fix cellGamePatchCheck ( #8933 )
2020-09-19 19:38:22 +01:00
Eladash
0d183a24be
cellFs: Rewrite cellFsGetFreeSize
2020-09-19 13:53:04 +01:00
Eladash
a21790b992
sys_fs: Fix sys_fs_disk_free
2020-09-19 13:53:04 +01:00
Eladash
762ceaf87e
sys_fs: Do not expose real hard drive available space!!!!!!!!!!!!!
2020-09-19 13:53:04 +01:00
Eladash
2620a51cc9
cellSaveData: Minor fix
2020-09-19 13:53:04 +01:00
Eladash
f1e8739608
Always reset size in cellGameGetSizeKB
...
Reversed.
2020-09-19 13:53:04 +01:00
Eladash
b31a0115b2
cellFsStat Improvements
2020-09-19 13:53:04 +01:00
Eladash
ed032dc985
cellGame: Improvements
2020-09-19 13:53:04 +01:00
Eladash
c436ef0c6f
SPU: Implement channels 70, 71, add naming for channel 69 ( #8932 )
2020-09-19 13:08:35 +01:00
kd-11
9db97278f3
rsx: Lower error message to warning
...
- Mismatched texture handling is a TODO that will be handled with texturing rewrites
2020-09-19 01:55:59 +03:00
kd-11
d3898fda57
rsx: Release misconfigured texture memory before attempting reupload
2020-09-19 01:55:59 +03:00
eladash
36ac68b436
SPU: Implement events channel count, minor interrupts fixes
2020-09-18 21:57:24 +03:00
kd-11
7900780cea
vk: Fix nul section crash due to unexpected format (B8)
2020-09-16 20:14:44 +03:00
kd-11
92d65ff3c2
rsx: Add support for mixed data types when sampling shadow coordinates
2020-09-15 17:37:52 +03:00
Eladash
a52a16807f
PPU: Use SEQ-CST memory barrier in reservation load
2020-09-15 11:20:17 +02:00
Megamouse
f84697ad5c
move localized_string_id to own file
...
I dont know if there was a circular dependency issue
2020-09-14 18:24:18 +02:00
Megamouse
a2da187615
HLE: localize most - if not all - exposed strings
2020-09-14 18:24:18 +02:00
Megamouse
d0ffbbfc4d
Qt/overlays: use Argument list for translatable strings
...
This is somewhat crippled for now. It only takes a single argument in the callback
2020-09-14 18:24:18 +02:00
Megamouse
460a933267
Qt/overlays: Localize most rsx overlays
2020-09-14 18:24:18 +02:00
Eladash
3206378ae6
sys_spu: Fix overexecution of cpu_return()
2020-09-12 22:11:40 +03:00
Eladash
7ce790f369
SPU: Use ASM for AVX2 coompilation instead of intrinsics
2020-09-12 18:49:49 +03:00
Eladash
5db1427923
cellGame: Implement cellHddGameCheck2
2020-09-12 11:00:24 +02:00
Eladash
81eceb1728
cellSysUtil: Implement CELL_SYSUTIL_SYSTEMPARAM_ID_LICENSE_AREA
2020-09-12 11:00:24 +02:00
Megamouse
639650c65a
Add more defines to cellSysutil
2020-09-12 09:56:51 +02:00
Eladash
9ff0b460a2
SPU: Make PUTLLUC LR event accurate
2020-09-11 09:02:18 +02:00
Eladash
4f0125a0e9
SPU: Remove "Accurate PUTLLUC" setting (always accurate)
2020-09-11 09:02:18 +02:00
Eladash
d489b02fc1
PPU: Do not allow unaligned/unmapped reservation addresses
2020-09-10 13:35:57 +02:00
RipleyTom
676fed7cfc
Only bind 3658 with RPCN
2020-09-09 23:56:25 +02:00
RipleyTom
d9d354c981
Makes DNS processing more consistent
2020-09-09 23:56:25 +02:00
kd-11
da6760ed98
vk: Simplify shadow comparison operations for non-integer formats
...
- Just use hardware PCF, it makes everyone's life easier.
2020-09-09 22:11:12 +03:00
Eladash
1e4655aef6
SPU: Remove STOP 0x0 hack ( #8873 )
2020-09-09 11:36:04 +01:00
Ani
22dc2947b3
hle: Implement ID_CURRENT_USER_HAS_NP_ACCOUNT ( #8864 )
2020-09-08 15:12:47 +01:00
Eladash
43fce92aa9
PPU: reduce LARX logging level to warning
2020-09-08 15:23:55 +02:00
kd-11
6380e67af9
rsx: Fix depth clipping
...
- Fix special case where n=f making (f-n) = 0
- Dynamically update depth range by setting dirty bits
- Fix depth bounds when n=f and bounds test is disabled
2020-09-08 15:33:08 +03:00
kd-11
dc465df3bc
rsx: Enable support for extended range in depth buffer
...
- Software clipping emulation is used here as OpenGL does not have explicit clip control.
- Hardware clip control for vulkan to be enabled after this.
2020-09-08 15:33:08 +03:00
kd-11
2e88924cb9
rsx/gl: Refactoring and cleanup
...
- Fix incorrect memory requirement calculation for D32FS8X24_PACK64 data type on GL
- Removes a lot of spaghetti code in GL backend from years of accumulation
- Retires several now-useless methods from RSX util toolbox
2020-09-08 13:53:06 +03:00
Megamouse
fee96ec92d
fix some warnings
2020-09-08 12:05:51 +02:00
QuadDamage
60f8fc293d
VFS: fix off-by-one error in vfs::escape()
2020-09-08 08:20:41 +02:00
Eladash
9134388f94
sys_process: Implement exitspawn error checking
2020-09-08 07:36:36 +02:00
RipleyTom
10820fa135
Implement sceNpSignaling & signaling improvements ( #8836 )
2020-09-07 22:50:17 +01:00
Eladash
2f3e0044f1
PPU: Cleanup & unify reservation loads ( #8849 )
2020-09-07 22:06:09 +01:00
Eladash
5060c779da
SPU: Use unaligned instructions in mov_rdata_avx (MSVC) ( #8851 )
2020-09-07 21:32:44 +01:00
kd-11
6d2cb94e3e
gl/vk: Support swizzled data for RCB/RDB
2020-09-07 22:31:57 +03:00
kd-11
85e5b077f7
gl: Overhaul upload and download routines for textures to go through shared image_to_buffer and buffer_to_image routines.
...
- This automatically adds support for depth float textures as well
2020-09-07 18:25:54 +03:00
kd-11
85dd1b4ea9
vk: Fix fconvert job issues
...
- Fix compilation bug caused by typo
- Invert to/from for consistent declarations
- Fix dst_swap when From == 2
2020-09-07 18:25:54 +03:00
kd-11
220e86bbd1
gl: Accelerate D24X8_UINT operations
...
- Adds compute decoding for D24X8_UINT on both download and upload routines
- Adds support for D24X8_UINT operations for typeless copy
2020-09-07 18:25:54 +03:00
Eladash
abc715bc5c
SPU: Make PUT transfers use SEQ-CST ordering on Accurate DMA ( #8844 )
2020-09-06 12:09:14 +01:00
Eladash
2688081656
SPU: Use unaligned AVX instructions for cmp_data_avx
2020-09-06 07:51:12 +03:00
Eladash
e4abd3dc5a
SPU: Do not ignore pending PUT tranfers just becase GET may not be cache-line atomic
...
This is not the proper way to emulate non-atomic GET tranfers, as it makes it seems as if PUT atomic tranfers arent atomic. (TODO)
Incomplete GET cache line accesses still do not verify data though.
2020-09-05 22:23:55 +03:00
Eladash
c7a185d4e7
SPU: Fix not acuiring reservation locks on DMA with more than one cache line (Accurate DMA)
2020-09-05 22:23:55 +03:00
Bevan Weiss
baf96b3eb6
RSX: Update manual string creation -> std::string()
...
Replace manual string creation with call to std::string() constructor passing in char*
This appears to drastically reduce the cache impact here
2020-09-05 10:38:32 +03:00
Eladash
0b023d4e28
SPU: Make Accurate GETLLAR, PUTLLUC settings dynamically adjustable
2020-09-04 10:20:44 +02:00
Eladash
4ffc58a8ce
SPU: Cleanup for Accurate PUTLLUC
...
Should no longer affect GET commands because Accurate DMA is available for this functionality.
2020-09-04 10:20:44 +02:00
Eladash
c5c9ea1b21
SPU: Make GET's full and aligned cache line accesses atomic with Accurate DMA
2020-09-04 10:20:44 +02:00
kd-11
3c43d8fe05
rsx: Fix execution barrier insertion
...
- In case of element re-arrangement, the barrier should obey the current insertion pointer
2020-09-04 09:34:13 +03:00
Eladash
73d23eb6e6
SPU: Implement Accurate DMA ( #8822 )
2020-09-02 23:58:29 +02:00
kd-11
a917f55ef8
vk/sdk: Sync with vulkan SDK v148 ( #8814 )
...
- Sync with vulkan SDK 148
- glslang library was split into several smaller libraries
- HLSL is no longer needed
2020-09-01 00:57:38 +03:00
kd-11
af9e217fa4
vk: Improve D16F handling
...
- Adds upload and download routines. Mostly untested, which is why the error message exists
2020-08-30 09:26:37 +03:00
kd-11
e9cdb248a0
glsl: Properly implement shadow filtering when running emulated shadow compare
...
- Previous code was completely borked
2020-08-29 02:03:09 +01:00
kd-11
e8274d5a59
vk: Fix depth format mismatch detection in copy_image
2020-08-29 02:03:09 +01:00
Eladash
6952be5ce4
Debugger: Replace SPU register perefix '$' with 'r'
2020-08-28 20:44:13 +02:00
RipleyTom
4317291827
tcp_timeout_monitor deadlock fix ( #8783 )
2020-08-28 01:06:01 +01:00
Nekotekina
bd40430d2b
Fix some warnng in lv2.cpp
2020-08-28 01:54:39 +03:00
Nekotekina
ebc4a0188a
Restore some code
2020-08-28 01:54:39 +03:00
Nekotekina
bfa4fcf584
Use g_fxo for progress_dialog_server
2020-08-28 01:54:39 +03:00
Eladash
48f70fbf10
Fix UB in Emulator::Load
2020-08-27 23:52:37 +01:00
Eladash
019d2d5dcf
Implement HLE cellSpursAddUrgentCommand
2020-08-27 23:52:37 +01:00
Eladash
17f7f329a8
Log PRX segment end for usage with kernel explorer
2020-08-27 23:52:37 +01:00
Eladash
933737e8f0
PPU: log LR in HLE functions
2020-08-27 23:52:37 +01:00
Eladash
47b545282e
SPU: Fix events ACK, minor optimizations ( #8771 )
2020-08-27 21:36:54 +01:00
RipleyTom
190822c2b2
RPCN Client ( #8663 )
2020-08-27 20:47:04 +01:00
kd-11
d000d648b0
vk: Fix some minor spec violation
...
- Stencil clear pass does not consume an image, do not bind one.
- Add push_barrier to allow push-pop semantics for texture barrier insert.
2020-08-27 12:52:28 +03:00
kd-11
d257ba5156
vk: Add some more diagnostic messages for unoptimized image transfer setups
2020-08-27 12:52:28 +03:00
kd-11
9828d6146b
rsx: Fix format matching when aggregating textures
...
- When copying depth-depth, prefer own format over depth int format
2020-08-27 12:52:28 +03:00
kd-11
9e4bec8cec
vk: Fix some missing render target declarations
2020-08-27 12:52:28 +03:00
kd-11
65ead08880
rsx: Refactor and improve image memory manipulation routines
2020-08-27 12:52:28 +03:00
kd-11
f6c6c04648
vk: Implement transport for D24S8_FLOAT data
2020-08-27 12:52:28 +03:00
kd-11
794378d5e9
rsx: Do not create depth textures as blit engine targets.
2020-08-27 12:52:28 +03:00
kd-11
a5ac5a9861
rsx: Separate uint depth formats from float depth formats
2020-08-27 12:52:28 +03:00
kd-11
faaf28b41d
rsx: Basic support for creating depth float formats
2020-08-27 12:52:28 +03:00
Eladash
c099bb817f
Debugger: Disable PPU address redirection
...
It causes more confusion than it helps.
2020-08-25 17:43:07 +02:00
Eladash
7fe98d8d66
Debugger: Add missing PPU stack register checks
2020-08-25 17:43:07 +02:00
Eladash
3ce7fd7894
Debugger: Fix instructions editor
2020-08-25 17:43:07 +02:00
Eladash
c5aebe4564
Debugger: Implement PPU SLWI, SRWI, SLDI mnemonics
2020-08-24 02:10:51 +03:00
Eladash
841b8fad38
SPU: Fix timer events
2020-08-24 01:57:32 +03:00
Bevan Weiss
ab0df0a0f5
Support for Namco GCon3 gun ( #8757 )
...
This gun now works (passes calibration) in Time Crisis 4.
2020-08-22 15:41:08 +02:00
Eladash
27e3317449
[HOTFIX] Fix UB in Emu/System.cpp
2020-08-22 11:55:08 +02:00
Eladash
edc09e22b4
PSF: Avoid redundent string copies in psf::array/string/get_string ( #8707 )
2020-08-21 23:55:17 +01:00
Eladash
4a40ef6a19
Debugger: Use Signed Hexadecimal formatting ( #8751 )
2020-08-20 22:07:31 +01:00
Eladash
bcddbc15f0
Debugger: Fix PPU stepping on non-TSX
2020-08-19 19:48:35 +01:00
Eladash
19500ac9ad
Fix truncation warning in sys_cond.cpp
2020-08-17 17:36:27 +01:00
Eladash
ee953f7953
Fix vm::reservation_update
2020-08-16 22:58:49 +03:00
Eladash
853e2b90a3
rsx: Minor rsx::ceil_log2 bugfix
2020-08-15 20:39:21 +03:00
Eladash
995cb8125e
SPU LLVM: Improve approx FCGT ( #8728 )
2020-08-14 19:33:35 +01:00
Whatcookie
9e4f43f4d1
SPU LLVM: Add icelake optimized paths for SHUFB ( #8712 )
2020-08-13 15:00:56 +01:00
Eladash
8cdfe5952a
SPU/PPU LLVM: Improve 0 addend FMA detection ( #8709 )
2020-08-13 04:13:08 +03:00
Eladash
0f8ca1f7c5
SPU: Implement RSX accurate reservations on TSX ( #8721 )
2020-08-13 00:00:37 +01:00
kd-11
fd2607ad52
rsx: Fix XBGR vs XRGB screenshots
2020-08-12 20:19:19 +03:00
kd-11
7e1b24224d
rsx: Support XBGR flip image load from Cell memory
2020-08-12 20:19:19 +03:00
kd-11
56c63170b9
vk: Warn if GPU does not support RGBA8 natively
2020-08-12 20:19:19 +03:00
kd-11
b41349546c
rsx: Proper support for typeless transform of ABGR framebuffers using the RGBA8 format
2020-08-12 20:19:19 +03:00
kd-11
6850533b50
rsx: Unify composite texture creation and management
...
- Some texture accesses require image compositing steps to assemble the requested image from existing subresources.
Handle all the common routines in a unified manner to avoid having one broken path (e.g mipmap gather not supporting bitcast operations)
2020-08-10 13:31:22 +03:00
Whatcookie
4ce2ad54a8
PPU LLVM: Use VPERM2B to emulate VPERM ( #8704 )
...
- The VPERM2B instructions are a match of VPERM's behavior, besides operating in reverse byte order
2020-08-09 01:50:26 +01:00
Eladash
0c85d4c0d0
cellSaveData: Fix loss of "BLIST" and files' information in PARAM.SFO ( #8706 )
2020-08-08 23:40:47 +01:00
Eladash
57471f8c94
SPU LLVM: Fix signed zeroes handling on Accurate xfloat
2020-08-08 22:21:22 +01:00
Eladash
7e11855330
SPU/PPU LLVM: Fix FMA signed zeroes handling
2020-08-08 22:21:22 +01:00
Megamouse
96428a7555
Log username
2020-08-07 21:57:08 +02:00
kd-11
22f5e7a9be
vk: Generate valid image+image_view combinations for placeholder texture descriptors
2020-08-06 20:34:49 +03:00
Bevan Weiss
ada6db2df4
Replace ppu_module_manager Function Static with Class Static variable (static module map) ( #8669 )
...
* Replace ppu_module_manager Function Static with Class Static
Makes for a slightly 'cleaner' interface in my opinion, may also assist with adding thread read/write concurrency support in future if ever required (have left that out of this commit to match existing function).
Very slight performance improvements were seen in representative testing.
https://quick-bench.com/q/GMbgeNc-mZc21aqOKCofnbzPZvg
I didn't investigate whether static initialisation of the static_modules might actually be possible here, perhaps there's a way to do a constexpr / consteval of this.
* Fix up for old style cast syntax..
* Fixups from PR comments
Plus remove spurious type_traits include (from me) not picked up in previous PR
* Remove old code
* Update rpcs3/Emu/Cell/PPUModule.h
Co-authored-by: Eladash <elad3356p@gmail.com>
* Fix naming of static variable
Co-authored-by: Eladash <elad3356p@gmail.com>
2020-08-06 12:34:08 +02:00
Bevan Weiss
eee5e812f7
Fix for incorrect assignment of ghlguitar
...
found_ghltar was potentially being overwritten if multiple USB devices were present
2020-08-06 12:01:21 +02:00
Bevan Weiss
eb5ae94c24
sys_usbd tidy ups
...
Tidy up fake transfer iterator handling. erase invalidates all iterators including the current iterator (i.e. 'it'), given precedence ordering this was UB prior to C++17. Splitting out to use return iterator from erase seems cleaner.
Also added some additional info to usb debug message to potentially help with #8666 , and used the atomic (dev_counter) less often
2020-08-06 12:01:21 +02:00
kd-11
7109fe9889
rsx: Improve swizzled layout detection
...
- Reset swizzle flag to false automatically on section reset.
- Detect render target payload and extract swizzle information from it.
2020-08-05 23:23:38 +03:00
Megamouse
d633a266c1
Add config override as cli arg: --config <path>
...
And add some more logging
2020-08-03 21:31:53 +02:00
Eladash
70fb5712e5
PPU interpreters: Fix VMAXFP NaN and signed zeroes handling
2020-08-03 15:43:00 +01:00
Eladash
6a51c27fde
PPU LLVM: Fix VMAXFP, VMINFP NaN handling
2020-08-03 15:43:00 +01:00
Eladash
17f965c171
lv2: Minor fix of "unspecific ppu" path of _sys_lwcond_signal
2020-08-03 02:57:20 +03:00
kd-11
bd21930d1a
rsx: Decode swizzled GPU data on CPU readback
...
- Currently this conversion is being done on the CPU to reuse as much code as possible.
The expectation is that this almost never happens, so there is not point in increasing maintenance burden by adding compute paths
2020-08-02 16:14:11 +03:00
kd-11
4df933275b
rsx: Propagate raster type of fbo sourced data throughout the pipeline.
...
- Tracks which kind of raster was done (Z-ordered vs linear) throughout the application.
- This allows to identify if data is in the expected format or not.
2020-08-02 16:14:11 +03:00
Megamouse
107129f95a
Fix missing GPU in game window title
2020-07-31 01:13:00 +02:00
Eladash
dd497625a5
PPU LLVM: Fix constant folding of BitCast
2020-07-30 17:06:24 +01:00
Eladash
f6764767f6
SPU/PPU LLVM: Fix cpu_translator::get_const_vector<v128>()
2020-07-30 17:06:24 +01:00
Eladash
e52dd9dc6f
SPU: Implement SYS_SPU_THREAD_OPTION_DEC_SYNC_TB_ENABLE ( #8657 )
2020-07-30 14:01:25 +01:00
Eladash
82068cf802
SPU: Fix spu_thread::cpu_stop() missed executions ( #8656 )
2020-07-30 10:07:18 +01:00
Megamouse
f073ff8fe8
overlays: fix minor warning
2020-07-29 13:18:33 +02:00
Megamouse
47040be3ad
cheat_manager: improve parser errors
2020-07-29 13:18:33 +02:00
Megamouse
ef3e8d26ce
Improve error handling during config loading
2020-07-29 11:28:16 +02:00
Eladash
21a1072117
SPU LLVM: Minor cleanup after #8559
2020-07-29 03:32:21 +03:00
Bevan Weiss
609182b131
Update cellAudio to use float constants instead of doubles
...
Another simple Clang recommendation
2020-07-26 17:23:02 +03:00
Bevan Weiss
7898ae6fe6
VK_REMAP enum is signed.. but later case comparison is unsigned
...
another clang directed fix up... might be involved with swizzle..
2020-07-26 15:27:51 +03:00
Malcolm Jestadt
a9d0ffcac1
SPU LLVM: Avoid additional endian swapping
...
- Avoid additional endian swapping with the ROTQBY and ROTQBYBI instructions
- ROTQBYI is left out intentionally, since it caused worse codegen
2020-07-26 11:36:50 +01:00
Malcolm Jestadt
824be77bba
SPU LLVM: Avoid redundant endian swapping
...
- PSHUFB operates in reverse byte order from SHUFB, so we can take advantage of that to swap endianness without additional transformations in some situations
2020-07-26 11:36:50 +01:00
Ani
74c8a44d84
rsx: Fix cache skipping shaders on load+compile ( #8633 )
...
When on single worker mode (OpenGL or an hypothetical scenario of a
single core PC with Vulkan), load and compile would skip 10% of the
shaders on queue each stage.
Co-authored-by: kd-11 <karokidii@gmail.com>
2020-07-26 08:47:50 +01:00
Whatcookie
9f829b375a
SPU/PPU LLVM: Optimize VSEL/SELB with constant mask ( #8559 )
2020-07-25 17:59:35 +01:00
Eladash
da44d5f10d
PPU: Fix DIVW, DIVWU, MULHW, MULLW, MULHWU when op.rc is set ( #8630 )
2020-07-25 17:13:58 +01:00
kd-11
be4b71b805
vk: Fixup for PR #8590
...
- This change was lost during rebase
2020-07-25 14:48:11 +03:00
kd-11
b0c7ca6d1f
vk: Improve video memory manager to attempt recovery in out of memory situations
2020-07-25 14:48:11 +03:00
kd-11
4d8de282f9
vk: Improve typeless texture succession
...
- Ensure incoming texture is large enough that the original one fits inside it to avoid back-and-forth succession.
- Make use of the resource manager to remove the obsolete textures to avoid holding on to the them which "leaks" VRAM.
The memory isn't leaking, it's just wasting space in temporary pool until renderer is closed.
2020-07-25 14:48:11 +03:00
Megamouse
de80a4b6c7
overlays: try to fix unexpected font crop
2020-07-25 10:21:52 +03:00
Eladash
917069e31a
PPU Precise/LLVM: Support NJ modes ( #8617 )
2020-07-25 07:41:41 +01:00
Eladash
3354c800d7
SPU/PPU LLVM: Improve expressions matching ( #8620 )
2020-07-24 16:53:48 +01:00
Megamouse
bb3ac62126
cellMic: use s32 consistently
2020-07-24 14:47:10 +02:00
Megamouse
6e25fea16a
use not_an_error in sys_spinlock_trylock
2020-07-24 14:47:10 +02:00
Megamouse
5e7c6853c2
fix truncation warnings
2020-07-24 14:47:10 +02:00
Megamouse
f76a011ba0
fix sceNpCommerce2CreateCtx log message
2020-07-24 14:47:10 +02:00
Megamouse
d854a39500
add a gazillion more error_code
2020-07-24 14:47:10 +02:00
Megamouse
a00ebacef3
cellFont: add error_code
2020-07-24 14:47:10 +02:00
Megamouse
c2f4244c4d
cellMic: error_code, random cleanup and stubbing
2020-07-24 14:47:10 +02:00
Megamouse
7437c324c6
cellMusic: add error_code
2020-07-24 14:47:10 +02:00
Eladash
54b87b6dbb
cellSaveData: Increase sleep time
2020-07-23 13:45:58 +03:00
Eladash
a029a94c73
SPU: Use waitable atomics for SPU channels interface
2020-07-23 13:45:58 +03:00
illusion
3157a10428
move executable hash log level to success
2020-07-22 10:51:19 +02:00
Eladash
f8d2d8ca11
SPU/Windows: Fix LS memory mirrors
...
This is a workaround but this is because of how utils::shm works on Windows path.
2020-07-19 17:58:49 +03:00
Eladash
c37bc3c55c
SPU: Make spu_thread::offset private
2020-07-19 17:58:49 +03:00
Malcolm Jestadt
6cc0fe4221
SPU LLVM: Avoid negative clamping when the input is known to be positive
2020-07-19 17:56:59 +03:00
Eladash
af1ceb1151
SPU LLVM: LS Memory Mirrors (Optimize loads/stores)
2020-07-18 02:01:33 +03:00
Eladash
268bcd1c7b
rsx: Fix false desync events
2020-07-16 19:26:10 +02:00
kd-11
42a9ac9e6c
rsx: Brute-force removal of superseded surfaces
2020-07-16 19:11:26 +03:00
kd-11
182b20c33d
rsx: Fix draw count append when draw ranges are out of order
...
- It is common for draw counts to truncate at 256 even when it makes no sense to do so.
- e.g 256 is not a multiple of 3 so triangles will glitch out
2020-07-14 16:04:44 +03:00
Megamouse
4d9533ea54
input: use left and right squircle values
2020-07-13 21:23:48 +02:00
kd-11
ab3d36f0f3
rsx: Fix depth bounds test
...
- Allow depth bounds test to access the Z buffer even when depth test is disabled.
2020-07-10 15:59:15 +03:00
kd-11
632af8d723
rsx: Support partial texture descriptors
...
- It is safe to declare w > pitch and it works as long as sampling inside the legal 2D area is obeyed.
2020-07-10 15:26:07 +03:00
Eladash
282b00674a
SPU LLVM: Optimize non-constant Tag Update requests
2020-07-10 02:52:02 +03:00
Eladash
235d12aa6b
SPU MFC: Never clear tag status in WrTagUpdate
2020-07-10 02:52:02 +03:00
Eladash
5d1fc546a8
SPU MFC: Fix MFC_WrTagUpdate channel count
...
Always report available, in realhw this is just a hint if the previous tag update hasnt been checked yet by the MFC, avoiding blocking writes and allowing the SPU to execute some code while it processes the previous update request.
Except for MFC_TAG_UPDATE_IMMEDIATE, where it also waits for MFC to process it.
2020-07-10 02:52:02 +03:00
Eladash
eb993781ef
RawSPU: Log MMIO access
2020-07-09 23:24:47 +03:00
Eladash
84470c34db
SPU: Disable PUTLLC NOP transfers detection on TSX path
2020-07-09 03:17:35 +01:00
Eladash
f8dbfa1d1e
SPU: Implement GETLLAR polling detection
2020-07-09 03:17:35 +01:00
Eladash
d9750e8f9f
SPU/PPU reservations: Optimizations for reservation locks and check_state() (non-TSX)
2020-07-09 03:17:35 +01:00
Megamouse
53b95fea19
audio: rename audio channels to audio downmix
...
The setting does not actually define the channels themselves, only the downmix option that the PS3 provides.
Channels might be changed seperately in the future.
2020-07-08 21:11:23 +02:00
Megamouse
e2fd4e46f7
Only reboot audio if a relevant setting changed
2020-07-08 21:11:23 +02:00
Megamouse
20d6664dc1
Try to make most audio configs dynamic
2020-07-08 21:11:23 +02:00
Megamouse
8ee953ef8e
XAudio2: Call CoInitializeEx to prevent errors
...
I could not properly reset the audio backend and call CreateMasteringVoice without getting errors
2020-07-08 21:11:23 +02:00
Megamouse
5b7ee43352
XAudio2: print readable errors
2020-07-08 21:11:23 +02:00
Megamouse
bb0aaea92d
cellAudio: implement downmix to 5.1
2020-07-08 21:11:23 +02:00
kd-11
987ede2e6c
vk: Inject memory barrier upon conclusion of a framebuffer feedback loop
...
- Do not write to the texture until previous draw call is completed using it.
- This is usually not much of a problem until blending operations come into play.
2020-07-08 19:23:29 +03:00
Megamouse
5fae1b3637
HLE: fix sceNpDrmGetTimelimit invalid param error
2020-07-07 09:43:32 +02:00
Derrik Touve
cb08c53f2f
sys_net: Use np_handler dns if possible for sys_net_infoctl ( #8557 )
...
Without this, cellHttpSendRequest will use the hardcoded dns 192.168.1.1, which won't work if you're not on that network.
2020-07-07 08:25:29 +02:00
Megamouse
171e4fafed
Emu: simplify Emu::Stop some more
2020-07-06 21:14:16 +02:00
Megamouse
8d2ce2815c
Emu: Make prevent_display_sleep dynamic
2020-07-06 21:14:16 +02:00
Megamouse
d91551c277
Emu: always use Emu.Quit() to quit RPCS3
...
This creates a single possible point of failure for calling quit()
2020-07-06 21:14:16 +02:00
Eladash
dc25a3fa2a
PPU debugger: Show stack address of each function
2020-07-06 18:58:16 +02:00
Eladash
c98ec4d014
PPU debugger: Fix functions stack bounds check
2020-07-06 18:58:16 +02:00
kd-11
05dc6ad610
gl: Silence warnings
2020-07-05 16:58:44 +03:00
kd-11
3fe8499956
rsx: Improve ZCULL queued requests finalization
...
- Unifies the code
- Allows conditionals to be evaluated with a forwarder present
2020-07-05 16:58:44 +03:00
Megamouse
f1b1c9053c
Input/Qt: Check if gui callbacks are nullptr
2020-07-04 14:28:19 +02:00
Megamouse
99be645fcc
Qt: Add stick multipliers to the pad dialog
2020-07-04 14:28:19 +02:00
kd-11
acf51f0ead
rsx: Fix transfer descriptors for partially overlapping slices in head
...
- Height must be corrected to skip the piece that exists before the current slice
2020-07-03 14:29:54 +03:00
Eladash
72337f2678
SPU LLVM: Fix barrier commands enqueuing
2020-07-02 22:46:02 +03:00
kd-11
c9c0d7361d
rsx: Implement fast ZCULL barrier when query object is already known
2020-07-02 20:11:57 +03:00
kd-11
d7ffc8b4ac
rsx: Fix leaking ZCULL queries after a barrier
...
- Multiple queries can be queued up, process them all before completing the barrier
2020-07-02 20:11:57 +03:00
Bird Egop
eea12bad07
Implement Caret upwards and downwards move in overlay_edit_text ( #8342 )
...
* Implement caret upwards and downwards move in overlay_edit_text
* Optimize caret up and down movement
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2020-07-02 09:06:37 +02:00
kd-11
bd14429f20
vk: Disable primitive restart for old GCN cards
...
- Also adds more Navi 14 chips to detection table
2020-06-30 15:00:07 +03:00
Megamouse
12dded403f
patch_manager: implement serials and app_versions
2020-06-29 23:56:27 +02:00
Megamouse
5269b69bc5
cellAudio: use downmix formula based on documentation
2020-06-29 09:06:36 +02:00
Eladash
2483cc6f8d
Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic
2020-06-28 23:26:10 +01:00
Eladash
97717defa5
Remove devKlic/rifKey reset
2020-06-28 23:26:10 +01:00
kd-11
5e29bdbe22
vk: Add more GPUs to nvidia chip table
...
- Registers more TU116 and TU117 variants
- Registers GA100
2020-06-28 22:54:58 +03:00