Nekotekina
b59f142d4e
Move types.h to util/types.hpp
2020-12-12 15:12:01 +03:00
Nekotekina
666a18f5e5
Remove ceil2/floor2 from types.h
2020-12-12 15:12:01 +03:00
Nekotekina
b09b7c1184
Remove any_pod<> from types.h
...
Add simplified any32 to GCM.h
Add simplified cmd64 to PPUThread.h
2020-12-12 13:12:39 +03:00
Nekotekina
6e05dcadb6
Reduce std::numeric_limits dependency
...
Please, stop pretending...
You need these templates for generic code.
In other words, in another templates.
Stop increasing compilation time for no reason.
2020-12-12 12:35:18 +03:00
Nekotekina
bc7acf9f7a
RSX: remove overly long integer sequence (opcode_list)
...
Convert to constexpr array and move to gcm_printing.cpp
2020-12-12 11:38:35 +03:00
Nekotekina
7a015b6fc0
VKMemAlloc.cpp: use shared_mutex in vk_mem_alloc.h
...
Because it allows to use custom implementation.
Also fix compilation.
2020-12-11 19:05:11 +03:00
Nekotekina
aa3aef4beb
std::chrono cleanup: always use steady_clock
2020-12-11 19:01:56 +03:00
Nekotekina
72284b4530
Use atomic_t<> in VKMemAlloc
2020-12-10 18:58:11 +03:00
Nekotekina
b382d3b3e9
Remove ASSUME macro
...
It's dangerous and sometimes bluntly misused feature.
Its optimization potential is near-zero.
2020-12-10 14:08:02 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
kd-11
d25c401aec
vk: Validate image creation inputs
...
- Should avoid things like res scaling breaking when very large scaling is in use
2020-12-09 21:30:08 +03:00
kd-11
aac874a842
vk: Add even more D32_SFLOAT missing locations
2020-12-09 21:30:08 +03:00
Nekotekina
5d934c8759
Improve narrow() and size32() with src_loc detection
2020-12-09 16:26:20 +03:00
Nekotekina
e055d16b2c
Replace verify() with ensure() with auto src location.
...
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
kd-11
f8d2830ac7
vk: Properly register D32_SFLOAT as a depth-stencil format ( #9396 )
2020-12-09 02:06:27 +00:00
Eladash
2602be426f
Allow emulation to work without firmware ( #9367 )
...
* Allow emulation to work without firmware
* Fix HLE prx path detection.
* Fix manual list loading bugs.
* Fix HLE gcm
* GUI: Fix fonts search
* GUI: Hardcode sprx list
Do not depend on /dev_flash/sys/external/ contents.
2020-12-07 20:10:34 +03:00
Nekotekina
24e4e329ed
atomic.hpp: add atomic_t<bool> specialization
...
May be required in future, plus adds/hides some methods.
2020-12-07 17:13:12 +03:00
Nekotekina
eb66302907
atomic.hpp: replace std::atomic with atomic_t
...
Dual dependency is nothing good.
2020-12-07 17:13:12 +03:00
Nekotekina
b16cc618b5
atomic.hpp: add some features and optimizations
...
Add atomic_t<>::observe() (relaxed load)
Add atomic_fence_XXX() (barrier functions)
Get rid of MFENCE instruction, replace with no-op LOCK OR on stack.
Remove <atomic> dependence from stdafx.h and relevant headers.
2020-12-07 17:13:12 +03:00
kd-11
3a0b3a85a5
rsx: Separate program environment state from program ucode state
...
- Allows for conservative texture uploads
- Allows to update a program object without running full ucode analysis for no reason
2020-12-07 00:45:27 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
kd-11
2aa5c437e8
rsx: Fix upscaled image reconstruction
...
- Base the upscaling on the real source and not the "attr" parameter.
- In case of reconstruction, the source is much larger than the subslice in "attr"
2020-11-30 01:20:17 +03:00
kd-11
67f48ce21c
rsx: Fix uncaught depth-func changes
...
- Depth func of always or never usually disqualifies depth testing.
Invalidate contested surfaces when depth func is changed.
2020-11-30 00:46:36 +03:00
kd-11
845a7d9968
Fix RSX replay thread lifecycle
2020-11-29 22:39:52 +03:00
kd-11
8228a4adcd
gl: Disable depth test before rendering text to the backbuffer which does have a Z buffer
2020-11-24 11:10:43 +03:00
kd-11
f1c65dcefc
vk: Improve support for RDNA
...
- Add support for RDNA2
- Add RDNA MSAA workaround
2020-11-23 19:20:00 +03:00
kd-11
cab4c78b7b
rsx: Some shader compiler threads tuning
...
- Allow more threads for wide CPUs
- Simplify 'auto' selection a bit
2020-11-21 20:43:15 +03:00
kd-11
7553429130
gl: Thread shader source compilation dispatch
...
- glCompileShader is in itself much slower than anticipated
2020-11-21 20:43:15 +03:00
kd-11
3ddfa288cf
rsx: Use multithreaded shader compiler backend
2020-11-21 20:43:15 +03:00
Nekotekina
71f1021648
Fix thread pool entry point and get_cycles()
...
Fix possible race between thread handle availability.
Don't treat zero thread as invalid one.
Now entry point is full is assembly.
Attempt to fix #9282
Also fix some TLS.
2020-11-21 17:18:42 +03:00
kd-11
0e7a705254
rsx: Resolution scaling overhaul
...
- Enforce square pixels instead of per-axis scaling
2020-11-18 09:29:34 +03:00
Eladash
fefab50e06
Fix vm::range_lock, imporve vm::check_addr
2020-11-11 10:30:09 +03:00
Nekotekina
21ec32b465
vm: implement g_shmem for range locks
...
Renamed from g_shareable. Contains pointers instead of bits.
Used in range locks to prevent any "collision" between memory.
2020-11-08 16:43:15 +03:00
Nekotekina
1c99a2e7fb
vm: add map_self() method to utils::shm
...
Add complementary unmap_self() method.
Move VirtualMemory to util/vm.hpp
Minor associated include cleanup.
Move asm.h to util/asm.hpp
2020-11-08 16:43:15 +03:00
Megamouse
a3eb5c2d63
More Header cleanup
2020-11-06 22:14:05 +01:00
Nekotekina
ba5ed5f380
Fix vm::lock_range wrong check
...
Minor header refactoring.
2020-11-04 14:59:26 +03:00
Megamouse
027eba2b59
Add Quadro to fast version of VK get_driver_vendor
2020-11-04 12:13:56 +01:00
Megamouse
91b8e7504e
Set some things to log level always
2020-11-04 12:13:56 +01:00
Megamouse
36149fd986
overlays: kinda fix performance graph margins ( #9181 )
2020-10-31 16:32:31 +00:00
Megamouse
2cee26c3e7
Cleanup some includes
2020-10-31 11:53:46 +01:00
Megamouse
4984e87776
implement interception for cellKb and cellMouse
...
this needs to be tested
2020-10-31 02:11:27 +03:00
Eladash
b5014d56ab
rsx: Fix transform contants load
2020-10-31 02:08:03 +03:00
Nekotekina
13c564f2af
sys_memory: add cpu_flag::wait
2020-10-30 18:09:30 +03:00
Nekotekina
95aeebe4b5
sys_rsx: add cpu_flag::wait
2020-10-30 18:00:25 +03:00
Nekotekina
605d57c541
sys_event: cleanup (replace vm::temporary_unlock)
...
Also made minor changes in sys_rsx.cpp.
Removed unused exception std headers.
2020-10-30 17:49:07 +03:00
Nekotekina
f972fa26a4
Derive RSX Replay thread from cpu_thread
...
Its id is set to 0, so fix some id_type() usages.
2020-10-30 17:36:11 +03:00
Nekotekina
13de773486
Remove some vm::reservation_lock instances
2020-10-27 17:56:19 +03:00
kd-11
b32eecb5a7
rsx: Driver compatibility improvements ( #9131 )
...
* rsx: Refactor vertex clip emit to avoid using f64 unnecessarily
- Fixes driver crash on intel
* vk: Add NVIDIA driver version check
- Warn if user has outdated drivers with known problems
2020-10-27 13:22:15 +03:00
kd-11
18ca3ed449
rsx: Block-level reservation access
2020-10-25 20:21:04 +03:00
Nekotekina
306593a0c5
Revert "atomic.cpp: fixup for WaitOnAddress path"
...
This reverts commit 3b8bce1bed .
2020-10-21 09:54:22 +03:00