rexys
8f3b04cbd6
rsx: Fix is_fifo_idle with hle gcm
2020-04-16 12:59:19 +03:00
Megamouse
cf229a8e9f
some more dynamic settings
2020-04-15 18:25:25 +02:00
scribam
f37adc4188
Add fallthrough attribute
2020-04-14 17:06:58 +03:00
Nekotekina
4d8bfe328b
Replace rotate utils with std::rotl
...
More include cleanup.
2020-04-14 16:05:58 +03:00
Eladash
504ba8d824
rsx: Fix grammer issue (binded -> bound)
2020-04-11 21:21:15 +03:00
Eladash
8228fa1ece
sys_rsx: Warn if RSX is not idle during crucial points
2020-04-11 21:21:15 +03:00
Eladash
f7536bbce0
sys_rsx: Fix gcm events spam
...
In realhw the events are only sent if they are masked in driver_info->handlers as well.
2020-04-07 20:43:28 +03:00
Eladash
3f48450408
sys_rsx: Minor atomicity fixes
2020-04-07 20:43:28 +03:00
Eladash
e7d5d17fd8
rsx: Adjust FIFO recovery to be a bit more merciful
2020-04-05 17:40:23 +03:00
Eladash
c2c5005278
rsx: Fix and improve fp program data invalidation
2020-04-02 20:42:12 +03:00
Eladash
2ed370093e
rsx: Get rid of invalid_command_interrupt_raised
2020-04-02 20:42:12 +03:00
Eladash
9d971e3b07
rsx: More strict infinite desync detection
...
6 desyncs per second for 1.5 seconds is pretty bad already.
2020-03-26 17:52:45 +03:00
Eladash
38c8dd98b4
rsx: Implement basic infinite FIFO desync detection
2020-03-26 15:22:45 +03:00
Eladash
08e66ab14c
Minor warning fixes
2020-03-23 21:37:37 +03:00
Eladash
cccc32fa9d
sys_lwmutex/lwcond: track lwcond waiters ( #7826 )
...
In lwmutex destroy syscall, wait for pending waiters.
2020-03-23 10:30:17 +03:00
Eladash
f3877d11e8
rsx: Fix initial boolean state of m_textures_dirty and m_vertex_textures_dirty
2020-03-12 21:36:43 +01:00
Eladash
c04abac630
rsx capture: Fix exceptions handler, fix tiny race condition on capture new capture
2020-03-12 21:36:43 +01:00
Nekotekina
04dedb17eb
Disable exception handling.
...
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +03:00
Eladash
636ed4a48b
HLE cellGcmSys: Avoid calling sys_rsx syscalls in rsx code
2020-03-09 16:07:14 +03:00
Nekotekina
9dca2887d8
Fixup for Emu.Pause()
...
Remove some reduntant calls.
Don't pause on unknown sys_fs_fcntl operation.
2020-03-08 22:03:16 +03:00
Eladash
892f74d762
rsx: Improve frame-limiter ( #7723 )
...
* rsx: Improve frame-limiter accuracy
* lv2: Improve lv2_obj::wait_timeout response time for aborting threads
* rsx: Make stretch to display area setting dynamic
* rsx: Redefine 'auto' frame limiter to obey vblank rate
* rsx: Make frame limiter setting dynamic
* rsx: Make frame-limiter compatible with dynamic changes
2020-03-08 01:11:35 +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
kd-11
cb047fcc75
rsx: Disable zstat checks to avoid unnecessary stream splitting ( #7624 )
2020-02-28 20:27:31 +03:00
Megamouse
ee46ad1ca9
move overlays code to headers
2020-02-26 23:43:18 +01: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
9c9c2eb2c9
Fix wrong g_fxo->init_crtp name, use just init<>
2020-02-25 14:07:50 +03:00
Nekotekina
fa02a04baa
Add g_fxo->init_crtp to simplify thread construction
2020-02-25 11:51:41 +03:00
Megamouse
f7666f44da
Untangle GUI and input includes
2020-02-24 16:31:01 +01:00
Nekotekina
8b4b859091
Remove "thread_ctrl::spawn"
2020-02-23 15:03:38 +03:00
Nekotekina
7069e7265f
RSX: move g_dma_manager to g_fxo
2020-02-23 13:12:50 +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
df8d0cde4a
RSX/SPU: Accurate reservation access
2020-02-19 18:11:30 +00:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +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
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
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
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina
15391f45d0
Modernize RSX logging (rsx_log variable)
2020-02-01 11:52:22 +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
Eladash
85695c8bac
rsx: FIFO wake-up pause control
2020-01-15 19:54:23 +03:00
Eladash
1ccb3c4492
rsx: Verify local memory offset
2020-01-15 13:23:56 +03:00
Nick Renieris
192912131e
rsx: Update vblank count in LLE mode
2020-01-06 22:42:07 +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
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