Nekotekina
81c61e230f
Use std::from_chars in Emulator::SetUsr
2019-11-08 19:27:11 +03:00
Nekotekina
218758183d
Avoid exceptions in cfg::try_to_int64 and cfg::try_to_enum_value
...
Use std::from_chars plus minimal hex prefix support.
2019-11-08 19:27:11 +03:00
Nekotekina
ccac9d4777
Remove throwing and catching cpu_flag::stop
...
Since there is spu_runtime::g_escape function now.
2019-11-08 19:27:11 +03:00
Nekotekina
e74a311931
GDB: remove wrong_checksum_exception
2019-11-08 19:27:11 +03:00
Nekotekina
587ae17aa2
Simplify fmt::throw_exception
...
Gradual exception deprecation: disallow choosing exception type.
However, the function itself can remain here forever.
2019-11-08 19:27:11 +03:00
Nekotekina
b338014639
Don't throw in operators _u16 _u32 _u64
2019-11-08 19:27:11 +03:00
Nekotekina
742bd633d8
Remove fs::file::set_delete
...
Since it's Windows-only functionality with limited use.
2019-11-08 19:27:11 +03:00
Nekotekina
d6087978b5
Fix vfs::host::unlink (Win32)
...
Use fs::get_virtual_device properly.
2019-11-08 19:27:11 +03:00
kd-11
63673b1a9f
rsx: Implement full color remap for the D24S8->ARGB8 converter
2019-11-08 19:11:59 +03:00
Nekotekina
24fdd24808
Fix vfs::host::remove_all
...
Separate WIN32-specific logic.
Don't call fs::remove_all on WIN32 path.
2019-11-07 21:21:21 +03:00
RipleyTom
4ff6acf6ba
Fixes evdev settings & multiple pads handling
2019-11-07 15:02:01 +03:00
Eladash
af0bd7136d
PPU Disasm: Fix RC OE enabled instructions view
2019-11-07 14:09:23 +03:00
kd-11
8d1505752f
rsx: Validate depth test setup to avoid address contention
2019-11-07 11:32:44 +03:00
Megamouse
77ac875b0b
Qt: adjust custom context menu positions
2019-11-06 19:26:29 +01:00
Nekotekina
03b9ee27c5
Virtualize cellSysCache
...
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
kd-11
508ffcb775
vk: Compute kernel fixups
...
- Adhere to workgroup count limits as exposed by the GPU vendor.
They already execute properly even when going beyond the limits but this removes validation noise.
- Fix invocation counts for deswizzle kernel. The count was incorrect if blocksize was not 4, causing a bunch of useless work to be done.
2019-11-05 22:07:22 +03:00
kd-11
99d71fdc2a
vk: Implement layer batching for the GPU swizzle decoder
...
- Handles all LODs per layer meaning cubemaps are now fully handled in 6 passes instead of 6 * (log2(width)) passes.
- Handles all LODs of a 3D texture in one pass as well.
- The improvements do warrant dropping down the number of allowed compute invocations a bit
2019-11-05 22:07:22 +03:00
kd-11
7a0b94f343
vk: Minor compute optimizations
...
- Remove use of uniform buffers for compute static data. Use push
constants instead.
- Minor touchups to the deswizzle code to avoid redundant data copies.
2019-11-05 22:07:22 +03:00
kd-11
1266b63135
vk: Enable gpu deswizzling
2019-11-05 22:07:22 +03:00
kd-11
9cd3530c98
rsx: Set up framework for hw deswizzle
2019-11-05 22:07:22 +03:00
Nekotekina
531afe0f97
atomic2: fix pessimisations
2019-11-04 22:53:26 +03:00
Nekotekina
ec25deed2b
atomic2: fix corruption bug
2019-11-04 22:52:45 +03:00
Nekotekina
be306afae9
atomic2: add TSX path for multi_cas
2019-11-04 22:52:24 +03:00
Nekotekina
1f9250e39a
Linux: disable update check at startup if not running from AppImage
2019-11-04 22:52:03 +03:00
Nekotekina
da135fbfcc
SPU LLVM: Disable "special" branch patchpoints
2019-11-04 22:52:03 +03:00
kd-11
57d3c9e171
rsx: Take empty queries into account for engines that spam report reads.
...
- Some games will spam the report queue with requests but have zpass
statistics enabled.
2019-11-04 18:48:41 +03:00
kd-11
2a8f2c64d2
rsx: Implement report transfer deferring
...
- Allow delaying report flushes triggered by image_in or buffer_notify
- When the report is ready, all the delayed transfers will automatically
be done.
- TODO: Make this configurable?
2019-11-04 18:48:41 +03:00
kd-11
3e0f9dff4d
vk: Improve zcull synchronization
...
- Use zcull sync hints more aggressively
2019-11-04 18:48:41 +03:00
kd-11
fe3c290d03
vk: Reimplement occlusion result reading
...
- Implement partial result reads
2019-11-04 18:48:41 +03:00
kd-11
51e0eaaddc
rsx: Implement backend notification for upcoming zcull reads
2019-11-04 18:48:41 +03:00
kd-11
df63de8f16
rsx: Allow u32 restart index with full index width
2019-11-04 16:56:34 +03:00
kd-11
6b3af09fa5
vk: Improved crash message for missing MSAA features
2019-11-04 16:56:34 +03:00
ipkpjersi
8ed45a0553
Qt: Fixed plurals of time played strings ( #6937 )
2019-11-03 21:22:23 +01:00
Silent
e1638b9326
Fix context menu showing twice in Game List
2019-11-03 20:13:20 +01:00
Eladash
7475be99ab
lv2: Check ipc_key value if object is process shared
2019-11-03 14:59:47 +03:00
Eladash
d2f3ada312
bf_t: Remove <limits> lib dependency
2019-11-03 14:59:47 +03:00
eladash
33fe0fdd6b
Add missng check for key in cellAudioSetNotifyEventQueue
...
key is checked once according to hw test.
2019-11-03 14:59:47 +03:00
Megamouse
3be92ec52b
Qt: implement time played and last played
2019-11-02 12:48:12 +01:00
RipleyTom
35c0c05707
Stop autoupdater renaming file across devices
2019-11-02 12:31:38 +03:00
Nekotekina
f75661bfae
Fix ALSA and PULSE building on Linux (workaround)
2019-11-01 20:41:16 +03:00
Nekotekina
35249d2578
Implement multi_cas with atomic2 type
...
stx::atomic2 is a "fat atomic" for use with multi_cas.
stx::multi_cas is minimal transaction routine.
2019-11-01 20:41:16 +03:00
kd-11
bbed791ee0
vk: Add explicit support for identity image views
...
- Allows bypassing all remap shenanigans to make some operations that
rely on the raw image to work correctly.
2019-11-01 19:35:46 +03:00
Emmanuel Gil Peyrot
03a2d36c7e
Audio: don’t build ALSA, PulseAudio or FAudio backends when disabled
2019-10-31 15:46:20 +03:00
kd-11
63bbf11a76
vk: Add video out calibration pass
...
- Adds gamma correction and RGB range filters to output to match PS3
2019-10-31 14:43:24 +03:00
kd-11
78aefe5b5e
rsx/overlays: Add support for other primitive types other than triangle_strips
2019-10-31 14:43:24 +03:00
Nekotekina
e3e7051ed3
Minor optimization in BufferUtils.cpp
...
Don't use PSHUFB for horizontal operations.
Utilize PHMINPOSUW to compute max as well:
+ sse41_hmin_epu16
+ sse41_hmax_epu16
2019-10-30 18:52:34 +03:00
Nekotekina
b1968769b7
Minor cleanup in BufferUtils.cpp
...
Replace inline asm with intrinsic using target attribute trick.
2019-10-30 17:53:51 +03:00
linkmauve
cfd5cf6bdb
Optimise primitive_restart::upload_untouched() ( #6881 )
...
* rsx: Optimise primitive_restart::upload_untouched() with SSE4.1
This optimisation is only applied when skip_restart is false.
I’ve only tested the u16 codepath, as it is the one used in NieR.
In some very unscientific profiling, this function used to take 2.76% of
the total frame time at the save point of the port town, it now takes
about 0.40%.
* rsx: Mark all SSE4.1 functions with attributes on gcc and clang
This assures the compiler we will take care of only calling these
functions after having checked that the CPU does support these
instructions.
* rsx: Add an AVX2 implementation of primitive restart ibo upload
* rsx: Remove redefinition of SSE4.1 instructions
Now that clang is aware that our functions are compiled with SSE4.1, it
lets us generate this code using its intrinsics.
* rsx: Optimise vector to scalar conversion
This is done using minpos and srli intrinsics and generate less code
than before.
Thanks Nekotekina for the suggestion!
2019-10-30 16:42:44 +03:00
kd-11
35794dc3f2
vk: Add checks for alphaToOne support
...
- This feature is very rarely used, as alphaToCoverage is commonly used as a replacement for blending, not in addition to it.
2019-10-30 01:06:28 +03:00
Eladash
f41f5054f7
sys_spu Fixup after #6864
2019-10-29 23:13:16 +03:00