Commit graph

6039 commits

Author SHA1 Message Date
Megamouse 4419e5d838 Qt: add possibility to copy 'Name [Serial]' 2018-06-19 20:45:00 +04:00
Megamouse 27a94308a7 Discord fixes 2018-06-19 20:45:00 +04:00
Megamouse 0c4cdaa7d3 Qt: add boot by pressing enter or return while having an item selected 2018-06-19 17:13:08 +03:00
Zion Nimchuk 87194e5887 Make register editor dialog work 2018-06-19 14:06:26 +03:00
VelocityRa 392a4bdc0b Qt: Add perf overlay position to settings dialog 2018-06-18 22:34:26 +03:00
VelocityRa dd0684b58a overlays/perf_overlay: Make pos, font, opacity, margin configurable
- Also some perf overlay refactoring
2018-06-18 22:34:26 +03:00
VelocityRa 58f4b26134 overlays: Consider padding when auto-resizing label elements
- Also make auto_resize return whether it changed the size
2018-06-18 22:34:26 +03:00
VelocityRa 84d1cf5065 overlays: Change how padding and margin work
- Also add 3 helper functions to compiled_resource
2018-06-18 22:34:26 +03:00
VelocityRa 07731d0228 overlays: Fix text rendering position
- It should be offset by one line, not half
- Also tweak every overlay element affected by this
  to look as it used to
2018-06-18 22:34:26 +03:00
VelocityRa 44449dd9e9 overlays: Refactoring
- Use names for overlay command config and vertex data instead of std::pair.
- Make a couple of compiled_resource constructors explicitly named functions.
2018-06-18 22:34:26 +03:00
kd-11 c60f7b89ba vk: Implement safe typeless transfer
- Used to transfer D32S8 data where it makes sense to use this variant
 - On nvidia cards, it is very slow to move aspects from D24S8 probably due to the format being faked.
   For this reason, the unsafe variant is used for both D16 and D24S8 to avoid the heavy performance loss
2018-06-18 17:32:22 +03:00
kd-11 0d61bae1b9 vk: Performance fix for RADV
- RADV does not keep a mapping ptr around for subsequent remap and falls back to heavy amdgpu methods every time
  Explicitly manage pointer in the ring buffer structure to fix this
2018-06-18 17:32:22 +03:00
kd-11 d77e62c94e rsx: Improve GPU resource read prediction 2018-06-18 17:32:22 +03:00
kd-11 2afcf369ec vk: Add synchronous compute pipelines
- Compute is now used to assist in some parts of blit operations, since there are no format conversions with vulkan like OGL does
- TODO: Integrate this into all types of GPU memory conversion operations instead of downloading to CPU then converting
2018-06-18 17:32:22 +03:00
kd-11 0d5c071eee vk: Implement typeless image transport 2018-06-18 17:32:22 +03:00
kd-11 dd4c13b625 rsx: Avoid race conditions in unsynchronized unprotect 2018-06-18 17:32:22 +03:00
eladash af62c92b7f mfc: clamp list transfer size 2018-06-17 23:20:00 +04:00
Megamouse af71cf0922 implement "Enable TSX" combobox 2018-06-17 00:43:00 +04:00
Ofek 2bc4cb4e58 Fix sys_spu_thread_connect event 2018-06-16 19:05:51 +04:00
scribam 9f420081fd libpng: use official repository instead of the fork from RPCS3 and update submodule 2018-06-14 21:55:39 +04:00
Megamouse ddded7ba5c Qt: cleanup syntax_highlighter a bit 2018-06-14 18:35:21 +04:00
Megamouse 79dd62cda2 Qt: Add copy to clipboard for game data 2018-06-14 18:35:21 +04:00
Megamouse d013524ea9 Qt: add notes as tooltips 2018-06-14 18:35:21 +04:00
Megamouse 61a517cc1a Qt: don't adjust columns in case of empty results after filtering 2018-06-14 18:35:21 +04:00
Megamouse fddd39d508 Qt: rename some members in game_list_frame to use m_ 2018-06-14 18:35:21 +04:00
Megamouse 661d19e33f Qt: fix settings dialog subscriptions for custom configs 2018-06-14 18:35:21 +04:00
scribam 6f3a63df94 fix compiler warning "-Winconsistent-missing-override" 2018-06-13 20:22:53 +02:00
scribam 968f3995ff Merge branch 'master' into asmjit 2018-06-13 09:27:12 +02:00
Talkashie f491dc1413 Update System.h 2018-06-13 10:00:32 +03:00
scribam 14dc1fead6 yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
scribam ea8397fbab cmake: don't use hardcoded lib names when using system ffmpeg and remove unneeded line 2018-06-12 22:28:30 +02:00
scribam 3a9778668a asmjit: update build integration 2018-06-12 20:03:53 +02:00
Zion Nimchuk 67a6db8325 Prefer GLVND for OpenGL rather than legacy 2018-06-12 16:51:26 +01:00
Zion 09c8162235 evdev: Add nullptr check, fixes #4713 (#4744) 2018-06-12 16:12:37 +01:00
scribam cc22d25490 qt: fix asm instructions highlighting (#4745)
* qt: fix asm instructions highlighting
2018-06-12 15:38:19 +01:00
Nekotekina 88b6d51643 Fix cellGameContentPermit 2018-06-12 02:09:22 +03:00
Nekotekina eb081bbcfa SPU: add 'Accurate PUTLLUC' option
Effectively rollback previous PUTLLUC accuracy commit by default
Minor changes in GETLLAR/PUTLLUC transactions
2018-06-12 02:09:22 +03:00
Nekotekina 0a58464f01 SPU ASMJIT: returnable STOP in Mega mode
Fix STOP, STOPD, SYNC, DSYNC in Safe mode
2018-06-12 02:09:22 +03:00
scribam 626836f95b qt: rewrite syntax highlighter
- fix multi-line comments
- remove compilation warnings "unknown escape sequence"
- fewer lines of code
2018-06-12 02:49:58 +04:00
Megamouse a8f19fbfae RSX: fix shader cache progress bar exit state shenanigans 2018-06-11 22:41:38 +03:00
Megamouse 2b8cab906c Qt: clamp progress bar values 2018-06-11 22:41:38 +03:00
isJuhn 88bfdb0c05 cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called 2018-06-11 21:48:29 +04:00
Megamouse 3dd45fc859 Qt: add counters to the find dialog 2018-06-11 16:24:51 +03:00
jjsat 53ca2526ed Fix VSLO and VSRO in the LLVM PPU recompiler 2018-06-10 20:12:40 +04:00
Megamouse 5454f57dd0 cellSaveData: handle fatal error fs::file is_null (read-only files) 2018-06-08 23:41:56 +03:00
Megamouse 4003aacc6a RSX: add taskbar progress to native ui progress dialogs 2018-06-08 23:41:56 +03:00
Megamouse 17250bc2d4 Qt: set up taskbar progress for the gs_frame 2018-06-08 23:41:56 +03:00
Megamouse b9b6bd85a6 Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation 2018-06-08 23:41:56 +03:00
Megamouse edc9e9b4ec Qt/RSX: add window title to the shader compilation msg_dialog 2018-06-08 23:41:56 +03:00
Megamouse 7aa2cddb05 Qt: remove multi message dialog code 2018-06-08 23:41:56 +03:00
Megamouse 38e88253cc Qt: Fix message dialog progress bars never reaching 100%
and clean up a bit
2018-06-08 23:41:56 +03:00
kd-11 da9affb348 vk: Fix overlays for variable sampler count 2018-06-08 22:17:50 +03:00
kd-11 00eaf39c01 vk: RADV support for depth scaling and transfer 2018-06-08 22:17:50 +03:00
kd-11 63f803b68a Refactoring
- Make the memory allocator a unique child of the render device.
  Fixes object lifetime issues with swapchain management due to cyclic dependencies
2018-06-08 22:17:50 +03:00
kd-11 c9e367befd rsx/debug: Fix rendering when FIFO reordering is disabled 2018-06-08 22:17:50 +03:00
kd-11 1c5667f0ce vk: Avoid use-after-free fence object 2018-06-08 22:17:50 +03:00
kd-11 e9c3ab7ae6 fix some linux issues
- Fix build
- Fix VMA incompatibility with swapchain_NATIVE
2018-06-08 22:17:50 +03:00
kd-11 1b9c9267f0 rsx: Update memory flags after memory transfer 2018-06-08 22:17:50 +03:00
kd-11 fc18e17ba6 vk: Implement depth scaling using hardware blit/copy engines
- Removes the old depth scaling using an overlay.
  It was never going to work properly due to per-pixel stencil writes being unavailable
- TODO: Preserve stencil buffer during ARGB8->D32S8 shader conversion pass
2018-06-08 22:17:50 +03:00
kd-11 3150619320 rsx: Preserve read AA state separate from write AA state
- Some applications (e.g Backbreaker) use an evil hack to resolve MSAA.
  The application respecifies a formerly AA region as a region with no AA then performs a framebuffer feedback lookup.
  The old memory keeps AA during read, but writes back to itself with AA resolved.
  This is evil on several levels but it just happens to work on PS3
2018-06-08 22:17:50 +03:00
kd-11 0f24379c0e rsx: Obey MSAA resolve during memory persistence transfer
- Ugh. This is a bandaid on a festering wound, AA badly needs a rewrite

 Also silence some warnings
2018-06-08 22:17:50 +03:00
Daniel Valentine fb20c27e7b Delay GDB server launch until emulator run (#4658) 2018-06-08 13:34:27 +01:00
isJuhn dde4a9c6e7 Fix cellGameCreateGameData temporary path 2018-06-06 23:51:58 +04:00
ikki84 73f7ab29bc Return offline according to g_psn_connection_status. 2018-06-06 19:14:12 +04:00
ikki84 83b09cf047 sceNpManagerRequestTicket2 (return offline)
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
2018-06-06 19:14:12 +04:00
scribam 824ad4fea7 cmake: simplify glslang integration (#4652)
* cmake: simplify glslang integration

* Fix warning (ignored attributes), part 2
2018-06-06 15:45:28 +03:00
Nekotekina 5c9d0e4b46 Add "SPU Cache" option
If disabled, the cache will still be loaded, but never updated.
2018-06-05 12:35:26 +03:00
Nekotekina 5d4c5ecc1c Add "SPU Verification" option
Should be always enabled
2018-06-05 12:35:26 +03:00
Nekotekina 12eee6a19e SPU ASMJIT: Implement Mega block mode (experimental)
Disable extra modes for SPU LLVM for now.
In Mega mode, SPU Analyser tries to determine complete functions.
Recompiler tries to speed up returns via 'stack mirror'.
2018-06-05 12:35:26 +03:00
Nekotekina 11bdb4102a SPU LLVM: implement returnable check_state()
Call it only at the beginning of loop entries
2018-06-05 12:35:26 +03:00
Nekotekina df489d786a sys_timer_usleep: give Linux a partial exemption 2018-06-05 12:35:26 +03:00
Nekotekina ec6d1fb1ba SPU: optimize GETLLAR (TSX)
Add an option "Accurate GETLLAR"
2018-06-05 12:35:26 +03:00
Nekotekina a5f4e6ecef SPU: fix PUTLLUC accuracy 2018-06-04 16:01:17 +03:00
Nekotekina 9fe03a94d8 SPU ASMJIT: implement returnable check_state() 2018-06-04 16:01:17 +03:00
Nekotekina 7242387a42 Block GUI after stopping emulation
This is necessary to prevent restarting the emulation until it's finished
Remove "process_events" callback completely
2018-06-04 16:01:17 +03:00
Nekotekina 1e107487da SPU: improve analyser (v3) 2018-06-04 16:01:17 +03:00
Nekotekina 05e24f38f9 SPU: use progress dialog 2018-06-04 16:01:17 +03:00
Zion Nimchuk ea1bb3b90e Convert all spaces to tabs in CMakeLists.txt 2018-06-04 17:00:44 +04:00
Zion Nimchuk 4d3b60cf46 Unify Linux detection in CMake 2018-06-04 17:00:44 +04:00
Jake 84ae643692 Fix msvc debug build 2018-06-03 16:37:37 +04:00
Megamouse 9dea602496 Discord: add some stuff 2018-06-03 13:28:12 +04:00
Dravonic 400079a006 Parallel shader cache loading (#4677)
* Parallel shader cache loading
2018-06-01 19:49:29 +03:00
kd-11 87b510d5bf vulkan improvements
- Remove deprecated device layers
- Reimplement overlays resource management using real heap instead of using first_vertex hack
2018-05-31 11:22:40 +03:00
kd-11 9f9e1b5fe0 overlay; Fix leak 2018-05-31 11:22:40 +03:00
Nekotekina b0ee369135 Rewrite LLVM compilation progress dialog
Use a single dialog
2018-05-30 20:35:35 +03:00
Nekotekina a2253e840f SPU LLVM: fix *QBI instructions (UB)
Improve codegen at the cost of unnecessary shuffle, use u64[2]
2018-05-30 20:35:35 +03:00
Nekotekina 37577714fa SPU LLVM: emulate PSHUFB
For targets without SSSE3 support
2018-05-30 20:35:35 +03:00
Nekotekina 759370ea1b SPU: rewrite FSM/FSMH/FSMB instructions
Remove lookup tables
2018-05-30 20:35:35 +03:00
Nekotekina 55e9d437a9 Fix warning (ignored attributes) 2018-05-30 20:35:35 +03:00
Nekotekina bdf6545571 SPU: rewrite spu_interpreter::SHUFB
Use ASMJIT to generate SSSE3+ code at runtime
Remove static SSSE3 code from spu_interpreter
2018-05-30 20:35:35 +03:00
Nekotekina bebb1bdeda Extend ppu_decoder/spu_decoder templates
Automatically dereference pointers
2018-05-30 20:35:35 +03:00
Nekotekina 944e89058e SPU: improve SHUFB 2018-05-30 20:35:35 +03:00
Megamouse c5709f71b3 Qt: Add performance overlay options to the emu tab in the settings dialog 2018-05-30 21:31:45 +04:00
Megamouse cc50d503ef Qt: Add a gui tab to the settings dialog
this is mainly to make place in the emulator tab
2018-05-30 21:31:45 +04:00
kd-11 cf2cb7978b facepalm 2018-05-30 13:30:23 +03:00
kd-11 f543fb0243 vk/gl: Fix flush synchronization to be kinder to weaker CPUs but not harm higher end CPUs 2018-05-30 13:30:23 +03:00
kd-11 6362942928 rsx: Avoid semaphore acquire deadlock 2018-05-30 13:30:23 +03:00
VelocityRa c8d8a81ccd overlays: Performance Overlay 2018-05-30 12:35:41 +03:00
VelocityRa c2e17d04e1 overlays: Font improvements
* Support for using arbitrary firmware fonts
* Support for specifying font extension in `font` constructor (useful for most firmware fonts that use .TTF)
2018-05-30 12:35:41 +03:00
VelocityRa 33b01d9306 overlays: Allow for non-interactable UI components
* Also fix a few warnings in overlay_controls
2018-05-30 12:35:41 +03:00
eladash 4576a31f47 fix memory mapping alignment 2018-05-30 00:34:38 +04:00
eladash 8826948c43 cellgcm: implement cellGcmTerminate 2018-05-29 19:57:28 +03:00
eladash 23b380eb41 allow deallocations to unmap rsx mapped memory 2018-05-29 19:57:28 +03:00
eladash ce98c962f8 cellgcm: use offset table to get the corresponding address to io address 2018-05-29 19:57:28 +03:00
eladash c2b2dee56d cellgcm/sys_rsx: fix multiple io maps at the same effective address and vice verse
from hw testing, as long as the io address is valid, it returns CELL_OK, even when it doesn't make much sense
2018-05-29 19:57:28 +03:00
eladash 97515a0941 sys_rsx/cellgcm: return EINVAL if the io map requast's size is 0 2018-05-29 19:57:28 +03:00
eladash 0a7902d313 sys_rsx: fix mem_handle id 2018-05-29 19:57:28 +03:00
eladash 8eab9fe36c sys_rsx: fix unused pointer dereferencing 2018-05-29 19:57:28 +03:00
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
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 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
Megamouse 95951c31f8 Qt: Fix obnoxious glitch where game list columns ended up with 0 width
Qt can be messy at times
2018-05-19 21:59:13 +01:00
Megamouse 67637dfaa4 Qt: Fix compat download exception 2018-05-19 21:59:13 +01:00
scribam bf2f00a163 log: add Vulkan header version 2018-05-19 10:59:10 +03:00
scribam 6c5c89a4a3 3rdparty: remove Vulkan/Vulkan-LoaderAndValidationLayers 2018-05-19 10:59:10 +03:00
Megamouse 4e8ce7fac0 Qt: Enable all play options for the last played game on StartUp
- main_window::CreateThumbnailToolbar into main_window::Init
- also moved the log message for "Recent Game Not Valid" from Error to Warning (only the common occurance)
2018-05-18 21:30:16 +01:00
Megamouse 6b3eebc907 Qt: trophy manager - fix trophy sorting by ID + handle some warnings 2018-05-18 23:17:10 +04:00
Megamouse 9269d8a370 Qt: resize initial game list headers to minimal size if necessary
we do this on showing columns already
2018-05-18 23:17:10 +04:00
Megamouse 99c52a0d0c Qt: use column names instead of numbers in gui_settings 2018-05-18 23:17:10 +04:00
Megamouse d1a9afbd67 Qt: refactor game list column initialization 2018-05-18 23:17:10 +04:00
Megamouse 2b8f96dcec Qt: refactor Get-/SetGamelistColVisibility 2018-05-18 23:17:10 +04:00
Megamouse 9c025be831 Qt: improve game list header behavior 2018-05-18 23:17:10 +04:00
Megamouse aee03114fd Qt: rsx debugger replace wrong setSectionResize command 2018-05-18 23:17:10 +04:00
Megamouse bb8e89f84a Qt: add game icons to the trophy manager
and fix some header behaviour
2018-05-18 23:17:10 +04:00
Megamouse 6f0bad34f4 Qt: remove trophy_tree_widget_item.h 2018-05-18 23:17:10 +04:00
Megamouse d275c36e0a Qt: trophy manager overhaul 2018-05-18 23:17:10 +04:00
Megamouse 4e5cceb03e TROPUSR: add GetUnlockedTrophiesCount() 2018-05-18 23:17:10 +04:00
Nekotekina 67391322f4 Transactions: touch memory only after a failure
Minor optimization
2018-05-17 22:19:26 +03:00
Nekotekina 39088e5005 SPU: Allow waiting on LR+TM events (fixup) 2018-05-17 21:21:15 +03:00
Nekotekina 7afda26c69 spu_putllc_tx: preload a little more (WIN32) 2018-05-17 18:58:08 +03:00
Nekotekina 58e4d49bb5 Fixup (endless loop) 2018-05-17 18:33:44 +03:00
scribam 8f975e2329 cmake: improve pthread inclusion 2018-05-17 18:42:44 +04:00
scribam 3dfe46fc42 cmake: use -Wno-unused-command-line-argument only with clang (gcc doesn't have this option) 2018-05-17 18:42:44 +04:00
scribam 580c8b8803 cmake: remove leftover from #4329 about X11 2018-05-17 18:42:44 +04:00
scribam 5ef1cab30b cmake: update cotire to 1.8.0 2018-05-17 18:42:44 +04:00
pauls-gh fdef77d779 Set Windows timer resolution to 0,5ms (#4579)
* Fix for https://github.com/RPCS3/rpcs3/issues/4569
(Win 10 update 1803 performance regression)
2018-05-17 15:00:22 +04:00
Megamouse 2eae06454b Qt: simplify horizontal header text alignment in the gamelist
Needs reset of the gamelist state in the settings to work properly.
Also added minor refactor
2018-05-17 14:27:45 +04:00
Megamouse 29318803a6 Qt: add sanity check to remove game (prevent nasty system flush).
and minor code refactor
2018-05-17 14:27:45 +04:00
Megamouse ff2c05da50 Qt: Use pointer to game info instead of index in game list
this should fix differences between model and view
2018-05-17 14:27:45 +04:00
Megamouse cafcac9ccd Qt: streamline custom config refresh in game list and thus ignore scroll
move l_GetItem lambda into custom_table_widget_item constructor
2018-05-17 14:27:45 +04:00
Megamouse e43afa7148 Qt: streamline game removal in game list and fix followed item selection 2018-05-17 14:27:45 +04:00
Megamouse 9a1c0e4577 Qt: merge custom context menu functions 2018-05-17 14:27:45 +04:00
Megamouse baec681c9e Qt: minor fix for compat downloader 2018-05-17 14:27:45 +04:00
Megamouse 8b54552ddf Qt: use NoEditTriggers instead of ItemIsEditable flags in the gamelist 2018-05-17 14:27:45 +04:00
Megamouse 1cff1ca03e Qt: add "Move Support" column to the gamelist and load the info from psf 2018-05-17 14:27:45 +04:00
Megamouse 3ba133f485 Qt: fix gamelist sort by adding a sort_role to custom_list_widget_item 2018-05-17 14:27:45 +04:00
Megamouse 28e19a1d14 Qt: use GameInfo's bootable instead of GUI_GameInfo's bootable member 2018-05-17 14:27:45 +04:00
Megamouse 49a4015d5d Qt: Hide firmware and path columns by default 2018-05-17 14:27:45 +04:00
Florent Castelli 253248349f Link against the top-level LLVM targets only
Dependencies are still linked through usage requirements.
2018-05-16 23:35:53 +01:00
Florent Castelli afd55da8cb Add EXCLUDE_FROM_ALL to add_subdirectory calls 2018-05-16 23:35:53 +01:00
scribam 70e2873e69 Compilation fix for GCC 8 (at least) 2018-05-17 00:53:31 +04:00
Zion Nimchuk 705525510e re-enable LLVM for travis and build AppImages with LLVM 6 2018-05-17 00:01:53 +04:00
Nekotekina 367f039523 Build transactions at runtime
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Nekotekina fd525ae1cf Implement build_function_asm
Uses ASMJIT to build function at startup
2018-05-16 15:48:35 +03:00
scribam fd8aae5725 emu: remove wait_engine files
These files are empty and do not serve any purpose currently
2018-05-16 03:56:06 +04:00
scribam 7518200c7e ps3emu_api: remove leftover files
Initial removal has been started with commit 6dd2c78b1b
2018-05-16 03:56:06 +04:00
scribam 196f985283 hle: improve cellSync2 error checks and logging 2018-05-15 22:59:34 +04:00
sftt 27004eb934 Avoid illegal available_user_memory in sys_memory (#4399)
jarveson says "the comment and minus can be completely deleted/reverted" in 17cf24d0ed
2018-05-15 17:40:45 +01:00
scribam 04ad49de4d typos 2018-05-14 21:14:39 +04:00
isJuhn fc23243d01 Fix setParam in cellHddGameCheck 2018-05-14 16:56:47 +01:00
Jan Beich 2cfb2428d2 build/cmake: pass -DNDEBUG by default like msvc
Downstream may override CMAKE_CXX_FLAGS_RELEASE in order to enforce
consistent optimization flags for every package. If -DNDEBUG is lost
RPCS3 may run slower and fall victim to assertions in bundled libs.
2018-05-14 16:01:19 +01:00
tlm-2501 21dc05265d Add description for SPU LLVM (#4558)
Not entirely sure on the wording, but some form of a description seems necessary.
2018-05-14 15:32:47 +01:00
creeperjedi 819ed801a7 Added (experimental) next to LLVM Recompiler 2018-05-14 14:41:50 +01:00
Nekotekina a46ef4f29a Increase open file limit on Linux
Add some assertions to VirtualMemory.cpp
2018-05-13 23:56:43 +03:00
Nekotekina 3c70645f0b Update SPU cache (v2)
Improve SPU analyser: filter unreachable fragments
More strict NOP/LNOP analysis
Fill block predecessors info
ASMJIT: fix assertion and improve indirect branch
2018-05-13 20:40:23 +03:00
Megamouse 84a4671a0e Qt: Use additional windows resource file for qt.conf
fixup for a39384cadd
2018-05-13 21:02:21 +04:00
Megamouse a39384cadd Qt: Create qt/plugins dir to tidy up our Visual Studio builds
see folders: bearer, imageformats, styles and platforms.
This will stay compatible with the old builds too, unless someone wisely put their plugin folders into a 'plugin' subdirectory
2018-05-13 18:39:24 +04:00
kd-11 4836a03a7d rsx: Fix build 2018-05-13 14:44:14 +03:00
kd-11 9d1f4a2538 vk: Include RADV POLARIS and RADV VEGA in the primitive restart
blacklist
2018-05-13 14:44:14 +03:00
kd-11 bff6060bd6 rsx: Improve puller state management
- Properly identify puller spin primitives
- Add a small wake delay after exiting a spin delay. Fixes desynchronization
  It seems real hw has a small delay between cell edits to commandbuffer memory at the GET address and the changes becoming visible to the DMA puller
  Simulated with a short busy_wait, large values will improve sync but degrade performance
2018-05-13 14:44:14 +03:00
kd-11 1aa44ede31 gl: Improve AMD multidraw workaround
- Reimplements the AMD workaround using an identity buffer to avoid the performance hit of doing multiple glDrawArrays for every single compiled set
- Reimplements first/count allocation using a scratch buffer to reduce allocation overhead when large number of draw calls is used
2018-05-13 14:44:14 +03:00
kd-11 eccb57d4b8 vk: AMD primitive restart bug workaround
- Emulate primitive restart with degenerate triangles
2018-05-13 14:44:14 +03:00
kd-11 b7979d3f57 rsx/vk: Improvements and minor optimizations
- Improve dirty state tracking affecting program state
- vk: Refactor out transform constants upload into a separate channel to avoid if possible
  transform data uploads are quite expensive
2018-05-13 14:44:14 +03:00
kd-11 440a31ef18 rsx: Optimizations for program management 2018-05-13 14:44:14 +03:00
kd-11 a52ea7f870 rsx: Improve fragment and vertex program usage
- Introduces a gpu program analyser step to examine shader contents before attempting compilation or cache search
  - Avoids detecting shader as being different because of unused textures having state changes
  - Adds better program size detection for vertex programs
- Improved vertex program decompiler
  - Properly support CAL type instructions
  - Support jumping over instructions marked with a termination marker with BRA/CAL class opcodes
  - Fix SRC checks and abort
  - Fix CC register initialization
  - NOTE: Even unused SRC registers have to be valid (usually referencing in.POS)
2018-05-13 14:44:14 +03:00
Jake 75b40931fc rsx: initial capture/replay functionality (#4510)
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Nekotekina 7cb4672344 Travis: remove LLVM for now 2018-05-13 00:03:08 +03:00
Nekotekina 4c7afb6952 Opt-in set DAZ and FTZ 2018-05-13 00:03:08 +03:00
Nekotekina a77896c1b6 Update LLVM commit, use small code model 2018-05-13 00:03:08 +03:00
Nekotekina be5c18cc85 SPU Re: more precise jt generation
Improve analyser, set v1
Fix branch indirect conditional
2018-05-12 23:50:49 +03:00
Nekotekina 737db90058 Set DAZ and FTZ 2018-05-09 23:38:26 +03:00
Nekotekina 5d15d64ec8 Memory mirror support
Implemented utils::memory_release (not used)
Implemented utils::shm class (handler for shared memory)
Improved sys_mmapper syscalls
Rewritten ppu_patch function
Implemented vm::get_super_ptr (ignores memory protection)
Minimal allocation alignment increased to 0x10000
2018-05-09 23:35:34 +03:00
Nekotekina fe4c3c4d84 Implement SPU recompiler cache
Shared between ASMJIT/LLVM recompilers, compiled at startup
2018-05-09 23:35:18 +03:00
Nekotekina f5ee6fb113 Convert newlines in game title 2018-05-09 22:19:55 +03:00
Nekotekina acfe22e5bc SPU: improve jumptable detection 2018-05-09 22:19:55 +03:00
Nekotekina 8f91917e8c SPU ASMJIT: simplify patchpoints
Remove SPU thread reference from spu_recompiler_base
Disable support for far jumps in pathpoints (they were rare and unsafe)
2018-05-09 22:19:55 +03:00
Nekotekina 1ca51a023c SPU LLVM Recompiler (preview) 2018-05-09 22:19:55 +03:00
Nekotekina a975ecdc4f Use LLVM 6 2018-05-08 13:05:29 +03:00
Nekotekina 8b704588d0 Update cpu_translator 2018-05-08 13:05:29 +03:00
Nekotekina db229dffb0 PPU LLVM: minor update 2018-05-08 13:05:29 +03:00
Nekotekina 16f5167aed SPU Analyser improved
This restores some functionality removed in SPU ASMJIT v2.0
Also implements new experimental features
2018-05-08 13:05:29 +03:00
Nekotekina 767dfa271e SPU ASMJIT: internal jumptable
Allow indirect calls within current function using a jumptable
This restores some functionality removed in SPU ASMJIT 2.0
Change SPUThread::get_ch_value prototype
2018-05-08 13:05:29 +03:00
Nekotekina df453d6d4f SPU ASMJIT: allow holes in raw block data
This is preparation for further changes.
This commit shouldn't affect anything.
2018-05-08 13:05:29 +03:00
Nekotekina 2fecddcde2 SPU ASMJIT: rewrite halt instruction
Use conditional memory access to invalid address.
This approach can allow continue (for debugging);
but at the same time it doesn't add function call to recompiled code.
2018-05-08 13:05:29 +03:00
Nekotekina 4d60d85db5 SPU: fix MFC_PUTQLLUC_CMD fence trait 2018-05-08 13:05:29 +03:00
Nekotekina f4af3f2987 PPU: improve LWARX/LDARX consistency 2018-05-08 13:05:29 +03:00
Maxetto dca6f1f863 Update some lv2 syscall names (#4490) 2018-05-06 14:21:50 +04:00
scribam ff1b0d73b7 hle: make cellSubDisplayInit returns CELL_SUBDISPLAY_ERROR_ZERO_REGISTERED 2018-05-06 12:49:44 +04:00
isJuhn f27f7d50c9 Add Rich Presence option 2018-04-29 18:38:00 +01:00
kd-11 98b715d8c8 gl: Workaround for AMD driver bug 2018-04-25 19:14:36 +03:00
kd-11 ffa62918aa gl: Improve pixel transfer code and notify on AMD driver bug
- Readback does not work at all with float textures on AMD openGL
  Driver throws a bogus OUT_OF_MEMORY error regardless of amount of VRAM and system RAM available
2018-04-25 19:14:36 +03:00
kd-11 f3210a9a33 rsx: Workaround for lost memory sections
- TODO: surface_cache and texture_cache need a better method of persisting partial framebuffer resources
2018-04-25 19:14:36 +03:00
kd-11 58035697d5 rsx: Restore component mapping override for depth textures 2018-04-25 19:14:36 +03:00
kd-11 7e32e7343a vk: Reorganize handling of formats support
- Formats support is linked to the physical device and by extension the logical device derived from it
  It therefore makes no sense to track this as a separate object.
  Simplifies parameter passing and template specialization.
  Also avoids corner cases with AMD hardware (where D24S8 is not supported)
2018-04-25 19:14:36 +03:00
kd-11 291a828217 fixups 2018-04-25 19:14:36 +03:00
kd-11 40ae5e605d vk: Fix border color selection 2018-04-25 19:14:36 +03:00
kd-11 c5d1f30e82 rsx: Fix performance counters
- Detect jump-to-self type idling
2018-04-25 19:14:36 +03:00
kd-11 91a6091d26 rsx: Minor fixes
- vk: Clear dirty textures before copying 'old contents' in case the old data does not fill the new region
- rsx: Properly decode border color - seems to be in BGRA format
- vk: better approximation of border color to better choose between the presets
- vk: Individually clear color images outside render pass and without scissor
- vk: Fix renderpass selection for clear overlay pass
- vk: Include scissor region when emulating clear mask

NOTES:
- vk: Completely avoid using vkClearXXXXimage - its 'broken' on nvidia drivers
  Spec is vague about the function so its not an actual bug
  ClearAttachment is clearly defined as bypassing bound state which works correctly
- TODO: Implement memory sampling to simulate loading precleared memory if cell used memset to preinitialize the framebuffer
  Autoclear depth to 1|255 and color to 0 is hacky!
2018-04-25 19:14:36 +03:00
kd-11 da99f3cb9a rsx: Critical fixes
- texture cache: Avoid leaking memory sections
  - Avoid double ref increment on flush-always reprotection
  - Detect invalidated_resources entries in surface cache when protecting fbo memory
- vk: Copypasta bugfix, properly initialize aspect mask
2018-04-25 19:14:36 +03:00
kd-11 a42b00488d rsx: Texture fixes
- gl/vk: Fix subresource copy/blit
- gl/vk: Fix default_component_map reading
- vk: Reimplement cell readback path and improve software channel decoder
- Properly name the subresource layout field - its in blocks not bytes!
- Implement d24s8 upload from memory correctly
- Do not ignore DEPTH_FLOAT textures - they are depth textures and abide by the depth compare rules
- NOTE: Redirection of 16-bit textures is not implemented yet
2018-04-25 19:14:36 +03:00
kd-11 63d9cb37ec rsx: Framebuffer fixes
Primary:
- Fix SET_SURFACE_CLEAR channel mask - it has been wrong for all these
  years! Layout is RGBA not ARGB/BGRA like other registers

Other Fixes:
- vk: Implement subchannel clears using overla pass
- vk: Simplify and clean up state management
- gl: Fix nullptr deref in case of failed subresource copy
- vk/gl: Ignore float buffer clears as hardware seems to do
2018-04-25 19:14:36 +03:00
kd-11 9abbbb79ae rsx: Blit engine fixes
- Ignore unlocked blit sections [TODO]
- Do not attempt blit on hw if bytesize is unsupported
- gl: Implement typeless memory transfers
  Uses pbo to handle type-agnostic memory transfer
2018-04-25 19:14:36 +03:00
kd-11 bb5622401c overlays/gl: minor fixes
- fix ogl color map for overlay resources
- fix label background for save dialog
2018-04-25 19:14:36 +03:00
kd-11 6d46ac1ad6 gl: Reimplement textures
- Separate texture data from texture views
2018-04-25 19:14:36 +03:00
kd-11 cf1b700ebc rsx: Improve format mismatch detection hack 2018-04-25 19:14:36 +03:00
kd-11 c5cd758700 rsx: Workaround for G8B8 render targets
- Mainly affected are colormasks and read swizzles

NOTES:
- Writes to G write to the second and fourth component (YW)
- Writes to B write to first and third component (XZ)
- This means the actual format layout is BGBG (RGBA) making RG mapping actually GR
- Clear does not seem to have any intended effect on this format (TLOU)
2018-04-25 19:14:36 +03:00
Nekotekina bd1d4de422 Fix unnecessary cache dir 2018-04-22 00:06:49 +03:00
Nekotekina da6afb11f0 Fix game title if unset 2018-04-22 00:06:49 +03:00
Nekotekina ef0196d791 Fix warning (vm::reservation_update) 2018-04-22 00:06:49 +03:00
Nekotekina 738a7cac4f SPU ASMJIT: inline WRCH 2018-04-22 00:06:49 +03:00
Nekotekina 9516250bec SPU: fix MFC_WrTagUpdate 2018-04-22 00:06:49 +03:00
Nekotekina 2418de7e8b SPU ASMJIT: inline RDCH 2018-04-22 00:06:49 +03:00
Nekotekina 00ce814501 SPU ASMJIT: inline RCHCNT 2018-04-22 00:06:49 +03:00
Nekotekina 9ad5fc8a08 SPU: rewrite spu_channel_t 2018-04-22 00:06:49 +03:00
Nekotekina 3ffafb741c SPU ASMJIT: übertrampolines and spu_runtime
Use opt-out shared spu_runtime to save memory (Option: SPU Shared Runtime)
Implement "übertrampolines" for dispatching compiled blocks
Patch fixed branch points to use trampolines after check failure
2018-04-22 00:06:49 +03:00
Nekotekina 8ca33bcb94 SPU ASMJIT v2.0
Use X86Assembler and blocks
2018-04-22 00:06:48 +03:00
Robbie 477522210e Refactor debugger_frame into subclasses. Mostly trying to simplify
breakpoints.
2018-04-21 22:21:51 +04:00
Greg V 633004c820 Fix build with ffmpeg 4.0 2018-04-21 21:06:06 +04:00
Megamouse 8f4fa8a5b6 cellPad: check for more invalid parameters 2018-04-20 17:09:14 +04:00
Zion Nimchuk 3b24e7e685 Discord Rich Presence Integration (Thanks to @Megamouse for fixing the windows build) 2018-04-19 04:47:56 +04:00
Zion Nimchuk 3d551482a9 Remove weird whitespace from appdata
Fixes xml validation
2018-04-19 02:30:35 +04:00
TheAnig eb3dfb6bb4 Implemented sysCacheClear() (#4445) 2018-04-18 18:17:55 +04:00
Megamouse cecfc59040 Qt: implement log Repaint 2018-04-18 01:28:11 +04:00
TGEnigma 6baf675205 Fixes PPU disasm for branch opcodes 2018-04-16 19:02:06 +04:00
isJuhn da6f98f310 Fix setParam in cellGameDataCheckCreate2 2018-04-16 15:53:22 +04:00
Zion Nimchuk 2bb0387fc5 Fix appstream copypasta, thanks to @Dominator56 for pointing it out 2018-04-16 15:11:37 +04:00
Megamouse 41f4bb9016 Rename Supporter 2018-04-15 15:49:01 +01:00
Megamouse 69b5f25644 Qt: Fix vfs dialog reset and add some translations
Reset would crash the app, because a cleared item received a signal on currentItemChanged.
Also, Reset did not reset the list as one might think, but clean it and then result in wrong behaviour.
Furthermore the settings were saved, regardless of accepting the dialog or not.
2018-04-15 15:49:01 +01:00
Zion Nimchuk 78bb9a7278 Add appstream metadata for linux 2018-04-14 01:10:12 +04:00
JohnHolmesII 7303f04bc5 Minor bugfix 2018-04-10 15:06:56 +03:00
Nekotekina ea82b732a3 SPU: fix non-TSX path 2018-04-08 23:30:50 +03:00
Talkashie 64992f758d Fix typos (#4410)
* MASSIVE TYPO FIX part 1

* ANOTHER HUUUUGE TYPO FIX part 2

* thank you :hcorion: for all of your help. I could not have done this without you
2018-04-08 01:01:39 +01:00
GinkREAL 8a51af0b56 cellVdec: Do not decode next frame during end_sequence 2018-04-08 02:51:46 +04:00
Nekotekina c77b310422 Implement sys_vm_invalidate 2018-04-07 21:18:34 +03:00
Nekotekina 0797164fac SPU: fix possible livelock
The bug affects TSX path
2018-04-07 20:51:21 +03:00
Nekotekina 3681507136 Rewrite vm::reservation
Use flat virtual memory area
2018-04-07 20:51:21 +03:00
Nekotekina 2b5cf2455f SPU: improve TSX usage
Reduce transaction failure amount
Remove vm::try_to_lock
2018-04-06 21:47:54 +03:00
Nekotekina d392379c7a Use vm::passive_lock for SPU threads 2018-04-06 15:47:00 +03:00
Nekotekina e88508b679 SPU: cache barrier/fence masks 2018-04-06 15:47:00 +03:00
kd-11 568118634e vk: Squash some spec violations that went unnoticed 2018-04-05 01:06:50 +03:00
kd-11 cfd0b8a975 rsx: Fix alphakill 2018-04-05 01:06:50 +03:00
kd-11 93b2776604 rsx: Fix vertex input detection
- Properly detect inline array registers vs constant value registers
- Silence needless spam, 306E is 2D surface engiine, the assumption that y is multiplied by 306E pitch is not crazy
2018-04-05 01:06:50 +03:00
kd-11 53f2533a08 rsx: Implement proper Z-order curve in 3 dimensions
- Should fix garbage palette textures getting uploaded (LSD graphics)
2018-04-05 01:06:50 +03:00
kd-11 e291494282 rsx: Texture cache updates
- Properly implement section gather for 3d and cubemaps
  Implements render-to-3d and fixes some corner cases for render-to-cubemap
2018-04-05 01:06:50 +03:00
Zion Nimchuk b0352d6ef7 Silence some annoying terminal output 2018-04-03 03:17:52 +04:00
Zion Nimchuk 8c19ff4fb9 Make loading StyleSheets work for AppImages and if installed via make install 2018-04-03 03:17:52 +04:00
Nekotekina da9baac842 Improve save data dialog
Bug fix: don't display new data entry when not asked for
Use icon/title provided by the game for the new data entry
Display new data entry at the beginning of list when necessary
Minor cellSaveData cleanup
2018-04-02 16:27:28 +03:00
Nekotekina 0e74f2e340 Fix MMIO on SPU
Thanks Digitaldude555 for reporting the bug and @elad335 for pinging me
2018-04-01 22:39:48 +03:00
Nekotekina 402ca480cd Fix vm::check_addr usage 2018-04-01 22:39:48 +03:00
Nekotekina d871675b3b Process RawSPU MMIO in do_dma_transfer 2018-04-01 22:39:48 +03:00
Nekotekina bb0cfe383d Fix MFC_SYNC_CMD 2018-04-01 20:52:54 +03:00
scribam 717f2b0ac8 cellVdec: log error when using interlaced frame instead of throwing an exception 2018-04-01 03:36:22 +04:00
Megamouse 2bf405e36d rsx_debugger: clear command count when not used 2018-04-01 02:53:53 +04:00
Megamouse c42b25f10e rsx_debugger: use PerformJump on doubleclick instead of the mouse scroll 2018-04-01 02:53:53 +04:00
Megamouse b9318f73e6 rsx_debugger: handle show buffer per doubleclick through an event filter 2018-04-01 02:53:53 +04:00
Megamouse ff89f7ca45 Qt: add show_windowed_image to qt_utils 2018-04-01 02:53:53 +04:00
Megamouse ed7d514c31 rsx_debugger: move debugger table resize to qt_utils for reusability
maybe create a custom table class in the future
2018-04-01 02:53:53 +04:00
Megamouse d97d30ea2e rsx_debugger: save/restore table header states 2018-04-01 02:53:53 +04:00
Megamouse 4899e35fbb rsx_debugger: layout refactoring for highdpi and resizeability 2018-04-01 02:53:53 +04:00
Megamouse 92ec846375 Qt: simplify resetGeometry occurances 2018-04-01 02:53:53 +04:00
Megamouse 755ceb50a4 stub cellGem some more (#4349) 2018-04-01 02:03:37 +04:00
VelocityRa 706faa1d32 PPUTranslator: Ignore relative relocations 2018-04-01 01:32:08 +04:00
jjsat 4620fa8bd8 Return parameter error if the result of funcFixed is invalid. 2018-04-01 01:04:37 +04:00
jjsat 1dc87a0704 Corrected logic for handling number of returned save data list entries and total number of save entries. 2018-04-01 01:04:37 +04:00
jjsat bba7184090 Handle some invalid save function parameters. 2018-04-01 01:04:37 +04:00
jjsat d973337c4e Calculate save data file size more accurately and return size in savedata_get_list_item if requested. 2018-04-01 01:04:37 +04:00
Nekotekina 898637f830 Remove mfc_thread
Clear mfc_queue on reset
Improve MFC Proxy a bit
2018-03-31 21:13:12 +03:00
Nekotekina 78dbc4fb5f RawSPU: reset status register on start
Was proposed by @elad335
Implemented as atomic op
2018-03-31 20:35:30 +03:00
Nekotekina a3db2774f1 [LLVM] Fix thread limiter
Allow to apply max llvm threads setting as usual
2018-03-31 20:35:30 +03:00
Nekotekina c3a5e3f491 [LLVM Cache] Minor workaround 2018-03-31 16:51:19 +03:00
Ani 7359774c76 qt: Do not deploy Qt5Quick
We're using Qt5Qml but not Qt5Quick, therefore the extra extension can be removed
2018-03-31 02:54:59 +01:00
VelocityRa bca46e92d4 cellCamera: Implement cellCamera*NotifyEventQueue and do some refactoring 2018-03-30 20:50:31 +01:00
Jake 2c16dddd1e fix debug build 2018-03-30 13:30:04 +03:00
Jake 6d6d6fa827 dx12/vk/gl: implement use of vertex_data_base_index when calculating index 2018-03-30 13:30:04 +03:00
Megamouse 3e863f2189 remove redundant error messages in sceNpTrophy 2018-03-30 05:40:57 +04:00
Megamouse 2d68aed68f improve sceNpTrophyGetTrophyInfo and sceNpTrophyGetGameInfo 2018-03-30 05:40:57 +04:00
kd-11 ee0fe28ddc rsx: Fix copypasta 2018-03-29 13:52:11 +03:00
kd-11 7627ad04f1 rsx: Disable gamma control on WZYX textures
- Gamma is seemingly used for (D/X/A)RGB only. Data textures are unaffected
2018-03-29 13:52:11 +03:00
kd-11 f559c088a1 rsx: Dubious fix for broken B8 swizzle remap 2018-03-29 13:52:11 +03:00
pauls-gh a17025c465 Strict Rendering Mode (SRM) fix. Move old surface copy before texture upload.
Fixes the following issues on Tales of Vesperia which requires SRM.
- Blacked out scene after the sleeping dog now renders correctly
- Ghosting effect. The ghosting was most noticeable as a delay between the character rendering and the cell shading around the character. This appears to be gone with this change.
2018-03-29 11:01:58 +03:00
Megamouse 70cc2e3665 Qt: minor fixes 2018-03-28 16:01:32 +01:00
kd-11 fca6c4fb7f vk: Improve compatibility workarounds
- Disable fence reset on gcn1 - gcn3
- Enable polaris+ workarounds on linux if proprietary driver is used
2018-03-28 11:30:11 +03:00
Megamouse 05fc49506a Qt: use seperate icon sizes for game list and game grid 2018-03-27 19:40:25 +01:00
Kravickas e6cb4df877 Fix a typo in gcm_enums.cpp (#4333)
* Update gcm_enums.cpp
2018-03-27 18:43:38 +01:00
Asinine 2172e61ce5 Update settings to indicate speed differences between Interpreters and Recompilers for less confusion (#4345)
* Update settings_dialog.ui

* Qt: completely detach ppu and spu ui texts from backend.
2018-03-27 17:55:54 +01:00
kd-11 5aac8aa424 rsx: Clamp negative fog distance 2018-03-25 16:02:47 +03:00
kd-11 887ea43e39 rsx: Fix some texture cache problems
- gl/vk: Properly handle remapping temporary resources
2018-03-25 13:31:06 +03:00
kd-11 9fce5b0f7a gl: Fix leaking occlusion queries
- GL queries share the target binding (not asynchronous!)
- Discard active queries by closing them, leave closed queries alone (nothing to be done for discard op)
2018-03-25 13:31:06 +03:00
kd-11 22af70d0d0 gl: Always use indexed blend caps to avoid conflict with the state cache.
- glEnable/glDisable should not be used with GL_BLEND as the main renderer uses the indexed variant
2018-03-25 13:31:06 +03:00
kd-11 321c360dcb rsx: Overhaul rendertarget sampling/shuffles
- Reimplements render target views used for sampling
- Optimizes access using an encoded control token
- Adds proper encoding for 24-bit textures (DRGB8 -> ORGB/OBGR)
- Adds proper encoding for ABGR textures (ABGR8 -> ARGB8)
- Silence some compiler warnings as well
- TODO: Real texture views for OGL current method is a hack
2018-03-25 13:31:06 +03:00
kd-11 9bb1ed78f9 gl: Implement video-out calibration for gamma and dynamic range
- Seems to be of limited use but if it is determined to be useful, a vulkan implementation can be done
2018-03-25 13:31:06 +03:00
kd-11 9fc1740608 rsx/fp: Fragment program overhaul
- Separate TXB from TXL: They are completely different!
- Properly perform TMU emulation in the fragment shader. Implemens SRGB conversion and alphakill at the moment
- Properly perform ROP emulation in the fragment shader. Implements FRAMEBUFFER_SRGB. While support on the chip looks to be incomplete (and wierd), it does work
- Document some more bits in SHADER_CONTROL register
2018-03-25 13:31:06 +03:00
kd-11 c6a2525c9b video out: Set up video configuration options in fxm
- TODO: Actually do something with the values
2018-03-25 13:31:06 +03:00
kd-11 aeebeed0f2 vk: Fix AMD primitive restart emulation when strict mode is active
The restart emulation is there to keep the proprietary drivers from randomly crashing when using primitive restart
2018-03-25 13:31:06 +03:00
kd-11 9f416e5ce1 rsx/gl/vk: Obey channel remapping on framebuffer resources if requested 2018-03-25 13:31:06 +03:00
kd-11 27552891ad rsx/fp: Improvements
- Export some debug information in the free texture register space components zw
  Very useful when analysing renderdoc captures
- Enable shadow comparison on depth as long as compare function is active and texture is uploaded for depth read
  Some engines (UE3) read all the components in the shader and use mul/mad with the result
2018-03-25 13:31:06 +03:00
kd-11 5817f9fe3f rsx: Texture format fixes
- Implement SRGB (gamma corrected) textures (DXT1, DXT3, DXT5, RGBA8 only)
- Fix channel map decode for XY data texture formats
- Fix remap layout for X16 textures (verified with Mass Effect 3)
2018-03-25 13:31:06 +03:00
Talkashie a35bcb131e unimportant teepo fix (#4328)
* ultra teepo fix part 1

* super mega teepo fix part 2
2018-03-24 20:21:50 +04:00