kd-11
7e33cdcb08
rsx: simple_array<T> improvements
...
- Implement move and copy ctors
2019-01-25 14:34:22 +03:00
kd-11
fb778e4821
rsx: Reimplement attrib divisor
2019-01-25 14:34:22 +03:00
kd-11
736415fcd9
rsx/fp: Detect broken/NOP shaders automatically
...
- Do not compile body if the shader is of no consequence, leave as a passthrough shader
2019-01-25 14:34:22 +03:00
kd-11
6fdc0fd7f0
rsx: Reimplement MSAA transparency
...
- Apply dither to edges that almost fail the straight-up alpha test
- Significantly improves alpha tested geometry far from the camera
- Also removes blend factor overrides/hacks as they give incorrect results due to background bleeding
2019-01-25 14:34:22 +03:00
kd-11
10a17feda2
rsx: Avoid potential deadlock in FIFO_ctrl
2019-01-25 14:34:22 +03:00
kd-11
7eec702c6d
gl: Fix silly regression with blit dst resource readback
2019-01-25 14:34:22 +03:00
kd-11
8093c9b573
rsx: Disable rtt side-effects when async compilation is ongoing. Only real renders should promote buffer state from underined to drawn, otherwise keep previous contents intact.
2019-01-25 14:34:22 +03:00
kd-11
417a2e6731
rsx: Refactor index buffers
...
- Index offset is ignored anyway and only used to calculate vertex attribute divisor index
- Specialized optimization for untouched xfer without primitive restart
2019-01-25 14:34:22 +03:00
elad
afeacc171f
Fix spurious abort in sys_rwlock_tryrlock and sys_semaphore_trywait ( #5579 )
...
Use full cmpxchg loop to prevent occasional return of CELL_EBUSY
2019-01-22 23:10:17 +03:00
Nekotekina
4f152ad126
SPU: multithread compilation
...
Allow parallel compilation of SPU code, both at startup and runtime
Remove 'SPU Shared Runtime' option (it became obsolete)
Refactor spu_runtime class (now is common for ASMJIT and LLVM)
Implement SPU ubertrampoline generation in raw assembly (LLVM)
Minor improvement of balanced_wait_until<> and balanced_awaken<>
Make JIT MemoryManager2 shared (global)
Fix wrong assertion in cond_variable
2019-01-22 22:02:02 +03:00
Megamouse
8d5d44141e
rsx/Qt: fix some undefined behavior in progress_dialog CallAfters
2019-01-22 12:04:01 +03:00
eladash
688d5a9919
rsx: Fix unknown vertex base types
...
Clamp vertex type field into 3-bits instead of 4-bit value
Case 0 is UB256
2019-01-21 22:28:20 +03:00
Megamouse
fa00fb3eac
Qt: use patch version and firmware for PS3 disc games in the game list
2019-01-20 23:16:37 +01:00
Nekotekina
d4591b1508
ALSA: disable recovery (experimental)
2019-01-18 16:49:17 +03:00
Nekotekina
59e0296281
cellMsgDialog: fix error spam on CELL_OK
2019-01-18 16:49:17 +03:00
Nekotekina
cc430769c6
Rollback audio backend priority
2019-01-18 16:49:17 +03:00
eladash
a11d76249d
Patch ppu main thread prio
2019-01-17 21:58:09 +03:00
Megamouse
5ed718110a
cellOskDialog/osk_dialog_frame: fix regexp for CELL_OSKDIALOG_NO_SPACE
2019-01-16 23:36:44 +03:00
msuih
f902a7867c
Fix cache removal
2019-01-16 07:43:39 +01:00
elad
fc92ae4085
SPU/PPU atomics performance and LR event fixes ( #5435 )
...
* Fix SPU LR event setting in atomic commands according to hw test
* MFC: increment timestamp for PUT cmd in non-tsx path
* MFC: fix reservation lost test on non-tsx path in regard to the lock bit
* Reservation notification moved out of writer_lock scope to reduce its lifetime
* Use passive_lock/unlock in ppu atomic inctrustions to reduce redundancy
* Lock only once for dma transfers (non-TSX)
* Don't use RDTSC in reservation update logic
* Remove MFC cmd args passing to process_mfc_cmd
* Reorder check_state cpu_flag::memory check for faster unlocking
* Specialization for 128-byte data copy in SPU dma transfers
* Implement memory range locks and isolate PPU and SPU passive lock logic
2019-01-15 18:31:21 +03:00
eladash
f19fd23227
spu: Fix support for multiple lists when one is stalled
2019-01-15 02:33:22 +03:00
Megamouse
58a22d1461
cellSaveData: add error_code
2019-01-14 21:12:13 +01:00
Nekotekina
c5026f7109
cellVdec: fix minor race
2019-01-14 01:24:05 +03:00
Nekotekina
a419e98acb
Move PPU and shader cache
...
New hash-based location (already used for SPU)
Bump PPU cache version, improve naming and decrease size
Remove fs::get_data_dir
Disable boot.elf cache
2019-01-14 01:24:05 +03:00
Nekotekina
aefee04c4a
SPU analyser: fix branch to self
...
Fixed not filling the predeccessor list on BR-to-self on entry point
Version bumped (v1-tane)
Closes #5353
2019-01-14 00:01:27 +03:00
Nekotekina
74d684b57e
cellAudio: fix template arg style
...
Add constexpr if
2019-01-14 00:01:27 +03:00
Nekotekina
ac775cd75e
Simplify gui_listener
...
Use lf_queue
2019-01-13 14:45:36 +03:00
Nekotekina
435f60d503
lf_queue: add iterator support
...
Allow range-for loop over an object returned by `pop_all()`
2019-01-13 14:45:36 +03:00
Nekotekina
cfdf50dcff
SPU: ensure sys_spu_thread_group_join receives correct exit status
...
Following #5334
2019-01-13 14:45:36 +03:00
Nekotekina
453344c232
cellSaveData: workaround possible issues with symlinks
...
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00
Nekotekina
bd9131ae1c
Implement fs::get_cache_dir
...
Win32: equal to config dir for now
Linux: respect XDG_CACHE_HOME if specified
OSX: possibly incomplete
2019-01-13 14:45:36 +03:00
eladash
bc27f5f75c
Implement invalid NV4097_NOTIFY context handling
2019-01-13 12:59:00 +03:00
Megamouse
022550a43b
cellOskDialog: use atomic_op for state operations
2019-01-12 23:39:01 +01:00
Megamouse
d7cc97433d
cellOskDialogUnloadAsync: guarantee 0 terminated return string
2019-01-12 23:39:01 +01:00
Megamouse
fce9f352a9
cellOskDialog: fix cellOskDialogAbort
2019-01-12 23:39:01 +01:00
Megamouse
f9c1b15bf4
cellOskDialog: fix cellOskDialogUnloadAsync return string
...
fixes Class of Heroes 2G
2019-01-12 23:39:01 +01:00
Rui Pinheiro
3406acd8c9
Fixups for audio PR
2019-01-12 22:22:03 +03:00
Rui Pinheiro
49fbf9bf0f
Tweaks to buffering algorithm
...
Increase untouched buffer timeout when some of the buffers have been
touched. Might improve audio quality on games that suffered from
miniscule popping even when buffering was enabled (such as DeS).
In addition, made time stretching algorithm slightly more aggressive.
Includes some other tiny tweaks as well.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
1e4513e2e3
Fixups in audio backend
...
Removes 's_' prefix from variables that are no longer static and
thread_local. Removes superfluous comments left behind due to copy-paste
mistakes.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
fe9062671e
Change audio tooltips, audio backend order
2019-01-12 21:29:56 +03:00
Megamouse
5e3311746c
Qt/settings: add new audio buffering options
2019-01-12 21:29:56 +03:00
Rui Pinheiro
48db0430d4
Misc. Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
650bc0c1f2
Fix game pausing/unpausing
2019-01-12 21:29:56 +03:00
Rui Pinheiro
f17f984721
Add timeout for untouched buffers
2019-01-12 21:29:56 +03:00
Rui Pinheiro
8f6043b568
Change cellAudio diagnostic messages to Trace
2019-01-12 21:29:56 +03:00
Rui Pinheiro
67f9397746
Various fixes
...
In addition, linux builds (and ALSA/PA) now work again
2019-01-12 21:29:56 +03:00
Rui Pinheiro
4f39457858
Rewrite OpenAL backend to support new features
2019-01-12 21:29:56 +03:00
Rui Pinheiro
892deb1552
Implement basic time stretching + Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
5159d3559e
Implement Audio Backend Capabilities querying
...
Also renames "AudioThread" to "AudioBackend". The new name is more
descriptive of what the class really is responsible for, since the
backends are not responsible for managing the audio thread.
NOTE: Right now only XAudio2 is supported
2019-01-12 21:29:56 +03:00
Rui Pinheiro
2addbe6be2
Implement basic cellAudio buffering
2019-01-12 21:29:56 +03:00
Rui Pinheiro
56962aa707
Disable OpenAL backend temporarily
2019-01-12 21:29:56 +03:00
Megamouse
e18e9909af
cellOsk fixup
2019-01-12 08:26:04 +01:00
RipleyTom
fad80ed443
revert part of #5529
2019-01-12 06:59:07 +01:00
Megamouse
e3ea29599d
cellGame: fix some installation issues
...
fixes HAWX2 (at least until it crashes again)
2019-01-11 03:36:22 +03:00
Megamouse
d9d5f45e9e
rsx/input: fix rsx replay
2019-01-10 13:05:48 +01:00
Megamouse
eb4d612bb9
cellOskDialog: fixes for multi-line dialog
2019-01-10 13:05:48 +01:00
Megamouse
e5aede7aa7
cellOskDialog: initial code for cellOskDialogSetSeparateWindowOption
2019-01-10 13:05:48 +01:00
Megamouse
17058113df
cellOskDialog: add multi-line option and handle more permutations (WIP)
2019-01-10 13:05:48 +01:00
Megamouse
4a8b30c625
cellOskDialog: cellOskDialogExtRegisterConfirmWordFilterCallback
2019-01-10 13:05:48 +01:00
Megamouse
e0ac244fed
split MsgDialogBase
2019-01-10 13:05:48 +01:00
Megamouse
d5303b0b64
add error_code to cellOskDialog and cellMsgDialog
2019-01-10 13:05:48 +01:00
Megamouse
7cc4239cc2
cellOskDialog: add message
2019-01-10 13:05:48 +01:00
Megamouse
cc30b4e5be
cellOskDialog: don't send input signals without seperate screen enabled
2019-01-10 13:05:48 +01:00
Megamouse
16f2975792
cellOskDialog: properly handle dialog states to improve param checks
2019-01-10 13:05:48 +01:00
Megamouse
1b2e512179
Qt: make dockwidget title bars optional
2019-01-10 12:14:38 +01:00
kd-11
52ac0a901a
rsx: improve memory coherency
...
- Avoid tagging and rely on read/write barriers and the dirty flag mechanism. Testing is done with a weak 8-byte memory test
- Introducing new data when tagging breaks applications with race conditions where tags can overwrite flushed data
2019-01-06 10:44:40 +03:00
kd-11
89c9c54743
rsx: Minor hot-fix
...
- Pitch 0 makes sense if width == 1 and height == 1
2019-01-06 10:44:40 +03:00
kd-11
95245bdd83
rsx: Improve ARGB8->D24S8 casting
...
- Set up partial transfers
- Force clear of target before starting the transfer
2019-01-06 10:44:40 +03:00
kd-11
475cc99117
rsx: Fix dirty flag reset after a partial attachment initialization
...
- D24S8 targets have 2 aspects that are dealt with separately; Forcefully initialize the remaining data if a partial init is done. Its 'free' anyway
- It seems that the stencil mask matters when clearing unlike the depth mask and color mask
2019-01-06 10:44:40 +03:00
kd-11
c80c7f06bb
rsx: Typo fix
...
- This silly typo broke the flip improvements in the GT fixes PR
2019-01-06 10:44:40 +03:00
kd-11
2a62fa892b
rsx: Texture cache refactor
...
- gl: Include an execution state wrapper to ensure state changes are consistent. Also removes a lot of required 'cleanup' for helper methods
- texture_cache: Make execition context a mandatory field as it is required for all operations. Also removes a lot of situations where duplicate argument is added in for both fixed and vararg fields
- Explicit read/write barrier for framebuffer resources depending on
usage. Allows for operations like optional memory initialization before
reading
2019-01-06 10:44:40 +03:00
kd-11
0f64583c7a
rsx: Reimplement pitch lookup
...
- Remove the required_xxx_pitch constraint as it makes no sense. The pitch controls what can be written per line.
- It is possible to have a huge surface width but only render to a small region at the beginning and have a smaller pitch than can fit the surface (NFS carbon)
2019-01-06 10:44:40 +03:00
kd-11
1ffadbe086
rsx: Reorganize write barrier implementation (either clear or memory barrier)
2019-01-06 10:44:40 +03:00
kd-11
9c45ce6d37
vk: Reimplement typeless memory allocation to handle resolution upscaling
2019-01-06 10:44:40 +03:00
kd-11
d8e45c86e6
vk: Remove old useless hack that interferes with memory inheritance
2019-01-06 10:44:40 +03:00
kd-11
3be4b474d9
rsx: Handle rsx-self-tripping in draw call and triggering invalid invalidation
...
- If draw call resources consume memory that intersects with NA parts of the texture cache, we get a framebuffer test mismatch.
This mismatch is false and happens because the thread has not yet reached the point of relocking the pages
2019-01-06 10:44:40 +03:00
kd-11
a95a44cf66
rsx: Strictness cleanups
...
- Also account for variable pitch textures (swizzled scan)
2019-01-06 10:44:40 +03:00
kd-11
474d0f61a2
minor typo fix
2019-01-06 10:44:40 +03:00
kd-11
362eea09a1
whitespace fix only
2019-01-06 10:44:40 +03:00
kd-11
15d5507154
rsx: Rewrite memory inheritance transfers
...
- Implicitly invoke a memory barrier if actively reading from an unsynchronized texture
- Simplify memory transfer operations
- Should allow more games to work without strict mode
2019-01-06 10:44:40 +03:00
kd-11
97704d1396
rsx: Fix texture size calculations
2019-01-06 10:44:40 +03:00
kd-11
50c07833e4
rsx: Do not force upload for missing data
...
- TODO: Finish implementing GPU RCB for mem-sync
- TODO: Refactor mem-sync
2019-01-06 10:44:40 +03:00
kd-11
6d932b042b
vk: bump max number of compute jobs from 120 to 1024
...
- It is possible without bugs to have a very high number of compute invocations.
2019-01-06 10:44:40 +03:00
kd-11
64a8829614
rsx: Minor cleanup
2019-01-06 10:44:40 +03:00
kd-11
15488eb247
rsx: Avoid unnecessarily touching framebuffer memory
...
- Do not bind companion framebuffer when clearing single aspect; let the
contest mechanism sort it out instead
- Do not prematurely tag framebuffers, instead only do so at
write-confirmation time. Should avoid false tagging if setup does not
allow a render to occur.
2019-01-06 10:44:40 +03:00
kd-11
a13986ec5c
vk: Spec fixups
...
- Forgot to update descriptor pool init sizes over time
- Also clamp swapchain resources to allowable surface extents
2019-01-05 21:31:12 +03:00
Megamouse
6c10cb2eb5
Assume go to address to be hexadecimal
2019-01-05 04:03:18 +01:00
Megamouse
6fe615605a
prevent debugger crash when no thread is selected
2019-01-05 04:03:18 +01:00
Megamouse
bb464b0b64
fix some warnings
2019-01-05 04:03:18 +01:00
Megamouse
daee2a27a3
Qt: spawn Confirmation Dialog on when booting games while Emu is running
2019-01-05 01:50:42 +01:00
Megamouse
5f9b441dd7
Qt: spawn Confirmation Dialog on exit
2019-01-05 01:50:42 +01:00
RipleyTom
37c621ebbf
cellSysutilCheckCallback forced granularity
2019-01-03 02:15:01 +03:00
Nekotekina
7a4282b4c0
cellSysutil: drain callback queue at single step
...
This way if a new callback is registered in a process,
it will not be executed immediately in the same loop.
Remove mutex, use lock-free queue.
2019-01-03 02:15:01 +03:00
Megamouse
3b83e223d8
cellOskDialog: add some param checks
2019-01-02 15:45:51 +01:00
Megamouse
0e7fd45504
cellOskDialog: add Constants
2019-01-02 15:45:51 +01:00
Megamouse
ad5cdc38cd
cellOskDialog: implement CellOskDialogInputFieldResult
...
fixes abort and cancel
2019-01-02 15:45:51 +01:00
Megamouse
6f7b25de90
implement CELL_PAD_INFO_INTERCEPTED
2019-01-02 15:45:51 +01:00
Megamouse
8ad14c4ada
Overlays: fix input loop when no controllers are detected
2019-01-02 15:45:51 +01:00
Megamouse
a4f67ccb87
Add log messages for PPU compilation
2018-12-31 23:03:03 +03:00
Megamouse
632b0f489c
Qt/Input: add keyboard stick interpolation
2018-12-31 12:42:34 +01:00
Megamouse
a77bd41b50
Qt/Input: add mouse settings to the pad settings dialog
2018-12-31 12:42:34 +01:00
Megamouse
2db16c2c04
Input: add config entries for mouse deadzones and acceleration
2018-12-31 12:42:34 +01:00
RipleyTom
7ebd3bbcbf
Fixes issues where the mutex is destroyed while an unlock is happening
2018-12-31 01:39:47 +03:00
eladash
483ee5e488
Fix sys_vm_memory_map address base
2018-12-30 20:12:32 +00:00
eladash
79a6a2c7fb
Debug console emulation
2018-12-30 20:12:32 +00:00
eladash
2ea061b9c7
Set total memory size according to sdkver
2018-12-30 20:12:32 +00:00
eladash
c0eb4965f2
mmapper_allocate_memory improvement
...
Added cases 0 for allocation granularity size,
alike sys_memory_allocate, the alignment of this case is 1mb.
2018-12-30 20:12:32 +00:00
Megamouse
d1be1150c2
Settings Dialog Update
2018-12-30 17:47:51 +01:00
RipleyTom
c6e47a573d
cellVideoOutConfigure minor fix.
2018-12-30 17:58:20 +03:00
eladash
db784556aa
rsx: Evaluate cond render test at set_render_enabled
2018-12-30 15:04:59 +01:00
eladash
26d47afec6
hle gcm: Fix cellGcmGetReportDataAddressLocation
...
* Never return NULL (also apllies to similar functions)
* Base offset is 0x0e000000 for main location
* Default location is LOCAL
Info was taken from disasm of gcm
2018-12-30 15:04:59 +01:00
eladash
568206d11a
Fix rsx capture (again)
2018-12-30 15:04:59 +01:00
Megamouse
a1dd6e080c
Qt: Sort game list after load settings to prevent icon size mismatch
...
This was sorely needed when the app crashed after resizing icons
2018-12-30 14:15:34 +01:00
fobb2
64ea7bf867
capitalize 'japanese' -> 'Japanese'
2018-12-30 05:08:43 +01:00
Jan Beich
8d308bb4c0
overlays: don't use /proc on BSDs as it may not be mounted
2018-12-29 18:07:45 +03:00
RipleyTom
aa306dd356
Trophy changes
2018-12-27 19:11:51 +01:00
eladash
4b65c3943c
Fix sys_semaphore_post count check
2018-12-26 23:03:27 +03:00
eladash
653a4ef0df
Set group status INIT on last thread stopped
...
this fixes the group status after sys_spu_thread_exit when not joining the spu group
2018-12-25 19:59:41 +03:00
scribam
7c74bafaf3
sceNp: improve sceNpManagerGetNetworkTime function ( #5451 )
2018-12-25 17:13:11 +03:00
Nekotekina
d7be0a96f3
SPU LLVM: approximate xfloat option
...
Adapt previous SPU ASMJIT changes made by @kd-11
FM, FMA, FNMS, FMS are approximated.
FCGT, FCMGT are accurate.
2018-12-24 16:04:46 +03:00
Nekotekina
f750b4c420
cellSaveData: try to address #5415
2018-12-24 16:04:46 +03:00
Nekotekina
522f5ea645
Fix cellFsGetFreeSize (following #5304 )
...
Simplify device name extraction
2018-12-24 16:04:46 +03:00
kd-11
9c46386dd4
rsx: Check av configuration when selecting display buffers!
...
- Some applications have mismatch between video output configuration and display buffer sizes
2018-12-24 09:05:19 +03:00
kd-11
7555be232f
rsx/vp: Fix double dst commands
...
- Test the vec_result mask before assigning to actual output
Sometimes, VEC op is used to write to Rx, and SCA op is used to write to o[x]!
2018-12-24 09:05:19 +03:00
kd-11
10d96a60f1
rsx/capture: Force flip if no flip event was recorded
2018-12-24 09:05:19 +03:00
kd-11
f48abde14b
rsx: Fixups for immediate rendering mode
...
- Immediate mode is isolated from the rest of the vertex configuration
- TODO: Verify register behaviour when immediate mode is used
Check if per-primitive const register values are supported (likely are)
2018-12-24 09:05:19 +03:00
kd-11
4b79ef1ad9
rsx: Implement stencil mirror views
...
- Implements a mirror view of D24S8 data that accesses the stencil components.
Finishes the implementation of TEX2D_DEPTH_RGBA as the stencil component was previously missing from the reconstructed data
- Add a few missing destructors
Image classes are inherited a lot and I forgot to make the dtors virtual
2018-12-24 09:05:19 +03:00
kd-11
696b91cb9b
rsx: Reimplement conditional execution in shaders
...
- Per-channel conditional execution introduces RAW hazards all over the place
- Its cheaper to process both branches and select between the two
- Also improves ShaderVariable functionality to allow functionality such as match_size and taking complex variables as inputs
2018-12-24 09:05:19 +03:00
kd-11
c75749f8ce
rsx: fix flip logic when grabbing output from the surface cache
2018-12-24 09:05:19 +03:00
MSuih
eba364c64c
Clear disk cache if it grows too large (dev_hdd1/cache) ( #5411 )
...
* Clear disk cache automatically
* Add disk cache to UI
2018-12-24 00:18:47 +03:00
Megamouse
b99a88afe2
Qt/Input: disable in-game controls while the pad settings are opened
2018-12-23 04:13:27 +01:00
Megamouse
e80f2793eb
Qt/Input: immediately abort remapping if the controller was disconnected
...
added some fixups
2018-12-23 04:13:27 +01:00
Megamouse
6dcf66b064
Qt/Input: add disconnected label to the devicenames
2018-12-23 04:13:27 +01:00
Megamouse
bdb5606317
Qt/Input: enable DS4 controller reconnect without refresh
2018-12-23 04:13:27 +01:00
Megamouse
6e323622a5
Qt/Input: use 1-n in the GUI instead of 1-(n-1)
...
I didn't look into evdev
2018-12-23 04:13:27 +01:00
Megamouse
91d834ce73
Qt/Input: improve DS4 device list
...
Needed to move Reset out to main_window due to hid closing problems. It's better to have the reset logic outside anyway
2018-12-23 04:13:27 +01:00
Megamouse
f617e47152
Qt/Input: disable mapping for unconnected pads
2018-12-23 04:13:27 +01:00
Megamouse
e80574cbd2
RSX/Qt: set min gs_frame size to 160x90 to prevent stupid new Vulkan bug
2018-12-22 23:10:34 +01:00
Megamouse
79003cd089
Qt/windows: use Qt's high dpi scaling
2018-12-22 23:10:34 +01:00
isshininu
9717e19be2
sceNpTrophy: use SCE_NP_TROPHY_STATUS_INSTALLED instead of SCE_NP_TROPHY_STATUS_NOT_INSTALLED
...
* Update sceNpTrophy.cpp
* Revert "Update sceNpTrophy.cpp"
* Update sceNpTrophy.cpp
* Update sceNpTrophy.cpp
2018-12-22 13:53:38 +01:00
eladash
69fc1f2613
Added CAMERA_NOT_INIT checks for no camera setting
2018-12-20 08:52:09 +01:00
Megamouse
6b1d80ec25
cellCamera: fix read_mode
2018-12-20 08:02:44 +01:00
Megamouse
bc3ab7a9d9
Input: Enable In-Game Pad Config Reset
2018-12-17 19:41:18 +01:00
vit9696
5a40c1802b
Support macOS bundling for binary distribution
2018-12-16 18:17:21 +03:00
eladash
c50d459b1e
cleanup rsx fifo debugger command display
2018-12-15 19:40:18 +03:00
eladash
098d634328
rsx fifo: Fix call cmd offset mask
...
highest 3 bits are masked according to tests, also filter certainly invalid jumps with offset higher than max
2018-12-15 19:40:18 +03:00
eladash
c2aa10cccd
reduce register_pair container
2018-12-15 19:40:18 +03:00
eladash
45ed58cdaf
Fix rsx capture replay
...
Allow to capture non-increment cmd flag that was missing in command.reg
2018-12-15 19:40:18 +03:00
eladash
87988e9da8
rsx fifo: Stability improvements
...
* Restore stack in fifo error handling
* Update get register after the cmd execution
* Fix put pause in the middle of command
* Add restore points when branching to self
* Precise nopcmd detection
* Test all invalid cmds for early treatment of queue corruption
2018-12-15 19:40:18 +03:00
eladash
835a552d8d
rsx: Implement cellGcmSetNotify
2018-12-15 19:40:18 +03:00