1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 20:22:30 +01:00
Commit Graph

6851 Commits

Author SHA1 Message Date
kd-11
d48f391b41 lv2: Ease the pain of lower end CPUs
- Avoid busy waiting in usleep code as much as possible, instead yield
- Also avoid busy_wait for SPU concurrency choker
2018-05-29 13:54:30 +03:00
kd-11
83f9be2524 rsx: Promote FIFO optimizations outside of strict mode
- The benefits of FIFO optimizations are huge in some cases.
  The optimizations also do not break any tested applications so no need to disable with strict mode
- A debug option is provided to disable this behaviour for testing
2018-05-29 13:54:30 +03:00
kd-11
be13a776f4 lv2: Reimplement sys_timer_usleep
- Matches ps3 accuracy for all tested values with few exceptions
- Do not enter the host OS kernel if waiting for less than 500us to avoid scheduler issues
2018-05-29 13:54:30 +03:00
kd-11
2adb2ebb00 overlays: Avoid race condition on remove-on-update views
- Improves cleanup code to consist of 2 parts, remove then dispose. Remove
  does not deallocate the item until dispose is called on it, allowing the
  backends to first deallocate external references.
- Caller is responsible for managing list locking and tracking disposable list
  of items when external references have been cleaned up before using
  dispose method.
2018-05-29 13:54:30 +03:00
Roberto Anić Banić
2bfafe4b0d Add SHA256 hash verification
Amended 3 times because of my stupidity...
2018-05-25 16:56:42 +04:00
Roberto Anić Banić
fed94e3823 Vulkan SDK Mirror
Setup Mirror for Vulkan SDK executable.
Let's not be assholes and append ?Human=True to the link cause we might get ourselves put on a blacklist if we keeep using it after the requirement stops.
If the mirror is down it will fail back to lunar cdn.
2018-05-25 16:56:42 +04:00
Jan Beich
c09c792636 GPUOpen: drop bogus include
GNU libc and musl have aligned_alloc() in <stdlib.h> while on BSDs
<malloc.h> shouldn't be used.

In file included from rpcs3/Emu/RSX/VK/VKMemAlloc.cpp:2:
In file included from rpcs3/../3rdparty/GPUOpen/include/vk_mem_alloc.h:2233:
/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
 #error "<malloc.h> has been replaced by <stdlib.h>"
  ^
2018-05-24 20:00:35 +04:00
kd-11
0fc67aa2f6 gl: fix wcb regression
- Partial framebuffers and blit targets are possible!
2018-05-24 10:36:04 +03:00
kd-11
493d4e8613 fixup - Improve invalidated region checks for performance 2018-05-24 10:36:04 +03:00
kd-11
b030d1900c rsx: Fixup - fix broken memory protection fail caused by region respec
- Some applications will alternate memory between framebuffer and texture data
2018-05-24 10:36:04 +03:00
kd-11
f38f61d110 vk: Clean up memory allocation and fix GPUOpen VMA for Radeon 2018-05-23 19:07:08 +03:00
kd-11
92b5a705d8 fixup - locking 2018-05-23 19:07:08 +03:00
kd-11
b957eac6e8 rsx: Avoid calling any blocking callbacks from threads that are not rsx::thread
- Defers on_notity_memory_unmapped to only run from within rsx context
- Avoids passive_lock + writer_lock deadlock
2018-05-23 19:07:08 +03:00
kd-11
d2bf04796f Optimized cached write-through
- Allows grabbing an unsynchronized memory block if overwriting contents
anyway
- Allows flushing only specified range of memory
2018-05-23 19:07:08 +03:00
kd-11
f8d999b384 fixup - range check 2018-05-23 19:07:08 +03:00
kd-11
fbf6581249 rsx: Fix segmented memory access for rsx::super_ptr 2018-05-23 19:07:08 +03:00
kd-11
d283200e13 vk: Do not do extension test if in a fast context (enum only) 2018-05-23 19:07:08 +03:00
kd-11
3f14bc6961 rsx: Silence some meaningless error 2018-05-23 19:07:08 +03:00
kd-11
f2a3167193 rsx: Lower format compatibility severity since it confuses some people 2018-05-23 19:07:08 +03:00
kd-11
8fcd5c1e5a rsx: Texture cache fixes
1. rsx: Rework section synchronization using the new memory mirrors
2. rsx: Tweaks
    - Simplify peeking into the current rsx::thread instance.
      Use a simple rsx::get_current_renderer instead of asking fxm for the same
    - Fix global rsx super memory shm block management
3. rsx: Improve memory validation. test_framebuffer() and
tag_framebuffer() are simplified due to mirror support
4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine
5. rsx: Explicitly mark clobbered flushable sections as dirty to have them
removed
6. rsx: Cumulative fixes
    - Reimplement rsx::buffered_section management routines
    - blit engine subsections are not hit-tested against confirmed/committed memory range
      Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops
2018-05-23 19:07:08 +03:00
pauls-gh
f8a0be8c3e Performance enhancement - Vulkan memory allocator (#4635)
* Incorporates the vulkan memory allocator from the AMD GPUOpen project
2018-05-23 17:02:35 +03:00
Nekotekina
00f5335895 Add Human=true in appveyor.yml 2018-05-23 15:36:29 +03:00
Nekotekina
c5d8d50908 Move SPU LLVM log file 2018-05-23 15:36:29 +03:00
Nekotekina
3e580afe21 SPU: remove passive lock (fixup) 2018-05-23 15:36:29 +03:00
scribam
2270b8d15c vulkan: link with vulkan-1.lib instead of VKstatic.1.lib 2018-05-23 13:54:27 +03:00
Megamouse
b230b0df0d Qt: Workaround for yet another hidden column resize 2018-05-22 16:27:33 +01:00
Megamouse
62efe6e5be Qt: set smaller default log frame height 2018-05-22 16:27:33 +01:00
Megamouse
7c031c2330 Qt: remove redundant visibility check in FixNarrowColumns 2018-05-22 16:27:33 +01:00
Megamouse
40d2341ef1 Qt: resize game list columns by default with slight spacing 2018-05-22 16:27:33 +01:00
Megamouse
f1670a9ea0 Qt: disable resizing trophy tables to contents by default 2018-05-22 16:27:33 +01:00
Megamouse
325048a134 Qt: apply header states after populating the tables 2018-05-22 16:27:33 +01:00
Megamouse
bff9a06f9f Qt: simplify occasions of restoreState 2018-05-22 16:27:33 +01:00
Megamouse
31101b4828 Qt: use correct menu icon for "Play last played game" on booting RPCS3 2018-05-22 16:27:33 +01:00
Megamouse
598008868e Qt: include QButtonGroup in settings_dialog.cpp in order to fix Qt 5.11 2018-05-22 16:27:33 +01:00
Nekotekina
72574b11ff SPU: use reservation spinlocks on writes (non-TSX)
This should decrease contention by avoiding global lock
2018-05-21 21:56:14 +03:00
Nekotekina
182259e4a5 cellSaveData fix 2018-05-21 21:47:04 +03:00
kd-11
c9669818eb Facepalm
- overlays: Do not free self handle!!!!
2018-05-21 15:55:25 +03:00
Nekotekina
6fd402bcf8 Transactions: drop RDTSC usage
Use simple increment (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina
fb0f5f0c8b Fix vm::reservation_notifier 2018-05-21 00:18:37 +03:00
Nekotekina
7a6db3dd7e spu_getll_tx: diagnose loop count 2018-05-21 00:18:37 +03:00
Nekotekina
295f782b30 spu_putlluc_tx: diagnose loop count 2018-05-21 00:18:37 +03:00
Nekotekina
a33f297315 Replace notifier::lock_shared() with try_lock_shared()
Also add notify_one(), try_lock() and unlock()
Move some code in cond.cpp
2018-05-21 00:18:37 +03:00
Nekotekina
8d5bbfb850 Update SPU dump: print current MFC cmd 2018-05-21 00:18:37 +03:00
Nekotekina
33a1c743a4 Transactions: move loops inside
Rewrite loops in assembler (minor optimization)
2018-05-21 00:18:37 +03:00
kd-11
f6f45b8699
Native UI refactored (#4623)
Refactor and improve native overlays
2018-05-20 23:05:00 +03:00
Megamouse
68fff54a8b cellSaveData: don't return after funcStat was successful in savedata_op
also add some missing constants
2018-05-20 23:16:11 +04:00
Megamouse
c61049b76f Qt: Fix missing rows in our beloved trophy manager 2018-05-20 14:29:56 +04:00
Megamouse
f8bbdc39c5 Qt: Change Trophy Manager to use item selection instead of double click 2018-05-20 14:29:56 +04:00
Megamouse
4c03348e60 Qt: Restrict trophy manager combo box size 2018-05-20 14:29:56 +04:00
VelocityRa
05efa7d957 build: Add xxHash as an emucore dependency (fixes Windows build)
Previously needed to manually build the xxhash project before emucore (linker error)
2018-05-20 03:03:24 +01:00