Nekotekina
5bd17a44c9
Add fallback implementation for waitable atomics
...
May improve perf on OSX/BSD
2019-08-02 18:37:23 +03:00
Eladash
72fb3ba794
perf hotfix for sys_timer_usleep
2019-08-01 23:38:09 +03:00
kd-11
f0bd0b5a7c
rsx: Conditional render sync optimization
...
- ZCULL queue was updated to one-per-cb but the conditional render sync hint was not updated.
- Do not unconditionally flush the queue unless the upcoming ref is contained in the active CB.
- This avoids spamming queue flush, which frees up resources and improves performance
2019-07-30 21:13:42 +03:00
Malcolm Jestadt
d689a6e47b
vk: Don't warn RADV users on LLVM 8.0.1
...
- The 'back screen' issue on RADV was resolved with LLVM 8.0.1
2019-07-30 19:56:05 +03:00
eladash
e40b76b253
sys_lwcond: Extract protocol from lwmutex at creation
...
This is the only reason theres a need to specify lwmutex_sq id at creation. unlike sys_cond, lwcond isn't connected to lwmutex at the lv2 level.
SYS_SYNC_RETRY fix is done explicitly at the firmware level.
This fixes issues when the original lwcond and lwmutexol data got corrupted or deallocated, this can happen when the program simply memcpy the control data to somewhere else.
Or if it uses direct lv2 the lwcond conrol param can even be NULL which will make it access violate when dereferncing it. (This param is unchecked and can be anything)
2019-07-29 21:58:04 +03:00
eladash
7508ae6e65
Add EAGAIN check for sys_memory_contianer_create
2019-07-29 21:55:59 +03:00
eladash
1e5e0f3b5e
make sys_fs_closedir atomic
2019-07-29 21:55:59 +03:00
Nekotekina
949f33c8a4
Fix sys_config_get_io_event syscall name
2019-07-29 21:55:59 +03:00
Nekotekina
c6993d3f1c
Change bits of waitable atomics
...
Reduce max waiter count to 2^14.
Refactor code to use waiter_mask and signal_mask constants.
2019-07-29 21:55:59 +03:00
Nekotekina
e1db6cef6f
Remove ignored bits in waitable atomics
...
It was not implemented correctly.
2019-07-29 21:55:59 +03:00
Eladash
829047ecdb
ppu disasm: Improve ORI and ORIS disassembly
2019-07-29 18:28:39 +03:00
Nekotekina
f63e89f9b4
Implement waitable atomics
...
Moved Atomic.h to util/atomic.hpp
List source files in CMakeLists.txt
2019-07-29 03:04:55 +03:00
Nekotekina
ec2db8edbc
Correct get_int_t to get_uint_t.
...
Add get_sint_t.
2019-07-29 00:12:07 +03:00
Eladash
997e3046e3
vm/sys_overlay Improvements
...
- Implement sys_overlay_load_module_by_fd.
- Implement special segment allocation when ppc_seg flag is specified.
2019-07-28 14:23:58 +03:00
Megamouse
65134f73d6
Qt: properly scale icons in trophy manager
2019-07-27 15:29:05 +02:00
Megamouse
76a1fd5c88
Qt: simplify game list icon resize
2019-07-27 15:29:05 +02:00
kd-11
1de90bdb1f
rsx: Improve aliased data preservation
...
- Carve out inherited region if any
- Perform pitch compatibility test before assigning old_surface
2019-07-27 16:09:21 +03:00
msuih
738cfccbba
Save manager improvements
2019-07-27 11:48:37 +02:00
Eladash
230c3d55b6
Fixup
2019-07-27 04:03:29 +01:00
Eladash
fcc75c8b0f
rsx: Write atomically semaphore updates and fix zcull timestamp
2019-07-26 21:27:55 +03:00
Eladash
22994d15fb
Fix cellCamera events support with clocks scaling
2019-07-26 21:27:55 +03:00
Eladash
c53f0dd7b5
rsx: Fix gcm unmap events
2019-07-26 21:27:55 +03:00
Megamouse
b56b425b19
Emu: set m_title to the actual disc game title
2019-07-25 08:53:07 +02:00
Megamouse
b44b44b3c4
Qt: cleanup some comments
2019-07-25 08:53:07 +02:00
Megamouse
71c56b719c
Emu/overlays: fix background picture path
2019-07-25 08:53:07 +02:00
Nekotekina
090c71aa7c
TSX: Improve cpu_thread::suspend_all implementation
...
Implement low_lock and vip_lock (for shared_mutex).
Try to simplify suspend_all implementation with updated shared_mutex.
2019-07-24 17:25:52 +03:00
Eladash
49aefc0795
Prefetch MFC list elements ( #5345 )
...
* Prefetch mfc list elemets to protect from overwriting
Also move some stuff away from command processing such as a few constant arguments setup
2019-07-24 01:13:45 +03:00
Eladash
85b1152e29
Timers scaling and fixes
2019-07-23 00:09:01 +01:00
Eladash
d17be2c2ec
Fix similar bug in sys_rsx_context_iomap
...
TODO: Is there an rsxmem unmap event for those cases?
2019-07-22 15:16:43 +03:00
Eladash
cf4d715284
typo fix (to squash)
2019-07-22 15:16:43 +03:00
Eladash
2b721b9e29
correctness fix
...
Not that it really matters because of gcm's lwmutex but just in case the syscall is useb directly.
2019-07-22 15:16:43 +03:00
Eladash
492c9e3c7c
Fix sys_rsx_context_iounmap partial unmapping
2019-07-22 15:16:43 +03:00
Rui Pinheiro
070c3af50f
Initial sys_config implementation
2019-07-22 02:44:45 +03:00
Megamouse
6128fffd3e
Qt: make text labels in about dialog selectable
2019-07-21 20:07:19 +02:00
Silent
66c1143a65
Improvements to Virtual File System dialog:
...
- Replace Add Directory and Reset buttons with + and - buttons
- Add a confirmation message before Reset All
- Rename "Okay" to "Save" (to be in line with the rest of the UI) and add a Close option to quit without savin
2019-07-21 13:25:43 +02:00
Silent
f5f0a5aa19
Use move semantics with several shared pointers in vfs_dialog, they need not be copied
2019-07-21 13:25:43 +02:00
Megamouse
78ecacabcb
input: keep pads intercepted while regular buttons are still pressed
2019-07-21 10:18:59 +02:00
kd-11
9a7c2784f0
rsx: Do not clip scissor to viewport when doing buffer clear
2019-07-20 16:39:32 +03:00
kd-11
e2574ff100
rsx: Support CSAA transparency without multiple rasterization samples enabled
2019-07-19 15:49:08 +03:00
Malcolm Jestadt
79ddf55937
Fix decryption filtering for case sensitive platforms
...
- Filter for .BIN instead of .bin
2019-07-19 14:46:53 +03:00
kd-11
b5a2f0df68
rsx: Implement separate viewport raster clipping
...
- Merge viewport raster window and scissor into one clipping region
- Viewport raster clip is different from viewport geometry clipping in
hardware as the latter is configurable separately
2019-07-19 14:21:19 +03:00
Nekotekina
1b140c8e97
SPU Recompiler: optimize JIT memory consumption
...
Avoid rebuilding trampoline for every function at startup.
This should fix Out of Memory error in some cases.
2019-07-19 04:56:35 +03:00
msuih
95b6883ad4
Tiny typo fix
2019-07-18 19:16:17 +02:00
msuih
d9c311737d
Keep custom name when adding/removing game-specific config
2019-07-18 19:16:17 +02:00
scribam
a268415121
vk: Use macros from Vulkan SDK
2019-07-17 17:56:29 +03:00
kd-11
ea2f4d57fa
rsx: Fixups
2019-07-17 13:29:42 +03:00
kd-11
113a49e00c
rsx: Handle cyclic references when doing memory inheritance
2019-07-17 13:29:42 +03:00
kd-11
34b06453f9
rsx: Handle lost data due to unused data sections
...
- After splitting, the sections may not be referenced at all for anything other than just pixel storage
- In such cases, either merge down or sample from the upstream source instead
2019-07-17 13:29:42 +03:00
kd-11
998717659f
rsx: Fix reference leak when cloning surfaces
2019-07-17 13:29:42 +03:00
kd-11
009e01a347
rsx: Set up for multi-section inheritance
2019-07-17 13:29:42 +03:00
Alex James
397e5dd1ea
Qt/game_list_frame: Ignore file entries when adding disc/game directories
...
Fixes #6212 .
2019-07-16 15:58:52 +03:00
Nekotekina
736ec4035e
Fixup for SPU Recompilers, regression after #6210
2019-07-15 19:51:58 +03:00
Nekotekina
cb5c26f2b5
Fix SPU Interpreter regression after #6147
2019-07-15 16:34:34 +03:00
Eladash
1e2f81dd33
kernel explorer typo fix
2019-07-15 15:50:40 +03:00
Nekotekina
c01f1a8968
Avoid transitive include of vm_ref.h
...
Add forward declarations of vm::_ref_base
Remove default AT = u32 in _ptr_base and _ref_base (doesn't play well).
2019-07-15 15:46:46 +03:00
Nekotekina
cfa1416d64
sys_spu: add vm::temporary_unlock
2019-07-14 18:33:23 +03:00
Nekotekina
1a1eff66bc
sys_timer: add vm::temporary_unlock
2019-07-14 18:21:56 +03:00
Nekotekina
bc1617758c
sys_semaphore: add vm::temporary_unlock
2019-07-14 18:18:03 +03:00
Nekotekina
6126a98111
sys_rwlock: add vm::temporary_unlock
2019-07-14 18:14:15 +03:00
Nekotekina
e1293b14f8
sys_net: add vm::temporary_unlock
2019-07-14 18:11:00 +03:00
Nekotekina
f5ee8c1292
sys_interrupt: add vm::temporary_unlock
2019-07-14 18:08:18 +03:00
Nekotekina
0a88a23bf5
sys_event: add vm::temporary_unlock
2019-07-14 18:06:02 +03:00
Nekotekina
cbfa6cc91f
sys_vm: add vm::temporary_unlock
2019-07-14 17:55:26 +03:00
Nekotekina
38d4e3c184
sys_mmapper: add vm::temporary_unlock
2019-07-14 17:51:03 +03:00
Nekotekina
7398cfc950
sys_event_flag: add vm::temporary_unlock
2019-07-14 17:37:58 +03:00
Nekotekina
22e4ef147a
SPU TSX: fix "Preferred SPU Threads"
2019-07-14 17:33:20 +03:00
Megamouse
9ff6486c85
Qt: Fix small controller icon in pad settings for high dpi modes
2019-07-14 16:19:02 +02:00
Eladash
3de885c7a6
Dealloc exec cache after sys_prx/overlay_unload_module
...
Must come before vm::dealloc of it.
2019-07-13 16:59:58 +03:00
Megamouse
3d6c211382
Qt: fix app versions after a patch was removed from the game list
2019-07-13 10:50:41 +02:00
Malcolm Jestadt
94af3b3f03
vk: Fix Linux Vega float16_t workaround
...
- It was disabling float16_t for non Vega cards
2019-07-12 12:25:46 +03:00
yahfz
ae055f6792
Set the default SPU Decoder to LLVM and rename SPU LLVM to "fastest"
2019-07-11 23:39:27 +02:00
Eladash
17c8ac9ab8
rsx: Debugger output text fix
2019-07-12 00:19:56 +03:00
Eladash
c4d8ef4340
rsx: Allow to configure vblank rate
...
Removed "HLE protection" hack from sys_rsx_context_attribute
2019-07-12 00:19:56 +03:00
Eladash
efbae02a22
Fix Emu.Stop() with vulkan device enumeration hack
2019-07-11 23:34:29 +03:00
Silent
f3551cedb7
rsx: Swap R and B channels in SET_BLEND_COLOR since this color is BGRA, not RGBA
2019-07-11 22:51:01 +03:00
RipleyTom
6c6b973342
Microphone implementation
2019-07-11 20:13:12 +01:00
kd-11
2898309f68
vk: Silence some debug prints
...
- This message confuses some users
2019-07-11 13:22:13 +03:00
kd-11
fc09572648
rsx: Implement texel border decode
...
- Texel borders are no longer actually supported in modern APIs
- Removes the border texels and uses border color instead which is incorrect but should work fine
2019-07-11 13:22:13 +03:00
kd-11
d8f753f1e8
rsx: Do not allow framebuffer surfaces that exceed their allocated pitch dimensions
...
- Truncate surfaces to forcefully fit inside the declared region
2019-07-11 13:22:13 +03:00
Eladash
537d3f2548
Log last function on debug pause or exception, dump cpu_thread state on access violation
2019-07-10 17:35:39 +03:00
Eladash
d7a2d42d8f
MFC: Fix Tag Status report for sync/eieio/barrier commands
2019-07-10 17:35:39 +03:00
Silent
2016a33277
Fixed behaviour of buttons in Welcome, Find, Settings, VFS and Debugger dialogs - now reacting to button click, not press
2019-07-10 13:14:05 +03:00
Margen67
ab228d6407
Fix #6180 (typo in UI options)
2019-07-10 07:55:01 +02:00
Eladash
78e447e28c
rsx: Typo fix
2019-07-09 22:47:55 +03:00
kd-11
2548057ea0
vk: Improve AMD driver support
...
- Workaround broken fp16 in AMDVLK/RADV
- Do not disable primitive restart as the issue seems to have been fixed
2019-07-09 16:27:59 +03:00
kd-11
956270d9be
gl: Add readback/writeback config for format GL_R16
2019-07-09 16:27:59 +03:00
kd-11
c072c511a1
rsx: Add support for slice padding rows when gathering slices for cubemap/3d
2019-07-09 16:27:59 +03:00
kd-11
9ca6546dec
vk: When reusing resources, make sure to reinitialize the component layout
2019-07-09 16:27:59 +03:00
kd-11
0cc672dcb3
vk: "Improve" initialization hack
...
- Change default alpha to 1 from 0
- TODO: Implement memory tagging for synchronizing this
2019-07-09 16:27:59 +03:00
kd-11
219a5382f7
rsx: If no array streams are enabled, mark inline array as disabled (null render)
2019-07-09 16:27:59 +03:00
kd-11
7840cd914e
rsx: Fixup nv3089::image_in
...
- Correct pitch when sourcing from temp block
- Remove obsolete? double transfer that also introduced a stale pointer reference to freed memory
2019-07-09 16:27:59 +03:00
kd-11
c47f4fd59e
vk: Fix frame skipping
2019-07-09 16:27:59 +03:00
Nekotekina
b9130dd663
Remove redundant const on return value in rsx_methods.h
2019-07-09 12:09:21 +03:00
Nekotekina
d1db6a6827
Revert incorrect usage of le_t in name_u64
2019-07-09 12:07:58 +03:00
Eladash
6fba3dd90c
Misc correctness improvement
...
Use let_<u64> for name_64 and prefer it when possible.
2019-07-09 11:52:34 +03:00
Eladash
d57b4dc8f3
rsx: Refactor rsx_decode.h and bugfixes
2019-07-09 11:52:34 +03:00
Nekotekina
92c08be387
Build with -fno-strict-aliasing
...
Doesn't affect MSVC build since MSVC already works in a similar manner.
2019-07-08 19:39:44 +03:00
kd-11
50736263d2
gl: Fix native pitch computation
2019-07-08 18:04:56 +03:00
Eladash
6d65d3424f
rsx: Clamp fragment shaders address
2019-07-06 20:58:18 +03:00
Eladash
4c2fb54b99
Fix possible inconsistencies for sys_memory mem stats report
2019-07-04 22:35:22 +03:00