Commit Graph

9009 Commits

Author SHA1 Message Date
Nekotekina
b70c08a2e8 Revert "Remove shared_cond and simplify reservation waiting"
This reverts commit 0a96497e13.
2019-09-14 00:02:48 +03:00
Nekotekina
c9170bbb88 Fix lf_queue::wait
Remove incorrect loop
2019-09-13 23:52:18 +03:00
Nekotekina
223319dd2e Abort named_thread in cpu_thread::stop_all 2019-09-13 15:53:38 +03:00
Nekotekina
e982871ab5 atomic.hpp: increase hashtable capacity
Double size and ignore 2 lowest bits (effectively x8)
2019-09-13 15:53:34 +03:00
Nekotekina
2fc8844315 atomic.hpp: add atomic wait mask support 2019-09-13 15:53:34 +03:00
kd-11
c59cb1bdd3 rsx: Allow only sse4.1 capable CPUs to take the accelerated index path
- Older sets lack the required min/max functionality
2019-09-13 12:28:52 +03:00
Megamouse
dadfdc35f4 Qt: add --styles cli arg 2019-09-13 10:30:56 +02:00
Megamouse
2ab19efb90 Qt: Enable stylesheet cli args and add stylesheet option "None" 2019-09-13 10:30:56 +02:00
Silent
3e9ed9a17d Make "Clear shader cache" clear all caches, not just the first (#6538)
* Use QFileInfo::suffix to obtain and check for file extension when clearing caches

* Clear all shader caches for the game, not just the first
2019-09-13 09:14:52 +02:00
Megamouse
32a4c2242b sceNp: fixups 2019-09-13 06:18:49 +02:00
kd-11
52e8747b83 rsx: Workaround for exit deadlock
- Avoids games locking up when the stop button is pressed
2019-09-12 23:32:21 +03:00
kd-11
cc313b052f rsx: Improve hit testing when scanning for overlapping surfaces
- Calculate exact sizes when doing hit tests to avoid false negatives
- Defer page checking until actually require to do memory setup
- Introduce align2 helper to do non-pow2 alignments
2019-09-12 23:32:21 +03:00
kd-11
9842823a8c rsx: Check if memory actually exists when overallocating blit targets 2019-09-12 23:32:21 +03:00
kd-11
cd1345b6bb rsx: Do not use nul section if resolution scaling is active on a surface 2019-09-12 23:32:21 +03:00
kd-11
858014b718 rsx: Experiments with nul sink 2019-09-12 23:32:21 +03:00
kd-11
212ac19c11 vk: Reimplement DMA synchronization 2019-09-12 23:32:21 +03:00
kd-11
f06559412e vk: RDB fixup 2019-09-12 23:32:21 +03:00
kd-11
7fdb4976d8 rsx: Remove log spam for cond render 2019-09-12 14:08:21 +03:00
kd-11
60845daf45 rsx: Improve use of CPU vector extensions
- Allow use of intrinsics when SSSE3 and SSSE4.1 are not available in the build target environment
- Properly separate SSE4.1 code from SSSE3 code for some older proceessors without SSE4.1
2019-09-12 14:08:21 +03:00
kd-11
27af75fe71 rsx: Fixup for blit engine when moving inverted regions
- Properly calculate overlap range when sections are inverted
- Simplify transfer logic for inverted regions
2019-09-11 23:30:55 +03:00
Nekotekina
c1b0934f72 Simplify thread_base::join()
Use waitable atomics
2019-09-10 19:25:39 +03:00
Nekotekina
4504ac2d12 atomic.hpp: implement collision fallback properly
Should prevent devastating effect of collisions
2019-09-10 19:25:39 +03:00
Nekotekina
0a96497e13 Remove shared_cond and simplify reservation waiting
Use atomic wait for reservations
Cleanup some obsolete code
2019-09-10 19:25:39 +03:00
Nekotekina
d13ff285d1 Rewrite cond_variable to use waitable atomics
Increase max_timeout and fix max_timeout usage
2019-09-10 19:25:39 +03:00
Nekotekina
67f31c17d1 atomic.hpp: fix signal saturation logic
Make sure to notify_all at max signal count.
2019-09-10 19:25:39 +03:00
Nekotekina
92a75cfa80 Remove unique_cond
Not very useful.
2019-09-10 19:25:39 +03:00
Nekotekina
a808c2aaf6 atomic.hpp: optimize internal logic
Move waiter count to highest bits to prevent false futex wakeups.
Test pointer bits properly in notify_all to avoid false wakeups.
2019-09-10 19:25:39 +03:00
Nekotekina
aa99faa85d atomic.hpp: add timeout support 2019-09-10 19:25:39 +03:00
Nekotekina
a45f86a4a2 Remove notifier class
Poorly implemented condition variable.
2019-09-10 19:25:39 +03:00
Nekotekina
b91661ae71 Remove timeout support from lf_queue::wait
Add notify method and use atomic wait
2019-09-10 19:25:39 +03:00
Nekotekina
faba366f89 named_thread: install atomic wait callback 2019-09-10 18:48:46 +03:00
Nekotekina
1668d6ee1b atomic.hpp: implement wait callback interface
Will be used to wake up threads uniformly.
2019-09-10 17:43:04 +03:00
Jan Beich
53e7f6c5a5 Thread: drop is_leaf_function after 5e3bacbd9b 2019-09-10 17:41:15 +03:00
kd-11
412c620b9d rsx: Allow sampling from shader_read resources for blit engine
- With harmonization between all texture types implemented, there is no difference between blit_engine_src and shader_read for supported formats
- Adds extra format filtering to ensure no conflicts when copying data
2019-09-10 16:54:02 +03:00
kd-11
75fcfac00e rsx: Modify find_cached_texture to respect gcm_format. Can pass 0 for "dont care" 2019-09-10 16:54:02 +03:00
Wojtek Arabczyk
cb66d05693 Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp 2019-09-09 19:16:02 +03:00
Megamouse
aa262889f2 cellVdec: add error_code 2019-09-08 20:54:43 +03:00
Megamouse
6aacec4694 cellMouse: add error_code 2019-09-08 20:54:43 +03:00
Megamouse
c111209639 cellGem: add error_code 2019-09-08 20:54:43 +03:00
Nekotekina
0fcddf6568 Audio: restore snd_pcm_recover for ALSA backend
But don't push audio data after recover as before.
2019-09-08 20:49:51 +03:00
Nekotekina
aaf1b4c668 Fix gcc warning in bit_cast 2019-09-08 19:27:29 +03:00
Nekotekina
693d54553c Fix compilation 2019-09-08 19:26:10 +03:00
Megamouse
cb00b71c4b sceNp: add error_code and some param checks (#6416)
* sceNp: add error_code and basic implementations

* sceNp: and fix some structs

* sceNpSns: improvements

* sceNpUtil: improvements

* sceNpTus: improvements
2019-09-08 18:36:10 +03:00
kd-11
d1603fbb0b vk: Crop malformed image descriptors
- Some image descriptors (lle vdec?) are malformed with pitch being smaller than width
- Crop these for now pending hardware tests
2019-09-08 18:22:27 +03:00
kd-11
f53361b966 rsx: Fix fast texture copy when src_pitch != width * block_size
- Happens on mipmapped linear images
2019-09-08 18:22:27 +03:00
Nekotekina
0c69b7da8f Fix ppu_interpreter::MTFSFI
Out of bounds error.
2019-09-08 14:50:50 +03:00
Nekotekina
798434aada Remove spin wait loop in cpu_thread::check_state
It was mostly dead code.
lock_unlock() method already has spin waiting logic.
2019-09-08 14:50:50 +03:00
kd-11
0af9685381 rsx: Deprecate surface_transform::argb_to_bgra which is no longer required.
- vulkan now uses native swizzle mapping for both surface and texture
2019-09-08 13:56:41 +03:00
kd-11
312bf6840e vk: Fix surface_transform::argb_to_bgra transfers when no scaling is requested 2019-09-08 13:56:41 +03:00
kd-11
cbce309199 vk: Fix depth_stencil scaling 2019-09-08 13:56:41 +03:00