Commit graph

760 commits

Author SHA1 Message Date
Eladash
58040d478a rsx: Implement NTSC fixup mode, improve VBLANK accuracy 2021-11-01 10:04:53 +01:00
kd-11
2e22a0d9bb rsx: Optimize thread self-tests 2021-09-28 17:43:15 +03:00
kd-11
7b9fb7ad9c rsx: refactor rsx_utils a bit
- Move obviously standalone things to their own utility files
2021-09-28 17:43:15 +03:00
kd-11
6781eb7c76 rsx: Avoid calling get_system_time() every draw call 2021-09-28 17:43:15 +03:00
kd-11
3e09b97f58 rsx: Minor optimization; avoid preparing unused vertex streams
- Also discards unused program state variables
2021-09-28 17:43:15 +03:00
kd-11
46b3027981 rsx: Invariably clear the texture state if referenced. 2021-09-21 19:53:46 +03:00
Megamouse
14a425e487 rsx: wait when emulation is paused
This decreases my cpu usage by to <1% during Emu.Pause()
2021-09-17 23:13:24 +02:00
kd-11
c2ab3c664c rsx: Fix stupid overflow 2021-09-17 20:12:08 +03:00
kd-11
53457262d4 rsx: Implement ZPASS results scaling for precise stats 2021-09-06 20:04:03 +03:00
kd-11
472efc08eb rsx: Implement precise ZCULL stats 2021-09-06 20:04:03 +03:00
Megamouse
0debcfed0a Silence some warnings 2021-09-02 19:39:42 +02:00
kd-11
a5e455d8ed rsx/fp: Handle signed operator precedence
This was marked TODO for a long time
- Unsigned remap seems to be overriden by gamma mask (Resistance 3)
- We already know sign mask overrides gamma mask from UE3 titles
2021-08-30 11:41:19 +03:00
Eladash
fcfeac818f
Loader: Improve just-in-time installation of disc game files (#10719)
* rsx: Indexed access to surface attributes
2021-08-19 08:49:59 +03:00
Eladash
a346767a72 rsx: Improve rsx::recover_fifo() to take a hint from driver wake-up delay 2021-08-17 16:40:41 +03:00
Eladash
2ce164be09 rsx: Implement crash-proofing for 308A_COLOR dst address 2021-08-17 16:40:41 +03:00
Eladash
62beaf299f
Remove old RSX instructions viewer (#10710) 2021-08-14 21:20:11 +03:00
kd-11
c9afb3daaa rsx: Significantly reduce the applied subpixel bias when handling unnormalized access
- If a large value is set (e.g 0.5) rounding will sample 'up' and we can read the wrong texel
2021-08-10 12:02:19 +03:00
kd-11
99b6963fab rsx: Improve unnormalized coordinate sampling
- Improve rounding when sampling nearest neighbour. This is mostly a problem with NVIDIA
- Implement unnormalized 3D sampling
2021-08-03 00:36:04 +03:00
Eladash
dcb2e8cd9e rsx: Improve VBLANK accuracy 2021-06-27 16:39:08 +03:00
kd-11
d3ff67ffb5 rsx: Pass vertex attributes streamed via register write in PS3-correct format
- TODO: Optimize this, we can avoid the double bswap in FIFO and then in attribute push
  Not very important since nobody is doing register push in high-performance path.
2021-06-14 10:24:03 +03:00
Eladash
2169e8d935 Implement serialization.hpp, remove cereal submodule
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) (#7531)
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte

Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Nekotekina
2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
kd-11
c5a06dab0a rsx: Refactor program texture state handling to be persistent across shader swaps 2021-05-15 23:51:12 +03:00
Eladash
acded1e08a
rsx: Move sys_rsx info to rsx::thread (#10258) 2021-05-09 19:16:14 +01:00
Megamouse
71d58e3a67 rsx: remove unused tile functions 2021-04-30 08:23:16 +02:00
Megamouse
a16d8ba3ea More random changes 2021-04-11 14:01:51 +03:00
Nekotekina
deacf05769 Enable -Wdeprecated-copy
Some classes violated the Rule of 3(5) in their special operator definitions.
2021-03-31 11:27:09 +03:00
Eladash
1e71deb0db rsx: Compile shaders when CELL is not running 2021-03-30 11:13:47 +03:00
xddxd
9d895e6b15 Scheduler overhaul 2021-03-26 00:29:44 +03:00
Nekotekina
b3fb6d7d18 Add and fix -Wredundant-decls (GCC) 2021-03-23 22:48:57 +03:00
Nekotekina
a4fdbf0a88 Enable -Wstrict-aliasing=1 (GCC)
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
Nekotekina
ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Eladash
447d2b6f93 Atomic RSX capture writes 2021-02-23 11:29:23 +03:00
Nekotekina
8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Eladash
f43260bd58
Atomic waiting refactoring (#9208)
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117)
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash
2005c89baa memory viewer: Implement RSX mode
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Eladash
70346028c5 Fix GCM HLE
Oops.
2021-01-29 10:31:15 +03:00
Eladash
0652870204 New RSX Debugger 2021-01-28 17:40:26 +03:00
Nekotekina
67dd6754a6 Seal cereal includes in util/cereal.cpp 2021-01-28 10:48:53 +03:00
Nekotekina
ee288340b0 Implement thread_ctrl::scoped_priority
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Eladash
79513f06a4 rsx/gui: Delay game window pop-up until first frame 2021-01-23 12:45:53 +03:00
Nekotekina
241989c5fa Fix new warnings
Added CELL_GCM_CONTEXT_DMA_NOTIFY_MAIN_0+ enums.
Added CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_NOTIFY0+ enums.

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-20 12:27:37 +03:00
Eladash
dbecf0fa50 Introducing RSX debugger entry (main debugger) 2021-01-19 22:55:12 +03:00
Nekotekina
db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
kd-11
18c120ab9f rsx: Revert an accidental deletion 2020-12-28 21:49:11 +03:00
kd-11
bee76fc8d1 rsx: Refactor shader codegen and fix shadow sampling on depth-float 2020-12-25 02:39:08 +03:00
Nekotekina
bd269bccaf types.hpp: remove intrinsic includes
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina
eec11bfba9 Move align helpers to util/asm.hpp
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00