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
kd-11
ad10eb391e
vk: Reuse discarded memory whenever possible instead of recreating new
...
objects
- Memory allocations are surprisingly expensive when spammed
2019-07-03 15:52:16 +03:00
kd-11
71e809a78b
rsx: Implement dma abort in case of a reset after misprediction
2019-07-03 15:52:16 +03:00
kd-11
0f11939faf
vk: Refactor gc
2019-07-03 15:52:16 +03:00
kd-11
ae93b417ec
vk: Handle emergency commandbuffer close with dangling queries
...
- TODO: Refactoring
2019-07-03 15:52:16 +03:00
kd-11
d69e8288ad
vk: Restructure commandbuffer submission into tagged event IDs
...
- Tagged eventIDs can be used to safely delete resources that are no
longer used
- TODO: Expand gc to collect images as well
- TODO: Fix the texture cache to avoid over-allocating image resources
2019-07-03 15:52:16 +03:00
kd-11
ce04a797c3
vk: Fix event signal race when speculation fails to avoid a cache miss
...
- TODO: Proper GC for stale events
2019-07-03 15:52:16 +03:00
Malcolm Jestadt
b5d5113803
gl: Workaround slow PBO usage with Mesa
...
-Mesa is currently fastest with GL_STREAM_COPY
-See a338dc0186
-Also see https://bugs.freedesktop.org/show_bug.cgi?id=111043
2019-07-03 11:28:29 +03:00
msuih
690cdff0d3
Minor fixes
...
- Fix a typo in OpenAL
- Fix typo in cellHttp.h
- Unused variables in catch
- Use 64-bit shifts
- Use use_count with shared pointers, unique is depracated and getting removed
- Explicitly cast boolean to int
- Signed/unsigned issues with loop variables
- Fix missing return statement (the code path is unreachable, but compiler wants a return)
- */ ouside of comment
- Fix duplicate layout name
2019-07-01 04:33:23 +03:00
msuih
503e023815
Explicitly downcast integers
2019-07-01 04:33:23 +03:00
msuih
d57124d075
Explicitly cast size_t to integer types
2019-07-01 04:33:23 +03:00
msuih
146e43b6ec
Do not use negative unsigned literals
2019-07-01 04:33:23 +03:00
msuih
13a557fe67
Silence some warnings
...
These are technically UB but work just fine
2019-07-01 04:20:00 +03:00
Eladash
2bce367488
Fixup for fixup ( #6153 )
...
* Fixup for fixup
* Fix memory ordering for MTRSX
volatile doesnt block reordering.
* ugh
2019-06-30 12:47:42 +03:00
Eladash
43f919c04b
Fixup after #6143 ( #6146 )
...
vm::spu max address was overflowing resulting in issues, so cast to u64 where needed. Fixes #6145 .
Use vm::get_addr instead of manually substructing vm::base(0) from pointer in texture cache code.
Prefer std::atomic_thread_fence over _mm_?fence(), adjust usage to be more correct.
Used sequantially consistent ordering in semaphore_release for TSX path as well.
Improved memory ordering for sys_rsx_context_iounmap/map.
Fixed sync bugs in HLE gcm because of not using atomic instructions.
Use release memory barrier in lwsync for PPU LLVM, according to this xbox360 programming guide lwsync is a hw release memory barrier.
Also use release barrier where lwsync was originally used in liblv2 sys_lwmutex and cellSync.
Use acquire barrier for isync instruction, see https://devblogs.microsoft.com/oldnewthing/20180814-00/?p=99485
2019-06-29 18:48:42 +03:00
Eladash
1ee7b91646
Refactoring ( #6143 )
...
Prefer vm::ptr<>::ptr over vm::get_addr.
Prefer vm::_ptr/base over vm::g_base_addr with offset.
Added methods atomic_t<>::bts and atomic_t<>::btr .
Removed obsolute rsx:🧵 :Read/WriteIO32 methods.
Removed wrong check in semaphore_release.
Added handling for PUTRx commands for RawSPU MFC proxy.
Prefer overloaded methods of v128 instead of _mm_... in VPKSHUS ppu interpreter precise.
Fixed more potential overflows that may result in wrong behaviour.
Added io/size alignment check for sys_rsx_context_iounmap.
Added rsx::constants::local_mem_base which represents RSX local memory base address.
Removed obsolute rsx:🧵 :main_mem_addr/ioSize/ioAddress members.
2019-06-29 01:27:49 +03:00
msuih
e043412be4
Add timeout for vulkan device enumeration
2019-06-28 23:34:13 +03:00
JohnHolmesII
232a35b6fc
Various small warning fixes
...
-Indentation warnings
-prevent shift overflow
-This was declared extern in all contexts. Remove this for initialization
-Fix main return types. OH CANADA!
-Silence extraneos 'unused expression' warning
-Force use return value (warning)
-Remove tautological compare copy-pasta (char always < 256)
2019-06-28 01:45:29 +03:00
JohnHolmesII
948c1df969
Remove unecessary vulkan loader check var, per kd
2019-06-28 01:45:29 +03:00
JohnHolmesII
a124ec4a26
Remove braces around shader source strings (warnings)
2019-06-28 01:45:29 +03:00
JohnHolmesII
d0eae7bab1
Fix -Wsign-compare a little bit
...
Explicitly mark loop types (per review)
2019-06-28 01:45:29 +03:00
JohnHolmesII
22917084d9
Explcitly mark overflow in various SIMD functions. Doing so silently
...
created warnings.
2019-06-28 01:40:52 +03:00
JohnHolmesII
ebb1ae6408
Properly ignore SIMD macros to avoid warning
2019-06-28 01:40:52 +03:00
JohnHolmesII
23094b48bb
Fix warnings related to -Wswitch
...
Add default cases.
Move default breaks to newline
Add proper handling in some instances.
Add missing enums to switches
2019-06-28 01:40:52 +03:00
JohnHolmesII
be521ff0ab
Fix warnings related to parentheses
2019-06-25 20:36:32 -07:00
JohnHolmesII
32f8f40a4a
Disable warnings for stb_image.cpp. Should this file be moved to
...
3rdparty?
2019-06-25 20:36:32 -07:00
JohnHolmesII
27fca2ed33
CMake refactor
2019-06-25 20:36:32 -07:00
Nekotekina
1641be5e0c
Fix UTF-8 BOM in vm.cpp
2019-06-25 22:21:56 +03:00
Malcolm Jestadt
31afd046b0
lv2: sys_timer_usleep improvements for linux
...
-The minimum quantum on linux appears to be 50 microseconds by default, not 100
-Do not wait for the last quantum to avoid sleeping too long
2019-06-25 20:20:05 +01:00
kd-11
9ce7b8a401
vk: Add LLVM8 warning for RADV drivers
2019-06-25 20:50:54 +03:00
kd-11
009c55fcba
vk: Fix broken layout stream on first draw call
2019-06-25 20:50:54 +03:00
kd-11
4ff77a8555
rsx: Improve balancing of the offloader thread
...
- Use two counters to avoid atomic operations
- Yield instead of sleeping because some games are very sensitive to timing
2019-06-25 20:50:54 +03:00
kd-11
8249d51aa8
vk: Optimize occlusion pool management
...
- Do not consume a slot every draw call, instead batch as many draws as possible
- Since renderpasses are dispatched per-draw-clause, keeping occlusion queries outside the renderpasses works fine
- If renderpasses are reorganized, occlusion tasks will have to be reorganized again
2019-06-25 20:50:54 +03:00
kd-11
1ee675e1f4
facepalm of the year
...
- Typo fix
- This check leads to forever relocating memory if size never exceeds capacity!
2019-06-25 20:50:54 +03:00
kd-11
2b9c315374
rsx: Use rpcs3 thread construct for the offloader thread
2019-06-25 20:50:54 +03:00
kd-11
d26b25816d
rsx: Improve profiling setup
...
- Avoid spamming QPC when not needed
- Free performance when debug overlay is not enabled
2019-06-25 20:50:54 +03:00
kd-11
b893a75002
rsx: Rework RSX offloading
...
- Use a lockless queue
- Do not enqueue small transfers
2019-06-25 20:50:54 +03:00
kd-11
c32c1b0a62
gl: Minor API tweaks
...
- Avoid spamming the driver with samplerParameter calls unless the parameters have actually changed
2019-06-25 20:50:54 +03:00
kd-11
6a32f716db
rsx: Reimplement vertex layout streaming
...
- Remove string comparisons from the hot-path!
- Use attribute streaming and push constants to avoid forcing a descriptor block copy every other draw call/pass.
While this isn't so bad on nvidia cards, it makes AMD cards a slideshow.
2019-06-25 20:50:54 +03:00
kd-11
59ee74a275
rsx: Disable vertex cache if multithreaded memory access is enabled
...
- When multithreaded RSX is enabled, the vertex cache just lowers performance
- The small cost of upload is paid by the asynchronous thread, allowing RSX to work optimally
2019-06-25 20:50:54 +03:00
kd-11
0fa3bcc336
rsx: Asynchronous data transfer
2019-06-25 20:50:54 +03:00
kd-11
358169507c
rsx: Use SSE to accelerate index buffer uploads
2019-06-25 20:50:54 +03:00
kd-11
b645ebdb04
vk: Refactor device management and improve driver detection
2019-06-25 20:50:54 +03:00
kd-11
25bba9bf56
vk: API update
...
- use KHRONOS_validation instead of LUNARG_standard_validation which is deprecated
2019-06-25 20:50:54 +03:00
kd-11
f113cfe5c0
vk: Avoid some useless memory barriers
...
- Do format conversions only when necessary
2019-06-25 20:50:54 +03:00
kd-11
c9501b60ab
rsx: Use explicit fma for MAD emulation
2019-06-25 20:50:54 +03:00
kd-11
6be7c58fa4
glsl: Refactoring, cleanup and optimizations
...
- Avoid generating unused code
- Reduce GPR usage in emitted code
2019-06-25 20:50:54 +03:00
Lassi Hämäläinen
c963c51a60
Remove unnecessary header includes
...
- Manually removed lot of unneeded #includes to clean code and reduce
compilation time
- Reordered some of the #includes to be in more logical order
2019-06-25 17:11:10 +03:00
Lassi Hämäläinen
23432d420d
CMake: Disable RTTI for jit.cpp on MSVC
2019-06-25 17:11:10 +03:00
Lassi Hämäläinen
a070a414a6
Move rsx::constants and rsx::limits to rsx_utils.h
2019-06-25 17:11:10 +03:00
Lassi Hämäläinen
e9e87b8bd9
Add missing #includes to header files
...
- Multiple header files where missing #includes to other headers that
where used in the header. Correct header was included in correct
order in source files which caused everything to compile.
- Added missing #includes so header files correctly include all their
dependencies and fixes problems with IDEs being unable to parse
headers correctly due to missing symbols
2019-06-25 17:11:10 +03:00
Lassi Hämäläinen
499035512b
Split Emu/Memory into more logical headers
...
- Add vm_locking.h and vm_reservation.h and move relevant functions
and types to these headers.
- Change include order and make vm_ptr.h, vm_var.h and vm_ref.h headers
usable invidually and them including vm.h instead of other way around
- Because usage of vm::ptr now requires including vm_ptr.h instead of
vm.h updated multiple #includes
- Added additional #includes to vm_reservation.h and vm_locking to
where vm::reservation_* and locking related functions are used
2019-06-25 17:11:10 +03:00
Megamouse
8e942eb50c
Qt: add more filters to the decryption file dialog and fix file endings
2019-06-23 21:08:58 +03:00
Eladash
806a7bbf04
Fixup for #6115 ( #6120 )
2019-06-22 12:10:47 +03:00
Eladash
cd0ef99df5
Fix BE endianess arch support in semaphore_406e ( #6116 )
...
Add raw() methods for endianness support types and make use of it.
2019-06-21 19:29:49 +03:00
Eladash
ade291e73d
Fix potential overflow in sys_vm
2019-06-21 00:02:52 +03:00
Nekotekina
517a2bc34a
sys_lwcond: add vm::temporary_unlock
2019-06-20 14:46:32 +03:00
Nekotekina
a935203a18
sys_lwmutex: add vm::temporary_unlock
2019-06-20 14:46:32 +03:00
Nekotekina
b9b591bf02
Fix SPU Loop Detection
2019-06-20 14:46:32 +03:00
Megamouse
3602d45cb7
input: raise max mouse acceleration to x10
2019-06-20 10:23:50 +02:00
Megamouse
a0f2ade55d
gui/input: improve log message for GetNextButtonPress
2019-06-20 10:23:50 +02:00
Nekotekina
5753b3222e
sys_memory: add vm::temporary_unlock
2019-06-19 20:45:59 +03:00
Nekotekina
d021d9e14a
sys_mutex: add vm::temporary_unlock
2019-06-19 20:39:39 +03:00
Nekotekina
89a31292dc
sys_cond: add vm::temporary_unlock
2019-06-19 20:39:29 +03:00
Nekotekina
5d45a3e47d
Implement cpu_thread::suspend_all
...
Remove Accurate PUTLLC option.
Implement fallback path for SPU transactions.
2019-06-19 20:36:12 +03:00
Megamouse
17d0dcb7a2
gui/input: add evdev callback when no button was pressed
2019-06-18 18:15:19 +02:00
Eladash
d52953fca6
minor UB fix
2019-06-17 02:52:43 +03:00
Ivan
0fe26f8293
Add sys_rsx_context_iomap workaround
...
Don't fail with CELL_EINVAL on vm::main.
2019-06-17 01:17:02 +03:00
scribam
185fd3d257
rsx: Minor cleanup after #6055
2019-06-17 00:31:38 +03:00
Megamouse
5928dd826c
Qt: add Remove All Caches to the game context menu
2019-06-16 23:07:13 +03:00
Megamouse
b29a89807e
cellPad: set len to 0 if pads are being intercepted by the system
2019-06-15 00:24:10 +02:00
Megamouse
3f00b485a0
cellMsgDialogAbort: don't call on_close and properly re-enable pads
2019-06-15 00:24:10 +02:00
kd-11
8dafc8e542
cfg: Default MSAA level to auto
2019-06-14 17:19:55 +03:00
kd-11
e515d9b83a
vk: Fixup for missing resource reference
...
- Missing ref increment when using framebuffer could lead to use-after-free.
How master was not crashing is surprising
2019-06-14 16:19:52 +03:00
kd-11
c90186cf35
vk: Do not use pixel_center_origin as its use is explicitly restricted by spec
2019-06-14 16:19:52 +03:00
kd-11
98156d2a2c
vk: Avoid submitting wrong sample count in overlay passes
2019-06-14 16:19:52 +03:00
kd-11
4104d7a6a1
vk: Simplify WCB heuristics and fix out-of-bounds access
2019-06-14 16:19:52 +03:00
kd-11
86119f58d6
rsx: Typo fix
2019-06-14 16:19:52 +03:00
kd-11
9d166c5bed
rsx: Force invalidate of children by issuing a resolve notification whenever the parent is written to
...
- Fixes successive reads of an antialiased surface that is still bound between reads
2019-06-14 16:19:52 +03:00
kd-11
296e0105c4
vk: Fix WCB for antialiased memory
2019-06-14 16:19:52 +03:00
kd-11
9d0f5aedf3
vk: Add some missing barriers
2019-06-14 16:19:52 +03:00
kd-11
e4671c29a6
rsx: Fix typo
...
- Arguments to the transform function are xxyy not xyxy
2019-06-14 16:19:52 +03:00
kd-11
8a1cf2c913
rsx: Attempt to reduce stencil load overhead for nvidia cards
2019-06-14 16:19:52 +03:00
kd-11
ca82dd7200
vk: Improve overlay passes for resolve/unreolve
...
- Refactor overlays and resolve passes to support use of push constants instead of relying buffer map/unmap
- Add support for nvidia resolve (NV is the only vendor not supporting shader_stencil_export)
2019-06-14 16:19:52 +03:00
kd-11
c655036920
rsx/fp: Ease pressure on fragment shaders when emulating clamp16
...
- TODO: Option to completely skip clamping in some architectures as it is not needed in most games
- Mostly affects older GPUs that do not have access to native fp16
2019-06-14 16:19:52 +03:00
kd-11
5f34c0c59a
vk: Clean up WCB readbacks when resource is multisampled
...
- Resolve image first before performing any transfer operations
2019-06-14 16:19:52 +03:00
kd-11
9d314ca4ca
rsx: Correctly count number of valid entries if there are broken entries in the cache
2019-06-14 16:19:52 +03:00
kd-11
bca5f94b3f
rsx: Add option to toggle MSAA
2019-06-14 16:19:52 +03:00
kd-11
ea8409dcfd
rsx: Re-enable optional sample-to-pixel transformation
2019-06-14 16:19:52 +03:00
kd-11
acb14320da
rsx: Fixup for resolution scaling support
2019-06-14 16:19:52 +03:00
kd-11
4a5bbba277
rsx: Enable MSAA
...
- vk: Enable depth buffer resolve+unresolve
- vk: Add AMD stenciling extension support
- rsx: Temporarily disables MSAA-compatible hacks such as transparency AA
- TODO: Add paths to optionally disable MSAA
2019-06-14 16:19:52 +03:00
kd-11
f6f3b40ecc
rsx: Fix AA coordinate transforms
...
- Requires native_pitch value to take samples into account
2019-06-14 16:19:52 +03:00
kd-11
655eff29e8
rsx: Refactoring and cleanup after d3d12 separation
...
- Remove deprecated functionality
- Refactor to share code between common routines
2019-06-14 16:19:52 +03:00
kd-11
db5d56a22d
d3d12: Remove all shared code with other backends
2019-06-14 16:19:52 +03:00
kd-11
0d906d6974
rsx: Remove surface aa_mode hacks
2019-06-14 16:19:52 +03:00
Megamouse
ac3982d2b0
Input: fix evdev buttons
2019-06-13 19:12:46 +02:00
scribam
13671d9684
rsx: Apply Clang-Tidy fix "modernize-loop-convert" + const when relevant
2019-06-12 15:11:52 +03:00
scribam
1e327ad31b
rsx: Apply Clang-Tidy fix "readability-avoid-const-params-in-decls"
2019-06-12 15:11:52 +03:00
scribam
370dcd9d6e
rsx: Apply Clang-Tidy fix "readability-simplify-subscript-expr"
2019-06-12 15:11:52 +03:00
scribam
0b97d12a7b
rsx: Apply Clang-Tidy fix "modernize-use-using"
2019-06-12 15:11:52 +03:00
scribam
f1e939936a
rsx: Apply Clang-Tidy fix "modernize-use-override"
2019-06-12 15:11:52 +03:00
scribam
44265aa27d
rsx: Apply Clang-Tidy fix "modernize-use-equals-default"
2019-06-12 15:11:52 +03:00
scribam
635695ac78
rsx: Apply Clang-Tidy fix "modernize-use-emplace"
2019-06-12 15:11:52 +03:00
scribam
a555504142
rsx: Apply Clang-Tidy fix "modernize-deprecated-headers"
2019-06-12 15:11:52 +03:00
scribam
cba828384d
rsx: Apply Clang-Tidy fix "modernize-pass-by-value"
2019-06-12 15:11:52 +03:00
scribam
a02a8642b0
rsx: Apply Clang-Tidy fix "modernize-make-unique"
2019-06-12 15:11:52 +03:00
scribam
b91bcdbbca
rsx: Apply Clang-Tidy fix "modernize-use-bool-literals"
2019-06-12 15:11:52 +03:00
scribam
349e7c8708
rsx: Apply Clang-Tidy fix "readability-non-const-parameter"
2019-06-12 15:11:52 +03:00
scribam
35dc98be06
rsx: Apply Clang-Tidy fix "readability-string-compare"
2019-06-12 15:11:52 +03:00
scribam
ac7e89660f
rsx: Apply Clang-Tidy fix "readability-redundant-smartptr-get"
2019-06-12 15:11:52 +03:00
scribam
801fa0113f
rsx: Apply Clang-Tidy fix "readability-inconsistent-declaration-parameter-name"
2019-06-12 15:11:52 +03:00
scribam
c9b0a4afd0
rsx: Apply Clang-Tidy fix "performance-type-promotion-in-math-fn"
2019-06-12 15:11:52 +03:00
scribam
8f2647555a
rsx: Apply Clang-Tidy fix "readability-redundant-string-init"
2019-06-12 15:11:52 +03:00
scribam
331fe01762
rsx: Apply Clang-Tidy fix "performance-for-range-copy"
2019-06-12 15:11:52 +03:00
scribam
db926ee671
rsx: Apply Clang-Tidy fix "performance-unnecessary-value-param"
2019-06-12 15:11:52 +03:00
scribam
81a3b49c2f
rsx: Apply Clang-Tidy fix "readability-container-size-empty"
2019-06-12 15:11:52 +03:00
scribam
c4667133c4
gl/vk: Add constexpr to varying_registers and sync functions between the two backends
2019-06-12 10:59:31 +01:00
scribam
65581acbf9
rsx: Use constexpr for flattening_helper::m_register_properties
2019-06-12 10:59:31 +01:00
scribam
b3513cd7fa
Set minimum supported version of GCC to 8.x
...
And update the documentation accordingly
2019-06-11 00:48:11 +03:00
kd-11
d361eedbec
rsx: Clean up window management code
...
- Removes a lot of wm_event code that was used to perform window management and is no longer needed.
- Significantly simplifies the vulkan code.
- Implements resource management when vulkan window is minimized to allow resources to be freed.
2019-06-10 14:57:03 +03:00
kd-11
57196f0504
vk: Move frame present synchronization to the driver
...
- Just use a semaphore and let the driver handle it instead of manual framepacing.
We lose framepace control but drivers have matured in the past few years so it should work fine.
2019-06-10 14:57:03 +03:00
Talkashie
527f7a437a
important fix ( #6067 )
...
Fix typo in Pad Settings Dialog
2019-06-10 13:03:55 +03:00
RainbowCookie32
652e32341d
Update DS3 message in Pads settings
2019-06-10 00:52:22 +01:00
scribam
39fa1d7031
ci/vk: Bump Vulkan version (1.1.73.0/1.1.97.0 => 1.1.106.0)
...
VULKAN_SDK_MIRROR removed as the server is down
2019-06-09 23:43:57 +01:00
scribam
f9ad635856
rsx: TextGlyphs optimizations
2019-06-09 23:09:11 +01:00
Nekotekina
2bc0ea37ab
sys_fs: yield PPU on disk access ops
2019-06-08 19:34:55 +03:00
Megamouse
e8a516529b
fix games.yml
2019-06-08 15:47:11 +03:00
Nekotekina
9dc0368079
Rename cond_x16 to shared_cond
...
Extend capacity from 16 to 32.
Remove redundant m_total counter.
2019-06-04 16:37:50 +03:00
Nekotekina
447029a700
Implement fs::file::write_gather (Vectored I/O)
2019-06-03 23:18:39 +03:00
Nekotekina
31994dd3b2
Rename cond_one to unique_cond
...
Remove redundant in_cv in cellVdec
2019-06-02 23:22:16 +03:00
Nekotekina
dfd50d0185
Implement std::bit_cast<>
...
Partial implementation of std::bit_cast from C++20.
Also fix most strict-aliasing rule break warnings (gcc).
2019-06-02 23:22:16 +03:00
scribam
790962425c
Fix some "-Wpedantic" warnings
2019-06-01 22:59:23 +03:00
scribam
99c1f87289
vk: Fix memory value in comments to match with the code below
2019-06-01 22:59:23 +03:00
scribam
66946a83e6
keyboard: Replace integer literals by bool when relevant
...
Recommendation from Clang-Tidy: https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2019-06-01 22:59:23 +03:00
scribam
8a6b5ca71f
Access class static methods with "::"
...
Recommendation from Clang-Tidy: https://clang.llvm.org/extra/clang-tidy/checks/readability-static-accessed-through-instance.html
2019-06-01 22:59:23 +03:00
scribam
09c9996f31
Use empty() instead of comparing size() with 0
...
Recommendation from Clang-Tidy: https://clang.llvm.org/extra/clang-tidy/checks/readability-container-size-empty.html
2019-06-01 22:59:23 +03:00
scribam
bf557ea6e6
Use the more efficient character literal overload for find_first_of/find_last_of
...
Recommendation from Clang-Tidy: https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html
2019-06-01 22:59:23 +03:00
scribam
78c7ef3039
rsx: Use clear() instead of resize(0)
...
The result is the same but clear [1] has slightly less code than resize [2] and signals better the intent IMHO.
[1] fb7fb646fa/libstdc%2B%2B-v3/include/bits/stl_vector.h (L1495)
[2] fb7fb646fa/libstdc%2B%2B-v3/include/bits/stl_vector.h (L934)
2019-06-01 22:59:23 +03:00
Megamouse
cafa4521ee
Better Support For Game Collections ( #4450 )
2019-06-01 01:12:30 +03:00
scribam
d9d7634f8b
vk: remove duplicate condition in pipeline_props struct equal operator
2019-06-01 00:01:32 +03:00
msuih
32776db8a6
Remove SPU verification from settings
2019-05-31 19:49:32 +03:00
msuih
ef587d4cdc
Limit shaderlog writing behind log_programs setting
2019-05-31 19:49:32 +03:00
kd-11
f2cac26154
rsx: Refactor out GLSLTypes from GLSLCommon to avoid warning spam due to unused functions when included in settings dialog code
2019-05-31 13:27:43 +03:00
kd-11
6e92516070
vk: Do not reset descriptors from the aux buffer when things are running slow
...
- The aux buffer borrows its descriptors from the lagging frame, so they are still in use until the frame completes.
2019-05-31 13:27:43 +03:00
kd-11
e118c9e5da
update glslang
2019-05-30 11:48:38 +03:00
Megamouse
c638e82678
Qt: fix a crash when closing rpcs3 after downloading the compat database
2019-05-28 21:47:49 +02:00
Megamouse
fb1d8cb548
Qt/Input: keep LED colors when setting vibration and merge pad functions
2019-05-28 21:47:49 +02:00
Megamouse
5760aa2e57
Qt: Use correct LED color in pad settings dialog
2019-05-28 21:47:49 +02:00
Megamouse
e4fca8274e
PSF: Don't attempt to load files with size 0
2019-05-28 21:47:49 +02:00
Megamouse
f48589005d
handle some more warnings
2019-05-28 21:47:49 +02:00
Megamouse
8ebe02ce32
Qt: properly disable the "Filter Noise" button in pad_settings_dialog
2019-05-28 21:47:49 +02:00
Megamouse
3a5d1c6b15
Input: Add simple stick multipliers
2019-05-28 21:47:49 +02:00
Megamouse
34964e0e4f
handle some warnings
2019-05-28 21:47:49 +02:00
kd-11
d9ab2c7104
vk: Bump shaders cache version
...
- Pipeline properties changed with the renderpass update
2019-05-28 15:28:30 +03:00
kd-11
57eb892153
vk: Refactor framebuffers
...
- Refactor out framebuffers from the renderer core
- Use a proper cache with sorted queues for faster searching
2019-05-28 15:28:30 +03:00
Nekotekina
71b71537a0
SPU TSX: implement Accurate PUTLLC option
...
Allow spurious PUTLLC failure if disabled (default).
2019-05-25 22:23:23 +03:00
Nekotekina
b839cc9d5b
SPU TSX: restore busy_wait in GETLLAR
2019-05-25 21:41:11 +03:00
kd-11
507ec8252b
vk: Refactor renderpass management
...
- Ensures the current renderpass matches the image properties even when a cyclic reference is detected
- Solves SDK debug output error spam due to mismatching layouts and renderpasses
2019-05-25 14:07:29 +03:00
Malcolm Jestadt
c348fec84b
Warn AMD linux users about potential performance loss if not using RADV
2019-05-24 17:16:29 +03:00
Malcolm Jestadt
6ab3011eef
vk: Check_window_status fixups
...
Intel ANV has been tested and verified to work without workaround
AMDVLK and the proprietary AMD driver have been confirmed to require workaround for window resizing
2019-05-24 17:16:29 +03:00
RipleyTom
d616ce223c
Official ds3 driver support
2019-05-22 16:56:40 +03:00
kd-11
370b9e196d
vk: Improve descriptor pool management
...
- Add double-buffered descriptor pools to avoid use-after-free situations
- Make descriptor pools more configurable
- Also adds in a hack to allow renderdoc to capture properly
2019-05-22 01:18:46 +03:00
kd-11
46ba53f122
vk: Propagate more information to the driver
...
- Pass "correct" layout to descriptors
- TODO: Fix renderpass attachment descriptors which are inadvertently doing silent transitions
2019-05-22 01:18:46 +03:00
kd-11
c3b234f972
gl: Fix staging buffer size calculation
2019-05-22 01:18:46 +03:00
Malcolm
9a26c0abda
Overlays: Fix timing
2019-05-21 13:01:38 +03:00
Nekotekina
7de3c410cf
SPU/PPU: update reservation logic on TSX path transactions
...
Make use of lock bits in reservation counters.
On PPU, fallback to compare_and_swap instead of desperate retry.
On SPU, lighten write set on retry by 'locking' outside of the transaction.
2019-05-20 14:32:50 +03:00
Nekotekina
9abb303569
vm: expand reservation lock bit area to 7 bit
...
This is minor change.
2019-05-19 17:46:55 +03:00
Nekotekina
ceaa669494
LLVM DSL: change array syntax again
...
I probably misunderstand something.
2019-05-19 17:46:55 +03:00
kd-11
8009e53642
rsx: Fix upload block range optimization
...
- The 'max' index should take the first assigned ID; fixes problems with divisors
2019-05-19 17:33:21 +03:00
kd-11
a245d9fb24
vk: DOuble general-purpose heap allocation to 128M and add a better diagnostic message for OOM
2019-05-19 17:33:21 +03:00
kd-11
0ef7b2aaff
rsx: Use a saner model for swap queue handling
...
- Use a simple queue to avoid redundant checks over all the contexts
- Poll queue if RSX pipe is idle
- Only check the queue when the frame context is dirty (after a queue operation)
- Reset descriptors at the start of the frame context to avoid having to synchronize mid-frame
- Fully synchronize if a descriptor reset is required mid-frame (spec compliance; also fixes flickering verts on some hardware)
2019-05-19 17:33:21 +03:00
kd-11
dc749d3975
vk: Bump max number of allocated draw calls from 4k to 16k
2019-05-19 17:33:21 +03:00
Nekotekina
85920253b3
SPU ASMJIT: fix BISLED
...
Properly prevent losing branch target (addr) vs get_events result (flags).
Move get_events() to the beginning.
Match BISL indirect_branch() args.
2019-05-17 23:44:19 +03:00
Nekotekina
6416fee986
SPU ASMJIT: fix indirect branch target order
...
Check stack mirror first, as in SPU LLVM.
2019-05-17 23:44:19 +03:00
Nekotekina
bf7ee2de4c
SPU: fix spu_runtime::g_tail_escape (unused yet)
2019-05-17 23:44:19 +03:00
Nekotekina
2cf139c7a8
SPU analyser: minor Safe fix
...
Properly handle known indirect branch target as a function call target.
2019-05-17 23:44:19 +03:00
msuih
164a7636bf
Add max SPURS threads to settings
2019-05-17 23:43:00 +03:00
kd-11
e3f68c66d8
rsx: Use a shared sampler pool instead of relying on the drivers
2019-05-17 22:51:40 +03:00
Megamouse
edb1a32bb1
overlays: use L1 and R1 to step by 10 in the save data list
2019-05-17 20:21:23 +02:00
Megamouse
32bdd8ef7b
overlays: move some code to cpp files
2019-05-17 20:21:23 +02:00
kd-11
4037225e98
vk: Workaround for cyclic feedback loops
...
- Transition attachments to LAYOUT_GENERAL in case of a feedback loop
- Fixes appearance of garbage along polygon edges in some
post-processing passes.
- Also reverse this transition when rendering goes back to normal
2019-05-17 16:41:17 +03:00
gidan80
9aa08313e3
Qt: Add custom pad configs
...
Add a custom pad config for every game.
2019-05-16 20:37:41 +02:00
kd-11
cb78522620
rsx: Fixup for uninitialized surface antialiasing mode
2019-05-16 19:25:26 +03:00
kd-11
45a13d0319
rsx: Fixup for lost aliased surfaces
...
- Intersection routines were changed and require explicit identification of the "old surface"
2019-05-16 19:25:26 +03:00
kd-11
05eb1e9193
rsx: Fix zombie image references from inside the texture cache
...
- Do not add locked orphans to the flush_always cache! They will not remove their cache entries as they are not bound
2019-05-16 19:25:26 +03:00
kd-11
214bb3ec87
rsx: Always initialize memory unless it is guaranteed to be wiped
2019-05-16 19:25:26 +03:00
kd-11
88290d9fab
rsx: Hack around using data regions as transfer targets
2019-05-16 19:25:26 +03:00
kd-11
4182f9984d
rsx: Propagate split section information back to the texture cache
2019-05-16 19:25:26 +03:00
kd-11
3c7d8a1099
rsx: Minor texture/surface scanning optimization
...
- Also re-enable optimization in blit engine accidentally disabled during debugging
2019-05-16 19:25:26 +03:00
kd-11
9f0090772a
rsx: Fix write tagging when comments are transferred in by blit engine
2019-05-16 19:25:26 +03:00
kd-11
4b443be881
rsx: Fix self-intersection with previous occupant of the address being replaced
2019-05-16 19:25:26 +03:00
kd-11
b840f6da28
[WIP] rsx: Use a sane reference counting model
2019-05-16 19:25:26 +03:00
kd-11
e3cf3ab6b8
rsx: Minor fixes
...
- Fix transfer scaling (inverted)
- Fix under-estimated typeless acquisition when doing depth format scaling
2019-05-16 19:25:26 +03:00
kd-11
e02e27b2b3
rsx: Prevent out-of-bounds writes when resolving shader input textures
...
- The target area can also have padding!
2019-05-16 19:25:26 +03:00
kd-11
1c439f6198
vk: Fix some spec violations
2019-05-16 19:25:26 +03:00
kd-11
88c20afd3a
rsx: Implement unaligned surface inheritance with hierachial contribution
...
- Allows render targets to behave like stacked 3D views same as shader inputs are resolved
- Basically implements most of 'Read Color/Depth Buffers" option for 'free'.
- Allows splitting RTV/DSV resources if they are superceded by a partial surface
- Also allows intersecting new resources through the surface cache for proper inheritance from other scattered data
- TODO: Refactor bind_surface_as_rtt and bind_surface_as_ds to reduce asinine code duplication
2019-05-16 19:25:26 +03:00
Nekotekina
a016728a9e
SPU LLVM: re-enable stack mirror
...
It was disabled due to other bugs which should be fixed now.
2019-05-16 04:12:08 +03:00
Nekotekina
a69329fe02
SPU ASMJIT: Fix Giga mode
...
This is embarassing.
Fixed local instruction table computation (indirect branch).
2019-05-16 04:11:05 +03:00
Nekotekina
26d131ef29
SPU LLVM: Fix Giga mode
...
Forgot to adjust global chunk table computation.
2019-05-16 04:02:33 +03:00
Nekotekina
91897fa69d
SPU LLVM/ASMJIT: fix BRA/BRASL instructions for PIC
...
Handle absolute branch addressing correctly.
2019-05-16 02:41:31 +03:00
Nekotekina
f95ec8a37c
SPU LLVM: simplify jump table computation
...
Remove one add operation and adjust constants instead.
2019-05-16 00:54:50 +03:00
Nekotekina
b138d25b97
SPU Disasm: fix absolute addressing in some instructions.
...
STQA, LQA, BRA, BRASL instructions.
2019-05-16 00:53:37 +03:00
Nekotekina
a921af1e96
SPU LLVM/ASMJIT: remove minor unnecessary code
2019-05-16 00:52:52 +03:00
Nekotekina
43ae4b3f33
SPU LLVM/ASMJIT: add missing PC clamping
...
Minor fix, since it's mostly impossible to overflow.
2019-05-16 00:51:47 +03:00
Nekotekina
007108100e
SPU: implement spu_runtime::g_tail_escape
...
May help to avoid gateway costs in some cases.
2019-05-15 18:47:40 +03:00
Nekotekina
4e75d2c2f7
SPU LLVM: don't save $2 in optimized functions
2019-05-15 16:41:57 +03:00
Nekotekina
adc7d96683
SPU LLVM: simplify function prototype
...
Pass only $3
2019-05-15 16:18:13 +03:00
Nekotekina
16401722f1
SPU LLVM: fix $SP passing in functions, write PC on halt
...
Allows to skip updating $SP in optimizable functions.
2019-05-15 15:42:03 +03:00
Nekotekina
b2d0ca83fb
LLVM DSL: simplify value_t template for array
2019-05-15 15:17:36 +03:00
Nekotekina
09eb633f69
SPU ASMJIT: increase stack frame size
...
It seems Windows has minimal stack frame size 0x28.
2019-05-15 02:16:08 +03:00
Nekotekina
3753d27aba
SPU: fix Giga mode (kinda)
...
Don't scan before the entry point.
Disable stack mirror in SPU LLVM.
Improve analyser logic for holes.
2019-05-14 22:15:04 +03:00
Nekotekina
c481472faf
SPU ASMJIT: add PIC support (fix)
...
Also cleanup and adapt for GHC CC.
2019-05-14 22:15:04 +03:00
Nekotekina
82295d131a
SPU LLVM: split LLVM IR dump to spu-ir.log
...
Also move disasm to spu_recompiler_base::dump.
Interleave disasm with block target info for convenience.
2019-05-14 22:15:04 +03:00
Nekotekina
ea554ae828
Implement 'Max SPURS Threads' option (hack)
...
Pauses SPURS threads beyond limit automatically if set.
2019-05-14 22:15:04 +03:00
Nekotekina
1eed421774
SPU LLVM: use branch patchpoints again
...
Renewed and adapted for PIC and all branch types.
This may address performance degradation after #5923 .
2019-05-14 22:15:04 +03:00
Nekotekina
2f6707d0a0
SPU LLVM: regain some efficiency
...
Avoid returns from the recompiler gateway, favoring tail calls.
This may address performance degradation after #5923 .
2019-05-14 22:15:04 +03:00
Nekotekina
f33b81545e
SPU: implement recompiler gateway function in assembly
...
Use GHC calling convention directly for SPU object entry points.
This may address performance degradation after #5923 .
2019-05-14 22:15:04 +03:00
Nekotekina
a74fd27e3d
SPU LLVM: fix SPU termination (spu_escape) on Windows
...
Adjust restored stack pointer for the lack of tail call.
2019-05-14 22:15:04 +03:00
Nekotekina
cc8c635855
SPU: PIC support preview
...
SPU ASMJIT not supported yet.
Giga mode not supported properly.
2019-05-14 22:15:04 +03:00
z0z0z
7cf11c7637
Use setenv instead of qputenv
...
A user reported issues with Qt's hidpi scaling and RPCS3. They could not disable with their own environment variable because qputenv overwrites them, setenv with 0 as third arg doesn't.
2019-05-14 21:48:14 +03:00
scribam
22f61caf9f
GLTexture: add missing #pragma once directive
2019-05-12 18:32:11 +03:00
scribam
6c5ea068c9
Remove redundant semicolons
...
Fix "-Wextra-semi" warnings
2019-05-12 18:32:11 +03:00
Rui Pinheiro
1f82a26a9c
SPU LLVM: Fix Mega
2019-05-12 00:39:42 +03:00
scribam
3623f4343f
gl/vk: clear scissor_setup_invalid bit along with scissor_config_state_dirty bit
2019-05-11 13:13:49 +03:00
Nekotekina
8194c92f1c
SPU LLVM: disable GHC CC for chunks on Windows
...
Causes fatal error inside LLVM.
2019-05-11 02:35:16 +03:00
Nekotekina
5d33d9a3d9
Enable most warnings in GCC
2019-05-11 02:13:19 +03:00
Nekotekina
7492f335e9
SPU analyser: basic function detection in Giga mode
...
Misc: fix EH frame registration (LLVM, non-Windows).
Misc: constant-folding bitcast (cpu_translator).
Misc: add syntax for LLVM arrays (cpu_translator).
Misc: use function names for proper linkage (SPU LLVM).
Changed function search and verification in Giga mode.
Basic stack frame layout analysis.
Function detection in Giga mode.
Basic use of new information in SPU LLVM.
Fixed jump table compilation in SPU LLVM.
Disable broken optimization in Accurate xfloat mode.
Make compiled SPU modules position-independent in SPU LLVM.
Optimizations include but not limited to:
* Compiling SPU functions as native functions when eligible
* Avoiding register context write-out
* Aligned stack assumption (CWD alike instruction)
2019-05-11 02:13:19 +03:00
Megamouse
fce9d6a7b8
Qt/input: add LED color picker to pad settings dialog
2019-05-09 22:02:00 +02:00
eladash
7ead021aa7
rsx: Fix 3d swizzled texture to linear conversation
2019-05-08 23:48:39 +03:00
kd-11
feb77793df
typo fix
...
- Minor argument change requested by Megamouse
2019-05-07 09:39:35 +03:00
Exfiltratior
f1ff75d815
correct small mistake
2019-05-07 09:39:35 +03:00
eladash
13d8e33d9a
Return ESRCH if ppu thread ID was not found in sys_cond_signal_to
2019-05-07 08:58:07 +03:00
eladash
4e2650af91
Fix sys_rwlock_wlock timedout event
...
If the rwlock is currently acquired by a writer signaling readers is wrong and will lead to EPERM for wunlock!
Only signal blocked readers if the rwlock is currently acquired by readers
2019-05-07 08:58:07 +03:00
eladash
ca08418dc1
Fix sys_rwlock_runlock on waiting readers
...
readers can wait on the sleep queue if a writer lock has been blocked before it, in this case after runlock: writer should acquire the lock but the r's sleep queue is still not empty!
2019-05-07 08:58:07 +03:00
Megamouse
5141590729
overlays: add separate timestamp for the start of the d-pad interval
2019-05-06 22:00:40 +02:00
Malcolm Jestadt
fd2bc95a7b
overlays: Double dpad repeat rate
2019-05-06 22:00:40 +02:00
Megamouse
87d493fe1b
Qt: smoother custom config icons
2019-05-06 20:00:36 +02:00
Megamouse
e883f4f880
Qt: center compat circles
2019-05-06 20:00:36 +02:00
Megamouse
767eaaa82a
Qt: smoother game grid icons
2019-05-06 20:00:36 +02:00
Megamouse
caa6895310
Qt: smoother game icons in list mode
2019-05-06 20:00:36 +02:00
Megamouse
ea0f04e130
Qt: smoother compat circles in list mode
2019-05-06 20:00:36 +02:00
Megamouse
f480ba13c0
Qt: show all unique game data entries
2019-05-05 16:29:50 +02:00
Megamouse
c1e245ae73
Emu: msg_dialog_frame fixup: don't reject on Close to prevent Emu.Stop()
2019-05-05 16:29:50 +02:00
Megamouse
b639584acc
Emu/Qt: Fix Boot Recent when using BootGame(add_only=true)
2019-05-05 16:29:50 +02:00
Megamouse
b0a24665e5
Emu: msg_dialog_frame fixes
2019-05-05 16:29:50 +02:00
Megamouse
8a4778ba8c
Qt: add some batch operations
2019-05-05 16:29:50 +02:00
kd-11
9c346c92f3
gl: undo an accidental deletion
2019-05-05 13:37:55 +03:00
kd-11
2bec304cca
vk: Allow some drivers to bypass window polling if not needed
2019-05-05 13:37:55 +03:00
drysalter
f246a8666a
Qt: Minor Visual Fixes ( #5899 )
...
* Increase minimum size of User Manager window so QPushButtons aren't squeezed together
* Add spacing to the links in the About dialog to match all other buttons in the GUI
* Make the links in the About dialog work on Linux
* Turn the tooltip on "Config" in toolbar into an imperative like the rest of them
2019-05-04 22:56:55 +02:00
Nekotekina
a703460fc6
SPU ASMJIT: skip some unused analyser steps
...
May improve performance
2019-05-04 19:35:13 +03:00
Nekotekina
ba1ec1d5d6
SPU analyser: remove use_ra from HBR
...
Since this is a hint instruction, we don't really use reg value here.
2019-05-04 18:33:58 +03:00
Nekotekina
45ce8db6cb
SPU Analyser: fix reg origin regression
...
Propagate phi instead of claiming new values
2019-05-04 18:29:47 +03:00
Nekotekina
4bd022f778
SPU analyser: minor logic fix and cleanup
...
Don't fill any chunk info for now (design mistake).
2019-05-03 14:18:22 +03:00
Nekotekina
6c34d7104e
SPU analyser: fix excessive workload list size
...
Typo grade; regression
2019-05-02 23:29:02 +03:00
Nekotekina
54dc617f39
SPU analyser: internal spu_itype optimization
...
Use only 1 byte for instruction type.
Flags are transformed into range comparisons.
2019-05-02 19:32:09 +03:00
Nekotekina
15bd3b8724
SPU: fix minor UB in STQD/LQD instructions
2019-05-02 18:00:49 +03:00
Nekotekina
2b4da18709
SPU LLVM: fix xfloat regression
...
It was an old bug with possible hidden use of deleted instructions.
2019-05-02 13:39:43 +03:00
Nekotekina
d48dc29e55
SPU LLVM: fix perf regression
...
Bug in the analyser was created recently in #5882 .
2019-05-02 13:39:43 +03:00
Nekotekina
69d2ea35b9
SPU: minor analyser cleanup
2019-05-02 13:39:43 +03:00
Nekotekina
a4c4ee9cb2
SPU: fix excessive cache size regression
2019-05-02 13:39:43 +03:00
msuih
bc42719c48
Put DS3/DS4 instructions to Wiki instead
2019-05-02 13:39:16 +03:00
kd-11
6b7cd458e3
rsx: Silence some diagnostics unless compiled with debugging options
2019-05-01 15:36:21 +03:00
kd-11
1d5c52f476
rsx: Ignore stencil clear flag if the stencil write mask is disabled
2019-05-01 15:36:21 +03:00
kd-11
48cb265c2c
rsx: Bounds check on local resource for atlas merge.
...
- Local resources can also have padded pitch dimensions and false-positives on range overlap tests
2019-05-01 15:36:21 +03:00
kd-11
63f9b8e0c6
gl/vk: Minor cleanup
2019-05-01 15:36:21 +03:00
kd-11
ec9aa74008
rsx: Fix section base offset calculation for blit_dst targets which affects confirmed memory range
...
- Fixes flushes only writing partially to target memory
2019-05-01 15:36:21 +03:00
kd-11
4e3ec162e2
rsx: Fix broken texture cache search when flipping
2019-05-01 15:36:21 +03:00
kd-11
6feffe6ff6
rsx: Ignore transfer offsets when wrapping behaviour is expected
2019-05-01 15:36:21 +03:00
kd-11
f56a6548b0
gl: Remove workaround for AMD driver bug fixed in driver 19.4.3
2019-05-01 15:36:21 +03:00
Nekotekina
1bc5e27507
SPU LLVM: move reg origin search to analyser
...
Refactor SPU analyser (block_info struct).
Fill register use info (currently unused).
2019-05-01 00:37:15 +03:00
Nekotekina
1294e0d189
SPU LLVM: improve codegen in loops
...
Use a trick in check_state to improve LICM pass.
2019-05-01 00:37:15 +03:00
Nekotekina
e09c6ea4b4
SPU analyser: add spu_iflag
...
Register information about register accesses.
2019-04-30 14:33:27 +03:00
Nekotekina
716737ecf2
LLVM DSL: expression matching (alpha)
...
Implement remaining instructions.
Implement match_expr method.
Implement helper methods.
2019-04-30 14:33:27 +03:00
RipleyTom
301dd82819
DS3 Linux fix
2019-04-30 00:31:34 +03:00
eladash
3bd29b8bac
Fix Unregistered HLE function access
2019-04-29 23:04:16 +03:00
eladash
ea1c9a2e17
Fix PPU Breakpoints and ppu_check_toc
2019-04-29 23:04:16 +03:00
kd-11
243df38360
rsx: Fix VP writes to CC with a MOV instruction
...
- When moving to CC, the operation has VEC flag disabled and also temp
regs disabled. Looks to be the catch-all ELSE in the selection logic.
2019-04-25 16:23:05 +03:00
kd-11
3cbccdd760
rsx: Fragment shader decompiler cleanup
...
TODO: Investigate the _s input modifier behaviour further, in case it can avoid generating zeroes from a MAD instruction.
x = MAD(+ve, -ve, -ve) with _s input modifier in BFBC expects result to be Non-zero
2019-04-25 16:23:05 +03:00
kd-11
4cd1c25729
"rsx: Ignore argument sign for SQRT operations"
2019-04-25 16:23:05 +03:00
kd-11
32396ba366
rsx: Simplify use of some mixed input functions using OPFLAGS to avoid implicit conversions
2019-04-25 16:23:05 +03:00
kd-11
f12bd8068c
rsx: Fragment decompiler fixups
...
- Properly test for NaN and Inf when clamping down to fp16
- Optimize divsq a bit; mix(vec, vec, bvec) emits OpSelect which is what
we want here, instead of component-wise selection which is much slower.
2019-04-25 16:23:05 +03:00
kd-11
abe7188acf
rsx: Proper workaround for broken DIVSQ instruction on realhw
...
- While mul(0, nan) = nan and 0 / 0 = nan, 0 / sqrt(0) = 0 because of hw
gremlins. normalize(0) is also nan so this behaviour does not work
around that particular case either which makes it even more baffling.
2019-04-25 16:23:05 +03:00
kd-11
60f3059d22
rsx: Compensate for nvidia's low precision attribute interpolation
...
- The hw generates inaccurate values when doing perspective-correct
interpolation of vertex output attributes and makes the comparison (a ==
b) fail even when they are a fixed constant value.
- Increase equality tolerance when doing comparisons in fragment
shaders for NV cards only to work around this issue.
- Teepo fix
2019-04-25 16:23:05 +03:00
kd-11
463b1b220d
rsx: Improve accuracy of shadow compare Ops when non-integer depth formats are used
...
- The fixed-point D24S8 format does special Z clamping during compare which matches PS3 behaviour
- D32S8 is a floating point format and comparison with Dref > 1 always fails causing black edges/borders
2019-04-25 16:23:05 +03:00
kd-11
7ad1646c2c
vk: Skip feature check if extension is not supported
2019-04-25 16:23:05 +03:00
kd-11
06a85f00d1
rsx: Shader decompiler cleanup and improvements
...
- Improve support for float16_t by minimizing mixed inputs to functions
(ambiguous overloads)
- Minimize amount of downcasts in code by using opcode flags
- Re-enable float16_t support for vulkan
2019-04-25 16:23:05 +03:00
kd-11
a668560c68
rsx: Use native half float types if available
...
- Emulating f16 with f32 is not ideal and requires a lot of value clamping
- Using native data type can significantly improve performance and accuracy
- With openGL, check for the compatible extensions NV_gpu_shader5 and
AMD_gpu_shader_half_float
- With Vulkan, enable this functionality in the deviceFeatures if
applicable. (VK_KHR_shader_float16_int8 extension)
- Temporarily disable hw fp16 for vulkan
2019-04-25 16:23:05 +03:00
kd-11
ee319f7c13
rsx: Implement strict clamp16 operation needed for NVIDIA cards
2019-04-25 16:23:05 +03:00
Nekotekina
2ade3c594c
LLVM DSL: expression matching (preview 2)
...
Implement more instructions.
2019-04-25 03:33:18 +03:00
Nekotekina
aca61fdcf9
LLVM DSL: implement expression matching (preview)
...
Only literal match for binary ops implemented.
2019-04-24 23:55:41 +03:00
Nekotekina
8754bbd444
SPU LLVM: add match_vr<> template
...
Returns reg value only if type is compatible, avoiding bitcast.
2019-04-24 23:55:41 +03:00
Nekotekina
dd9bd1338b
SPU LLVM: add get_vrs<> template
2019-04-24 23:55:41 +03:00
Nekotekina
3e0b45719d
LLVM DSL: rewrite zshuffle, shuffle2, build
...
Add llvm_const_vector template.
2019-04-24 23:55:41 +03:00
Nekotekina
b02503963e
LLVM DSL: rewrite splat, fsplat, vsplat
...
Add llvm_const_float and llvm_splat templates.
2019-04-24 23:55:41 +03:00
Nekotekina
c83e65f29e
LLVM DSL: rewrite extract and insert
2019-04-24 23:55:41 +03:00
Nekotekina
b7b93eae13
SPU LLVM: minor bitcast cleanup
...
Remove redundant explicit constand propagation in some instructions.
2019-04-24 23:55:41 +03:00
Nekotekina
2eac59f59a
LLVM DSL: rewrite add_sat and sub_sat
...
Simplify constant folding logic
2019-04-24 23:55:41 +03:00
Nekotekina
ac473eb400
Rewrite cpu_translator::rol, add fshl and fshr
...
Use new funnel shift intrinsics
2019-04-24 23:55:41 +03:00
Nekotekina
42448cf3e5
Remove cpu_translator::scarry, cpu_translator::merge
2019-04-24 23:55:41 +03:00
Nekotekina
524aac75ed
LLVM DSL: rewrite bitcast, zext, sext, trunc, select, min, max ops
...
Are made composable in expressions similar to arithmetic ops.
Implement noncast in addition to bitcast (no-op case).
Implement bitcast constant folding.
Fixed some misuse of sext<>.
2019-04-24 23:55:41 +03:00
Nekotekina
3925cb59ac
LLVM DSL: fix pointer type traits
...
Clear and match 'void' type
2019-04-24 23:55:41 +03:00
Nekotekina
dc9118ef50
LLVM DSL refactoring
...
Properly forward value categories in expression structs.
Simplify SFINAE tests (is_llvm_expr, llvm_common_t) in global operators.
Add llvm_const_int and remove llvm_add_const, llvm_sub_const, etc.
Add llvm_ord and llvm_uno for FP comparison via >=< operators.
Replace cpu_translator::fcmp with fcmp_ord and fcmp_uno.
2019-04-24 23:55:41 +03:00
Megamouse
467ef2afca
Qt: also spawn exit game dialog if rpcs3 is closed (e.g. by accident)
2019-04-24 21:48:36 +02:00
Megamouse
cb5dd1353b
Qt: force always on top to fix dialogs appearing behind the game window
2019-04-24 21:48:36 +02:00
Megamouse
bb0609372d
Qt: go out of fullsceen if exit game pop up is triggered
2019-04-24 21:48:36 +02:00
Ani
a24ede4f40
cellPad: Update vendor and product IDs
...
- Used IDs were not from the Guitar Hero instruments but in fact from the Rock Band ones. Sets the correct Guitar Hero IDs and adds the Rock Band ones on comments. TODO: Allow selecting the specific devices on the PAD Settings.
- Adds DJ Hero Turntable VID/PID.
- Adds Dance Dance Revolution Mat VID/PID.
2019-04-20 23:17:13 +01:00
eladash
3a5f4ed757
Print SPU Group ID on the debugger
2019-04-20 20:43:58 +01:00
eladash
450e2c9a0e
cellSaveData: Add missing SDK version check for setParam->reserved2 check
2019-04-20 20:43:58 +01:00
eladash
ae5a4b697e
Fix cellSaveDataListAutoSave/Load unk flags
2019-04-20 01:04:41 +03:00
eladash
1e9d3346d1
Reschedule in cellMsgDialogOpen2
2019-04-20 01:04:41 +03:00
eladash
9446bd2d3f
Handle a few more cellSaveData errors
...
* Check directory existence if setParam is NULL (dont create directory)
* Fix mask for reCreateMode
* Check a few setParam fields including reserved buffers.
* Fix sizeKb when the dir is empty except from PARAM.SFO
* Fix error checking when CELL_SAVEDATA_RECREATE_YES is specified but setParam is NULL (Doesnt do anything, simply errors)
2019-04-20 01:04:41 +03:00
eladash
6f76e34104
rsx: Fix race on clearing native_ui vs emu_requested flag
2019-04-20 01:04:41 +03:00
eladash
67f098627a
Fix sys_spu group ID
2019-04-20 01:04:41 +03:00
eladash
ff11d9a3bd
Improve scheduler control for cellSaveData
...
TODO: There are probably more spots where we should yield.
A little more at the start because PacketRead is called twice.
Dont use sys_timer_usleep because it will just call this_thread::yield() repeatedly.
2019-04-20 01:04:41 +03:00
eladash
9497270da5
Implement initial arguments error checking for cellSaveData
2019-04-20 01:04:41 +03:00
eladash
2b4bc588dc
Put missing check_state() in some places
...
Fixes a few verification failures while closing the emulator with HLE liblv2
2019-04-20 01:04:41 +03:00
eladash
888cb9d673
Remove reader_lock executed in every instruction by RSX
...
Use optimistic double check instead, use one load instruction for the check to be atomic
+ Read emu status once every FIFO iteration
2019-04-20 01:04:41 +03:00
eladash
f25587d24c
rsx: Write vblank semahpre, minor semaphore acquire optimization
2019-04-20 01:04:41 +03:00
eladash
777a99d01b
misc: Lower default perf overlay detail
...
Because RSX Guest utilization confuses people and is only meaningful for debugging.
2019-04-18 22:23:05 +03:00
Nekotekina
7865982208
Fix static_hle log channel definition
2019-04-16 23:49:18 +03:00
Nekotekina
52c589ed3d
Revert disabling AVX path in SPU verification.
...
It was experimental and builds for tests are available in history.
2019-04-16 23:49:18 +03:00
Nekotekina
9060177dbd
SPU transactions: add SSE path if AVX is not available
...
This handles hypothetical situation when AVX is disabled system-wise.
Also refactored register use, to match Windows path with Linux path.
This reduces read set a little at the cost of stack use.
2019-04-16 23:49:18 +03:00
Megamouse
b929c13c45
implement get_firmware_version
...
add firmware version to the first line in the log
2019-04-16 22:13:28 +02:00
Megamouse
092cfef060
Qt: add more filters to firmware installation file dialogs
2019-04-16 21:39:14 +02:00
msuih
8f333117eb
Set stack limit properly
2019-04-16 18:39:57 +03:00
msuih
baf42430d6
Decrease severity of sys_net_bnet_close
2019-04-16 18:39:57 +03:00
Jordy Vieira
f995771143
Ignore sorting on ranged combobox and log message
2019-04-14 19:15:23 +03:00
Jordy Vieira
bad0415f05
Change EnhanceComboBox to optionally sort the settings list before adding it to the combo box
2019-04-14 19:15:23 +03:00
Nekotekina
136fc8cfe3
SPU ASMJIT: avoid AVX in verification (experimental)
2019-04-14 18:03:45 +03:00
Nekotekina
b97a1aeca2
Increase max stack size to 8 MB on Windows
...
Default is 1 MB and it could cause problems in compiling heavy SPU LLVM functions.
2019-04-14 18:03:45 +03:00
Nekotekina
c1edae73c5
SPU ASMJIT: move vzeroupper a bit
2019-04-14 15:10:54 +03:00
Nekotekina
8deb20e928
SPU: write cache before compiling
2019-04-13 22:56:11 +03:00
kd-11
df3b46a611
rsx: Improve texture sourcing and clipping when reverse scanning is enabled
...
- When reverse scanning, offsets are inverted and offset value of 0 is logically equivalent to an offset of -1
- Add an explicit message if clipping happens to avoid silent errors/bugs
2019-04-12 15:36:21 +03:00
Nekotekina
0d415407c7
sys_fs_unlink: add CELL_EISDIR check
2019-04-12 12:24:36 +03:00
Nekotekina
f40320bcae
Fix cellVdecOpen
...
Use pseudo-address in sys_ppu_thread_create calls
2019-04-11 21:20:22 +03:00
TGEnigma
38cc92ec45
Add _sys_ppu_thread_create and sys_ppu_thread_rename error checks
2019-04-11 18:14:05 +03:00
eladash
8da78c098c
SPU LLVM: Fix branch to self at start of block state check
2019-04-11 17:47:52 +03:00
eladash
eba8e2284b
SPU LLVM: Fix CFLTU
...
Clamp properly result from both sides!
TODO: Figure out whats different CreateFPToUi has from CFLTU and why it fails here.
2019-04-11 17:47:52 +03:00
eladash
969af86eba
SPU: Implement BISLED
...
DFCMGT instruction removed, it was wrong to add to begin with
ASMJIT: Fix compilation of double compare instructions, move exception to runtime instead of compiletime!
Jarves confirmed that he implemented this instruction because of that bug with asmjit only, affected God Of War 3
2019-04-11 17:47:52 +03:00
eladash
b307aff9eb
Prefetch byteswapped opcodes in ppu interpreter
2019-04-11 17:47:52 +03:00
eladash
1c462abc37
Make sure to update cia when calling in unknown hle table func access
2019-04-11 17:47:52 +03:00
eladash
3304e3b0b7
PPU LLVM: Fix STSWI and LSWI
2019-04-11 17:47:52 +03:00
eladash
f028737db8
Implement fallback for PPU LLVM
...
This matches with interpreter implementation, fixing unregistered functions in lost cases
2019-04-11 17:47:52 +03:00
eladash
a9014a8cac
ppu Fast/Precise: Fix SIMD instructions VSUM2SWS, VPKSWSS, VPKSHUS, VPKSHSS
...
Also rewrite VPKSHUS for speed.
2019-04-11 17:47:52 +03:00
eladash
e21504d52d
ppu interpreter: Improve FPCC field handling
2019-04-11 17:47:52 +03:00
eladash
aa44ef1f44
Fix default PPU nj status
...
TODO: Support it...
2019-04-11 17:47:52 +03:00
eladash
d555eeb0f4
Check start status in sys_prx_start/stop_module
2019-04-11 17:47:52 +03:00
Inviuz
52a12185a0
Initial sys_overlay
2019-04-10 23:25:09 +03:00
scribam
1d947daa81
hle: Add some more functions
2019-04-10 22:15:35 +03:00
Megamouse
ec2d882199
Qt: add version update hint to game list
2019-04-10 15:37:37 +01:00
Nekotekina
40142420c1
Implement vfs::host::unlink
...
Emulate POSIX behaviour in sys_fs_unlink.
This should allow to delete opened files transparently on Windows.
2019-04-10 13:58:12 +03:00
Nekotekina
9736773c04
Implement vfs::host::rename
...
With spurious access error workaround
2019-04-10 13:58:12 +03:00
Nekotekina
3354f068fc
PPU/SPU transactions: ease cache line interference (TSX path)
...
Touch memory on the same memory page, but different cache lines.
2019-04-10 13:58:12 +03:00
kd-11
12dc3c1872
vk: Dynamic heap management to potentially fix ring buffer overflows
...
- Allows checking one heap type at a time, on demand
- Should avoid OOM situations unless inside an uninterruptible block
2019-04-09 13:40:54 +03:00
kd-11
a4495c35b7
rsx: Fixups for swizzled texture scanning
...
- Revert to using block metrics, but with optional per-channel decode
stage for the final transfer. Much cleaner than hacking in the width to
be in channels instead of blocks.
2019-04-09 13:40:54 +03:00
kd-11
a5ed30a8c0
rsx: Fixups for data cast operations via typeless transfer
2019-04-09 13:40:54 +03:00
kd-11
f04a0a2bb6
rsx: Remove some old restrictions affecting memory persistence
2019-04-09 13:40:54 +03:00
kd-11
0a604e39f1
rsx: Implement RGB655 decode
2019-04-09 13:40:54 +03:00
kd-11
cc3809fbfe
gl: Register a few more missing formats for conversion
2019-04-09 13:40:54 +03:00
kd-11
e4e86455f2
rsx: Fix temporary subresource caching behaviour
...
- Do not cache if a gathered subresource contains a bound RTT
- Change op to dynamic copy if parent is still bound
2019-04-09 13:40:54 +03:00
kd-11
3249000511
rsx: Improvements to texture scanning
...
- Removes CPU-only transforms that broke GPU-side code.
-- Channels in GPU compute are laid out in cell-order, but CPU was uploading in favorable order and compensating with swizzles.
-- This leads to 2 different layouts depending on the location of the data (CPU vs GPU)
- Implement R8G8_R8B8 interleaved format decode
- General improvements
2019-04-09 13:40:54 +03:00
kd-11
0f7af391d7
vk: Implement copy-to-buffer and copy-from-buffer for depth_stencil
...
formats
- Allows D24S8 and D32S8 transport via typeless channels
- Allows uploading and downloading D24S8 data easily
- TODO: Implement optional byteswapping to fix flushed readbacks with
the same method
2019-04-09 13:40:54 +03:00
kd-11
366e4c2422
rsx: Preliminary support for format conversions using typeless resolve
2019-04-09 13:40:54 +03:00
kd-11
b7470cfc1a
rsx: Tighten format checks in cache hit tests
2019-04-09 13:40:54 +03:00
kd-11
443fde760f
rsx: Blit engine clipping fixes
...
- Do not round up sub-pixel offsets, round down instead
- Do not allow incomplete sources for hw blit transfer
- Reimplement src clipping (slice_h)
- Check 'area' of incoming texels and correct for them before RTT lookup/transfer
- Filter out incomplete targets when performing RTT lookup (1 texel or less contribution)
2019-04-09 13:40:54 +03:00
scribam
f30af3ccd2
hle: Add more missing functions
2019-04-07 23:31:15 +03:00
scribam
8dbf2638e2
hle: Add some missing functions
...
0xBA50BC23 => cellCelpEncOpenExt
0x1AC58D11 => cellHttpFlushCache
0xA39FE9DC => cellHttpEndCache
0xB4FA3111 => cellHttpInitCache
0x4A18A89E => sceNpMatchingSetRoomInfoNoLimit
0xB020684E => sceNpMatchingGetRoomInfoNoLimit
2019-04-05 17:28:10 +01:00
Alex James
d7ad991b7e
Fix macOS compilation
...
This is needed for GL/glew.h to be found.
2019-04-02 03:16:55 +03:00
eladash
182054b8af
Implement sys_vm_append/return_memory
2019-03-31 14:57:21 +03:00
eladash
3c0564c9b7
Fix timer state after event queue was destroyed
...
* Hw tests show state is unaffected by external destruction of the event queue
* Minor race regarding state check fixed (can result in an undestroyable state)
2019-03-31 14:57:21 +03:00
eladash
90490f775d
Fix sys_timer_usleep specifically with 0 sleep time
...
Remove context switch, replace it with host yield() for giving some cpu time for SPUs ans RSX
2019-03-31 14:57:21 +03:00
eladash
8185ef7610
rsx: Improve vblank accuracy
2019-03-31 14:57:21 +03:00
eladash
801e6114b6
rsx: Use relaxed store on fifo ctrl registers
2019-03-31 14:57:21 +03:00
eladash
a3f65084df
Fix sys_process_exit2 when SPUs are at av handler
2019-03-31 14:57:21 +03:00
eladash
1ed2055ec1
Fix cellVdecGetPicItem element popping behaviour
2019-03-31 14:57:21 +03:00
eladash
f2bbae9db4
Remove handle in cellVdecClose
2019-03-31 14:57:21 +03:00
eladash
8eb59271a5
Improve error checking of cellVdecOpen
...
Those are the initial argument checks done by the firmware
2019-03-31 14:57:21 +03:00
eladash
d6025c6764
Fix cellPadGetInfo port status returned
...
ASSIGN_CHANGES flag is not returned in this func.
2019-03-31 14:57:21 +03:00
eladash
47ca1b1dda
Minor optimizations in cellPad
...
- Dont bother with shared_ptr since all pad_t management is going under the pad mutex.
- Change m_pads type into std::array since its size is known
2019-03-31 14:57:21 +03:00
eladash
6502d933df
Fix stack memory view on the debugger
...
the debugger uses super ptr which was unmapped for stack.
2019-03-31 14:57:21 +03:00
scribam
f15eb88f59
hle: Fix cellSysutilAvcExt module
...
And add cellSysutilAvcExtSetChatMode and cellSysutilAvcExtSetChatGroup
functions
2019-03-31 00:55:55 +03:00
scribam
1916cc1691
hle: Add cellSysmoduleUnloadModuleInternal and cellSysmoduleLoadModuleInternal functions
2019-03-30 23:52:56 +03:00
scribam
f369aeab7a
hle: Add FT_Get_X11_Font_Format function
2019-03-30 23:52:56 +03:00
scribam
0e9313d2df
hle: Add cellFontInitLibraryFreeType function
2019-03-30 23:52:56 +03:00
Nekotekina
d873802b9c
Use LLVM 9
...
Use new add/sub with saturation intrinsics
2019-03-30 01:36:48 +03:00
Nekotekina
7e0b941e9f
PPU LLVM: implement get_vrs<>() adaptor
...
Make use of structured bindings
2019-03-30 01:36:48 +03:00
Nekotekina
d77fed6105
SPU LLVM: remove wrong dead code
2019-03-29 17:00:53 +03:00
scribam
a254a203bb
hle: Add libad_async and libad_core modules
2019-03-27 21:41:44 +00:00
Nekotekina
71b88cdc82
New SPU interpreter (SPU fast)
...
Use LLVM to build SPU interpreter.
Simplify interpreter loop.
2019-03-27 20:33:44 +03:00
scribam
a9eb321814
hle: Add sceNpEulaAbort function
2019-03-26 23:19:01 +03:00
scribam
956d039415
hle: Add cellVideoPlayerUtility module
2019-03-24 19:16:49 +03:00
scribam
581b205f73
hle: Add cellPesmUtility module
2019-03-24 19:16:49 +03:00
scribam
6c40b9f3e0
hle: Add cellDtcpIpUtility module
2019-03-24 19:16:49 +03:00
scribam
d6bf18eabc
hle: Add some sceNpMatchingInt functions
2019-03-24 17:29:18 +03:00
scribam
32ae7e466c
hle: Add cellNetAoi module
2019-03-24 17:29:18 +03:00
Nekotekina
7ea04d5d76
Minor optimization in SPU analyser
...
Reduce vector copy/allocation
2019-03-23 02:43:41 +03:00
Nekotekina
4b381fbbb1
Implement spu_runtime::reset
...
To handle JIT: Out Of Memory error.
2019-03-23 02:43:41 +03:00
Nekotekina
1880a17f79
SPU recs: implement spu_runtime::find
...
Use this function to link to existing functions from branch patchpoints.
Don't compile from branch patchpoints.
2019-03-23 02:43:41 +03:00
Nekotekina
31304f4234
SPU rec: refactor some trampoline generation
...
Move branch/dispatch trampoline generation at startup.
2019-03-23 02:43:41 +03:00
Nekotekina
3794f65bb6
Add cpu_flag::jit_return
2019-03-23 02:43:41 +03:00
Nekotekina
849411693a
PPU LLVM: add MemoryManager3
...
For temporary allocations.
Add flags in jit_compiler constructor.
2019-03-23 02:43:41 +03:00
Nekotekina
466d58ccef
SPU LLVM: fix branch patchpoints
...
Forgot to passthrough 3rd arg (rip)
2019-03-23 02:43:41 +03:00
kd-11
41b87cf577
rsx: Blit engine fixes
...
- If a transfer writes to a RTT and depth mismatch happens, create a local target and the upload function will likely resolve between the two
- If a surface is rejected, reset the target region!
2019-03-22 21:27:15 +03:00
kd-11
86ad204636
rsx: Rebase output region when using upload-fallback path
2019-03-22 21:27:15 +03:00
kd-11
dbc8e70ddd
rsx: Silence some compiler noise
2019-03-22 21:27:15 +03:00
kd-11
3a4e3fa53a
rsx: Fix use-after-modify condition when inserting a draw command out of order
...
- Fixes barrier->range rebase after the insert
2019-03-22 21:27:15 +03:00
kd-11
d731c07ade
vk: Fix typeless resource management
...
- Fixes bugs that appear with high resolution scaling
2019-03-22 21:27:15 +03:00
kd-11
adc59f9810
rsx: Fix blit transfers when texel sizes mismatch
...
- Also refactors some bpp handling code
- Simplify texture intersection test to use a normalized/uniform coordinate space
- Fix broken bounds checking as well
2019-03-22 21:27:15 +03:00
kd-11
b879b32271
rsx: Fix bpp calculation taking resolution scaling into account
...
- Do not rely on image->width(), use surface_width() instead for unscaled values
- Refactor/clean GL rendertarget class a bit
2019-03-20 10:05:54 +03:00
kd-11
03fca73cf4
rsx: Fix blit intersection falling outside the available texture
...
- Just becaue we have a hit inside the tile of interest does not guarantee that it sits inside the texture!
2019-03-20 10:05:54 +03:00
Matias Morán
3eb2bcad39
Update DualShock 3 warning
2019-03-18 22:46:02 +00:00
RipleyTom
63bbe459ea
DS3 pad handler
2019-03-18 19:05:02 +03:00
RipleyTom
f2aaad11bb
Adds libusb
2019-03-18 19:05:02 +03:00
kd-11
3ef16bee47
rsx: Fix texture lookups and avoid out-of-bounds copies/transfers
2019-03-17 21:50:11 +03:00
kd-11
bb65e45614
rsx: Implement GPU acceleration for rotated images
2019-03-17 21:50:11 +03:00
kd-11
5260f4b47d
rsx: Improvements to memory flush mechanism
...
- Batch dma transfers whenever possible and do them in one go
- vk: Always ensure that queued dma transfers are visible to the GPU before they are needed by the host
Requires a little refactoring to allow proper communication of the commandbuffer state
- vk: Code cleanup, the simplified mechanism makes it so that its not necessary to pass tons of args to methods
- vk: Fixup - do not forcefully do dma transfers on sections in an invalidation zone! They may have been speculated correctly already
2019-03-17 21:50:11 +03:00
kd-11
385485204b
vk/gl: Omit unlocked data when grabbing flip sources from texture cache
2019-03-17 21:50:11 +03:00
kd-11
74eeacd091
vk/gl: Improve memory tag sync and test
...
- Properly pass parameters such as rsx-pitch to the surface store
- Do not crash if a surface fails verification in flip, use fall-back instead
2019-03-17 21:50:11 +03:00
kd-11
1a44446250
rsx: Fix dst upload block region
...
- The section needed starts at image origin, not transfer origin!
2019-03-17 21:50:11 +03:00
kd-11
a49a0f2a86
vk/gl: Synchronization improvements
...
- Properly wait for the buffer transfer operation to finish before map/readback!
- Change vkFence to vkEvent which works more like a GL fence which is what is needed.
- Implement supporting methods and functions
- Do not destroy fence by immediately waiting after copying to dma buffer
2019-03-17 21:50:11 +03:00
kd-11
85cb703633
rsx/cache: Debugging bugs introduced by the atlas coverage check
...
- Figured out why it breaks things, ofc can't actually check for coverage when there is no proper fbo data persistence
2019-03-17 21:50:11 +03:00
kd-11
3a4083263e
rsx: Fix texture transfer when pitch does not match exactly
2019-03-17 21:50:11 +03:00
kd-11
612160a8ff
rsx: Fix zero-pitch textures
...
- Assumption here is that only texel (0, 0) is accessible. Inline with other pitch 0 operations.
- TODO: Verify pitch 0 does not advance in Y either
2019-03-17 21:50:11 +03:00
kd-11
17c49d21a5
rsx/blit: Remove workarounds/hacks added for master. Start implementation/stubs for blit engine rotations in GPU
2019-03-17 21:50:11 +03:00
kd-11
745f8f9627
rsx: Remove pointless assert
2019-03-17 21:50:11 +03:00
Nekotekina
e9b6beadfc
SPU LLVM: implement static branch weights
...
May help branch prediction in some cases
2019-03-13 21:14:55 +03:00
Nekotekina
388d49db80
SPU LLVM: fix SPU MMIO in TSX mode
2019-03-13 21:14:55 +03:00
Ani
3b01e59cd4
InstallPup: Fix exception on newline trim
...
Avoid throwing fatal error when installing firmware without a \n character on the version string
Fixes #5646
2019-03-13 03:45:06 +03:00
Nekotekina
688aabc6c9
Add _sys_lwmutex_unlock2 syscall name
2019-03-12 23:55:13 +03:00
eladash
4a28319edf
Implement SPU page faults notifications
...
* Implement both RawSPU and threaded SPU page fault recovery
* Guard page_fault_notification_entries access with a mutex
* Add missing lock in sys_ppu_thread_recover_page_fault/get_page_fault_context
* Fix EINVAL check in sys_ppu_thread_recover_page_fault, previously when the event was not found begin() was erased and
CELL_OK was returned.
* Fixed page fault recovery waiting logic:
- Do not rely on a single thread_ctrl notification (unsafe)
- Avoided a race where ::awake(ppu) can be called before ::sleep(ppu) therefore nop-ing out the notification
* Avoid inconsistencies with vm flags on page fault cause detection
* Fix sys_mmapper_enable_page_fault_notification EBUSY check
from RE it's allowed to register the same queue twice (on a different area) but not to enable page fault notifications twice
2019-03-12 13:28:31 +03:00
kd-11
1875dc3f18
gl: Fix buffer size calculations
2019-03-10 16:09:05 +03:00
kd-11
358558aaa7
cleanup and fixups
2019-03-10 16:09:05 +03:00
kd-11
04dda44225
rsx: Properly generate render target data with all parameters provided
...
- Build-up to variable-sized framebuffers and AA implementation
- Also allows accurate range calculation for our hit testing
2019-03-10 16:09:05 +03:00
kd-11
21bc6c7a87
rsx: Properly resolve data for upload when needed.
...
- Avoids blindly reusing blit dst sections as they may contain garbage.
If a section was unlocked for a flush, just discard it as its reuse introduces potential data corruption.
Since the data needs to be reuploaded anyway (for now), its better to start afresh
- In case of format mismatch, reset the calculated dst block
- Add a bounds check to determine if data contained in an atlas is good enough for sampling the cache.
If not enough data is provided, fall back to full upload
2019-03-10 16:09:05 +03:00
kd-11
9d4d3d9443
rsx: Reimplement render target intersection tests when using hw accelerated blit engine
...
- Properly collapse memory tree when scanning in case of overlaps!
2019-03-10 16:09:05 +03:00
kd-11
f4ebcb0029
rsx: Properly decode packed renders from the type flag
...
- Seems to occupy bits [8-9]
2019-03-10 16:09:05 +03:00
kd-11
7c379432dd
rsx: Implement proper pitch compatibility lookup
...
- When a single row is required or is all that is available, pitch has
no meaning as the coordinate space changed to 1D
2019-03-10 16:09:05 +03:00
kd-11
dccb4a4888
rsx/texture_cache: fixes to commit_framebuffer_memory
2019-03-10 16:09:05 +03:00
kd-11
b9e7b085fe
rsx/texture_cache: Fixups for local resource hit and fast-path added
2019-03-10 16:09:05 +03:00
kd-11
a80f1a6ed4
gl: Fix memory tag sampling
...
- Also fixes a bad arg passed to glClearBuffer
2019-03-10 16:09:05 +03:00
kd-11
0395fb9955
rsx/tecture_cache: Addendum - fix data cast with scaling conversion (AA emulation)
...
- Blit operations do format conversion automatically which is NOT what we want!
- Scale onto temp buffer with similar format before performing data cast.
2019-03-10 16:09:05 +03:00
kd-11
10dc3dadee
rsx/texture_cache: Improve framebuffer memory locking when WCB/WDB is not enabled
...
- Adds a new mode that removes non-framebuffer stuff inside framebuffer range
2019-03-10 16:09:05 +03:00
kd-11
563e205a72
rsx/texture_cache: Fix 'AA' scaling hack and restore collection template selection
2019-03-10 16:09:05 +03:00
kd-11
fa628f0ac4
rsx/surface_store: More aggressive tag sampling
...
- Use a 5-point tap with an X pattern across the target's memory space to reduce chances of false positives
- TODO: Potential false positives identified, requires some minor
restructuring of surface_store
2019-03-10 16:09:05 +03:00
kd-11
3a071a9c07
rsx: Texture search rewrite
...
- Perform a full search across all resource types as needed without
taking too many shortcuts/hacks
2019-03-10 16:09:05 +03:00
kd-11
6ef9dcd62e
rsx: Handle mismatched/invalidated framebuffer sections when WCB is enabled
2019-03-10 16:09:05 +03:00
kd-11
ef071ebb6b
rsx: Synchronize surface cache and texture cache data
...
- TODO: The whole upload_texture thing is a big hack, fix it properly
2019-03-10 16:09:05 +03:00
eladash
a43e7c172c
Fix shared memory page flags
...
TODO: From hw testing, it seems like sys_memory_get_page_attribute and sys_rsx_context_iomap check page size a little differently
get_page_attribute() always go by area flags, sys_rsx_context_iomap checks page by the page granularity
This means that if the area page size 64k, but shared memory is mapped with SYS_MEMORY_GRANULARITY_1M
It can be mapped for rsxio, but the page attribute will indicate 64k page size :thonk:
rsxio memory is verified to need 1m pages.
2019-03-08 23:44:46 +03:00
eladash
7470388e5a
Use error_code in sys_rsx
2019-03-08 23:44:46 +03:00
eladash
26bcd0a4de
Small improvements to sys_event_flag
...
- From RE, only protocols SYS_SYNC_FIFO and SYS_SYNC_PRIORITY are valid
- Use conditional atomic op store in a few places
- Properly revert changes in sys_event_flag_set when aomic op fails
2019-03-08 23:44:46 +03:00
elad
bd259c8ae4
vulkan zcull: Fix deadlock in zcull flush waiting
...
Block adding additional flush requests until the first ones are treated (by adding missing lock)
2019-03-08 23:44:46 +03:00
elad
fc253165e2
Correctness fix for RSXIOMem
...
- Make RSXIOMem volatile.
- Hint the compiler to check only once the address returned.
2019-03-08 23:44:46 +03:00
elad
b7da3ea5cd
Release ppu thread before ShowSaveDataDialog, Fixes #4031
2019-03-08 23:44:46 +03:00
elad
ce8c92262d
Treat X8R8G8B8 format as A8R8G8B8 in image_in, Fixes #5510
2019-03-08 23:44:46 +03:00
elad
f272a5f779
sys_lwmutex fixup after #5680
...
sys_lwcond_wait unlocks always with the 'usual' unlocking flags
2019-03-08 23:44:46 +03:00
RipleyTom
61bd2ea799
Adds VID/PID for Guitar Hero guitar & drum
2019-03-08 17:52:48 +00:00
elad
3c9f03968c
Yield before flushing io buffers in fsync (sys_fs) ( #5506 )
2019-03-08 16:07:14 +00:00
Nekotekina
4ea76def7c
Update sys_lwmutex_lock and sys_lwmutex_unlock (liblv2 HLE)
...
Implement missing SYS_SYNC_RETRY logic
Following #5680
2019-03-06 15:09:50 +03:00
Nekotekina
986c750fdc
VFS: fix sys_fs_opendir on root
2019-03-05 22:12:01 +03:00
eladash
e38b7aee5a
check address in sys_rsx_context_iomap
...
* Fix 0 vm page flags to behave like 1m flags, follows c8a681e60
* check if address exists and valid for rsx io allcations (must be allocated on 1m pages)
2019-03-05 21:23:24 +03:00
eladash
d82362fa1d
Use sys_memory_allocate on rsx replayer to fix it
2019-03-05 21:23:24 +03:00
Nekotekina
fb64b28886
SPU LLVM: reintroduce branch patchpoints
...
Previously only used on SPU ASMJIT, may improve perf in some cases.
Now refactored to spu_runtime::make_branch_patchpoint.
2019-03-01 00:08:20 +03:00
Nekotekina
7f6a410770
Add dummy __has_builtin macro, use rotate builtins if possible
2019-03-01 00:08:19 +03:00
Nekotekina
765d15f23f
Optimize SPU trampolines
...
Load values in EAX and reuse it if possible
2019-03-01 00:08:19 +03:00
Nekotekina
f143035af1
Fix sys_spu_thread_group_join wait condition
...
After waiting, thread group cannot be safely accessed
Following #5643
2019-03-01 00:08:19 +03:00
Jan Beich
240ba39d16
Chase GIT_VERSION rename after 923700a167
2019-02-28 04:48:16 +03:00
RipleyTom
de5379a69f
Static hle implementation
2019-02-27 22:54:59 +03:00
eladash
a22297f205
exception throwing fix in sys_lwmutex_create
...
arg6 doesnt exist, if arg4 is not negative name is discarded and treated as 0.
2019-02-27 22:16:08 +03:00
eladash
d4459af4b3
Implement _sys_lwmutex_unlock (SYS_SYNC_RETRY mode)
2019-02-27 22:16:08 +03:00
RipleyTom
ad6b0ee122
Adds class type to controller options
2019-02-27 18:13:19 +00:00
Megamouse
b107718869
sysPrxForUser: improve crash dump functions
...
this might fix some crashes that could appear in the todo logging itself
2019-02-26 21:53:59 +00:00
Alex James
f5163cc4ff
CMake: Use Info.plist template for macOS bundle
...
Define and use a template for Info.plist for the macOS bundle. The template
uses the previously defined RPCS3_GIT_TAG variable for automatically
generating the version strings, and also enables proper HiDPI support.
2019-02-26 21:09:18 +00:00
Alex James
923700a167
CMake: Refactor git-version.cmake
...
Refactor git-version.cmake to define the RPCS3_GIT_VERSION,
RPCS3_GIT_BRANCH, and RPCS3_GIT_TAG variables, and move the generation
of git-version.h to a function (gen_git_version).
2019-02-26 21:09:18 +00:00
Megamouse
14ddb0c5b4
Qt: hide viewport settings on custom configs
2019-02-21 22:02:02 +01:00
German
4c72f7c1de
Fix clear string container in CgBinaryFragmentProgram.cpp
2019-02-18 16:34:16 +03:00
German
3b9f9dd4c5
Fix true clear string container in GameInfo.h
2019-02-18 16:34:16 +03:00
German
45c31a99a3
Fix true clear string container in PPUModule.cpp
2019-02-18 16:34:16 +03:00
elad
63a9421634
Fix race in sys_lwcond_wait on error code
2019-02-16 21:41:59 +03:00
EmulationChannel
92ff7c4c24
Update FW Latest Version
...
Updates the latest FW 4.84 version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
2019-02-16 13:59:30 +01:00
Filippe LeMarchand
56e24f8993
Update rpcs3.appdata.xml
...
- split description to paragraphs
- add bugtracker and quickstart urls
- add screenshot
2019-02-14 03:10:36 +03:00
Filippe LeMarchand
a8621ebc22
Remove zero-width spaces (u200b)
2019-02-14 03:10:36 +03:00
Megamouse
d4888a4973
cellSysCacheMount: don't return RET_OK_RELAYED on empty cacheId
...
The system cache is supposed to be cleared but I don't think we wanna do that
2019-02-13 01:55:07 +03:00
Megamouse
4a1499e0be
cellMsgDialog: optionally make dialogs blocking and fix exit condition
...
and apply review fixes
2019-02-12 21:06:10 +03:00
Megamouse
fe79e541dd
cellGame: improve exit functions
2019-02-12 21:06:10 +03:00
Megamouse
17a5e0bc98
cellGame: add error_code
2019-02-12 21:06:10 +03:00
Megamouse
982b2ab88f
Qt: only show supported resolutions in custom configs
2019-02-11 20:34:33 +01:00
eladash
d6995f40c7
Fixup for sys_lwcond_signal_x error checking
2019-02-11 01:13:29 +03:00
eladash
fa647bc121
Fix race condion in sys_spu_thread_group_join
2019-02-10 18:20:24 +03:00
eladash
84d42ecb65
Add EFAULT checks to spu_thread_group_join, ppu_thread_join
...
Order of checks is based on firmware
2019-02-10 00:16:57 +03:00
eladash
0861226271
Make more use of the new atomic_t<>::release
2019-02-10 00:16:57 +03:00
eladash
e3ee481f01
Make sys_spu_thread_group_join return once per termination
2019-02-10 00:16:57 +03:00
kd-11
19ff95da70
vk: Fix usage of VK_IMAGE_LAYOUT_GENERAL
...
- Properly synchronize when transitioning to/from GENERAL layout.
- General layout requires full pipeline dependency since its used in a 'general' sense. As such, its use is to be largely avoided.
2019-02-07 11:40:17 +03:00
kd-11
38887bc03e
gl/vk: Improvements to overlay rendering
...
- gl: Properly initialize and manage sampler states
- gl/vk: Snap overlay elements to pixel grid by aligning to pixel centers
- overlays: Disable grid snapping in stb since its now handled in the backend
2019-02-05 12:15:12 +03:00
kd-11
4c593959fd
overlays/save_dialog: Layout improvements
...
- Make detail a separate text entity as it often contains a lot of noise
- Properly pad the entry if needed to avoid text sitting too close to the edge
2019-02-03 22:26:46 +03:00
kd-11
67cdec577f
overlays/util: Add support for glyph set lowering when mapping utf8 to ascii8
...
- Lower fullwidth glyphs to halfwidth counterparts
- Lower CJK punctuation glyphs
- Lower general punctuation glyphs
2019-02-03 22:26:46 +03:00
kd-11
a36d3af3b4
vk: Minor frame management improvements
2019-02-02 11:54:01 +03:00
kd-11
27af05da1a
osk: Fixup attempt for hang in close callback where a sysutil_callback fails to fire.
2019-02-02 11:54:01 +03:00
kd-11
b36cb66129
overlays: Allow use of extended ascii8
...
- Use custom string conversion to ensure overlay deals with extended ascii whenever possible
- Improves language compatibility greatly and avoids empty spaces for unknown glyphs
2019-02-02 11:54:01 +03:00
kd-11
12990f3ca3
overlays/util: Strip extended codes from utf-16 encoded strings
2019-02-02 11:54:01 +03:00
kd-11
9e39e2d2c4
gl/vk: Fix clip region scaling for overlay elements
2019-02-02 11:54:01 +03:00
kd-11
3653c2eb0d
overlays/osk: Add support for edit text control and disabled cells
...
- Allows to disable cells from being selectable.
- Edit text control adds proper support for multiline and a functioning caret
2019-02-02 11:54:01 +03:00
kd-11
faf5221b0d
overlays: Implement edit_text control
2019-02-02 11:54:01 +03:00
kd-11
c434e0ce27
overlays/osk: Add more buttons to native dialog and other improvements
...
- Adds all the major buttons to native dialog input options
- Adds more button options for the native osk
- Brighten osk cell backgrounds a bit to improve visibility
2019-02-02 11:54:01 +03:00
kd-11
9ed9d7e947
overlays/osk: Implement native osk interface
2019-02-02 11:54:01 +03:00
kd-11
9d4b19b97a
vk: Increase number of draw calls per frame for overlays to 1024
...
- Allows for more complex interface design
2019-02-02 11:54:01 +03:00
Megamouse
8920eda321
facepalm: fix open_config_dir old vs. new location switch up
2019-02-01 17:47:27 +03:00
Ani
f4afd56e67
rpcs3_version: Bump to 0.0.6
2019-01-31 22:08:45 +00:00
kd-11
f47d3a761b
vk: Hotfix for fullscreen not working on non-windows platforms
2019-02-01 00:22:11 +03:00
Megamouse
27f6f497a2
use "config/custom_configs/" for custom configs (backwards compatible)
2019-01-31 20:14:52 +00:00
kd-11
09a8f7ae53
vk: Use FIFO mode for vsync
...
- Avoids tearing and also hides some driver bugs causing fullscreen bugs with mailbox mode
2019-01-31 21:53:02 +03:00
kd-11
3bfa564ef8
vk/windows: Try to keep msq thread from ever stopping
...
- NVIDIA drivers hook into the msq before our nativeEvent handler. This means NV is aware of events before rpcs3 is aware of them and sometimes stops until a new event is triggered.
If rpcs3 is inside a driver call at this time, the system will deadlock since the driver waits for msq which waits for the renderer which waits for the driver.
- Use explicit hook management to control window events
- Add fence timeout to attempt detection of surface loss events
2019-01-31 21:53:02 +03:00
msuih
987b607cb0
Add debug console mode to settings
2019-01-31 16:03:38 +03:00
eladash
d4a24433e8
Fix DECR mode allocations (sys_memory)
2019-01-31 16:03:38 +03:00
Nekotekina
400718dfd9
cellSaveData: try to handle occasional failures
...
Retry moving directory on FILE_ACCESS_ERROR
2019-01-31 01:08:30 +03:00
eladash
6f770c8e35
Fix potential crash in begin_occlusion_query() while closing the Emu
2019-01-30 18:44:29 +03:00
Nekotekina
039f8e1f9d
Update About window
...
Updated supporters and contributors
2019-01-30 03:11:19 +03:00
Nekotekina
58358e85dd
spu_runtime::add minor optimization
...
Use preallocated vectors in trampoline generation subroutine
2019-01-29 03:32:16 +03:00
Nekotekina
2b66abaf10
Implement atomic_t<>::release
...
More relaxed store with release memory order
2019-01-29 03:32:16 +03:00
Nekotekina
50922faac9
Remove SPUThread::jit_dispatcher
...
Use global array - save memory
Move the array to JIT memory
2019-01-29 03:32:16 +03:00
Nekotekina
4292997a01
Added jit_runtime class
...
Is a memory manager for ASMJIT, replaces asmjit::JitRuntime
Unified memory manager for ASMJIT and LLVM
Unified SPU trampoline generation
Remove previous workarounds
2019-01-29 03:32:16 +03:00
eladash
587fe421ee
Make ppu main_thread unjoinable
2019-01-25 18:04:33 +03:00
eladash
56b7581ade
Return error code in sys_ppu_thread_get_join_state
2019-01-25 18:04:33 +03:00
kd-11
660bfeabae
gl: Fixup - inline arrays
2019-01-25 14:34:22 +03:00
kd-11
fa9b448686
vk: Spec fixups
...
- Disable DEPTH<->RGBA typeless transfers for now as they require a lot more work to work for all vendors
- Do not allow switching layouts to UNDEFINED/PREINITIALIZED formats
2019-01-25 14:34:22 +03:00
kd-11
2163a59649
rsx: Typo fix
2019-01-25 14:34:22 +03:00
kd-11
521969bcc3
gl: Remove GL_R 'format'. There is no GL_R format, it part of the S-T-Q-R enums for texture coordinate space
2019-01-25 14:34:22 +03:00
kd-11
5a4bea8c4f
gl: Blit fixup
...
- Typo fix. I meant to disable scissor test, not stencil test
- Also clean up and simplify/optimize the core logic
2019-01-25 14:34:22 +03:00
kd-11
7e33cdcb08
rsx: simple_array<T> improvements
...
- Implement move and copy ctors
2019-01-25 14:34:22 +03:00
kd-11
fb778e4821
rsx: Reimplement attrib divisor
2019-01-25 14:34:22 +03:00
kd-11
736415fcd9
rsx/fp: Detect broken/NOP shaders automatically
...
- Do not compile body if the shader is of no consequence, leave as a passthrough shader
2019-01-25 14:34:22 +03:00
kd-11
6fdc0fd7f0
rsx: Reimplement MSAA transparency
...
- Apply dither to edges that almost fail the straight-up alpha test
- Significantly improves alpha tested geometry far from the camera
- Also removes blend factor overrides/hacks as they give incorrect results due to background bleeding
2019-01-25 14:34:22 +03:00
kd-11
10a17feda2
rsx: Avoid potential deadlock in FIFO_ctrl
2019-01-25 14:34:22 +03:00
kd-11
7eec702c6d
gl: Fix silly regression with blit dst resource readback
2019-01-25 14:34:22 +03:00
kd-11
8093c9b573
rsx: Disable rtt side-effects when async compilation is ongoing. Only real renders should promote buffer state from underined to drawn, otherwise keep previous contents intact.
2019-01-25 14:34:22 +03:00
kd-11
417a2e6731
rsx: Refactor index buffers
...
- Index offset is ignored anyway and only used to calculate vertex attribute divisor index
- Specialized optimization for untouched xfer without primitive restart
2019-01-25 14:34:22 +03:00
elad
afeacc171f
Fix spurious abort in sys_rwlock_tryrlock and sys_semaphore_trywait ( #5579 )
...
Use full cmpxchg loop to prevent occasional return of CELL_EBUSY
2019-01-22 23:10:17 +03:00
Nekotekina
4f152ad126
SPU: multithread compilation
...
Allow parallel compilation of SPU code, both at startup and runtime
Remove 'SPU Shared Runtime' option (it became obsolete)
Refactor spu_runtime class (now is common for ASMJIT and LLVM)
Implement SPU ubertrampoline generation in raw assembly (LLVM)
Minor improvement of balanced_wait_until<> and balanced_awaken<>
Make JIT MemoryManager2 shared (global)
Fix wrong assertion in cond_variable
2019-01-22 22:02:02 +03:00
Megamouse
8d5d44141e
rsx/Qt: fix some undefined behavior in progress_dialog CallAfters
2019-01-22 12:04:01 +03:00
eladash
688d5a9919
rsx: Fix unknown vertex base types
...
Clamp vertex type field into 3-bits instead of 4-bit value
Case 0 is UB256
2019-01-21 22:28:20 +03:00
Megamouse
fa00fb3eac
Qt: use patch version and firmware for PS3 disc games in the game list
2019-01-20 23:16:37 +01:00
Nekotekina
d4591b1508
ALSA: disable recovery (experimental)
2019-01-18 16:49:17 +03:00
Nekotekina
59e0296281
cellMsgDialog: fix error spam on CELL_OK
2019-01-18 16:49:17 +03:00
Nekotekina
cc430769c6
Rollback audio backend priority
2019-01-18 16:49:17 +03:00
eladash
a11d76249d
Patch ppu main thread prio
2019-01-17 21:58:09 +03:00
Megamouse
5ed718110a
cellOskDialog/osk_dialog_frame: fix regexp for CELL_OSKDIALOG_NO_SPACE
2019-01-16 23:36:44 +03:00
msuih
f902a7867c
Fix cache removal
2019-01-16 07:43:39 +01:00
elad
fc92ae4085
SPU/PPU atomics performance and LR event fixes ( #5435 )
...
* Fix SPU LR event setting in atomic commands according to hw test
* MFC: increment timestamp for PUT cmd in non-tsx path
* MFC: fix reservation lost test on non-tsx path in regard to the lock bit
* Reservation notification moved out of writer_lock scope to reduce its lifetime
* Use passive_lock/unlock in ppu atomic inctrustions to reduce redundancy
* Lock only once for dma transfers (non-TSX)
* Don't use RDTSC in reservation update logic
* Remove MFC cmd args passing to process_mfc_cmd
* Reorder check_state cpu_flag::memory check for faster unlocking
* Specialization for 128-byte data copy in SPU dma transfers
* Implement memory range locks and isolate PPU and SPU passive lock logic
2019-01-15 18:31:21 +03:00
eladash
f19fd23227
spu: Fix support for multiple lists when one is stalled
2019-01-15 02:33:22 +03:00
Megamouse
58a22d1461
cellSaveData: add error_code
2019-01-14 21:12:13 +01:00
Nekotekina
c5026f7109
cellVdec: fix minor race
2019-01-14 01:24:05 +03:00
Nekotekina
a419e98acb
Move PPU and shader cache
...
New hash-based location (already used for SPU)
Bump PPU cache version, improve naming and decrease size
Remove fs::get_data_dir
Disable boot.elf cache
2019-01-14 01:24:05 +03:00
Nekotekina
aefee04c4a
SPU analyser: fix branch to self
...
Fixed not filling the predeccessor list on BR-to-self on entry point
Version bumped (v1-tane)
Closes #5353
2019-01-14 00:01:27 +03:00
Nekotekina
74d684b57e
cellAudio: fix template arg style
...
Add constexpr if
2019-01-14 00:01:27 +03:00
Nekotekina
ac775cd75e
Simplify gui_listener
...
Use lf_queue
2019-01-13 14:45:36 +03:00
Nekotekina
435f60d503
lf_queue: add iterator support
...
Allow range-for loop over an object returned by `pop_all()`
2019-01-13 14:45:36 +03:00
Nekotekina
cfdf50dcff
SPU: ensure sys_spu_thread_group_join receives correct exit status
...
Following #5334
2019-01-13 14:45:36 +03:00
Nekotekina
453344c232
cellSaveData: workaround possible issues with symlinks
...
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00
Nekotekina
bd9131ae1c
Implement fs::get_cache_dir
...
Win32: equal to config dir for now
Linux: respect XDG_CACHE_HOME if specified
OSX: possibly incomplete
2019-01-13 14:45:36 +03:00
eladash
bc27f5f75c
Implement invalid NV4097_NOTIFY context handling
2019-01-13 12:59:00 +03:00
Megamouse
022550a43b
cellOskDialog: use atomic_op for state operations
2019-01-12 23:39:01 +01:00
Megamouse
d7cc97433d
cellOskDialogUnloadAsync: guarantee 0 terminated return string
2019-01-12 23:39:01 +01:00
Megamouse
fce9f352a9
cellOskDialog: fix cellOskDialogAbort
2019-01-12 23:39:01 +01:00
Megamouse
f9c1b15bf4
cellOskDialog: fix cellOskDialogUnloadAsync return string
...
fixes Class of Heroes 2G
2019-01-12 23:39:01 +01:00
Rui Pinheiro
3406acd8c9
Fixups for audio PR
2019-01-12 22:22:03 +03:00
Rui Pinheiro
49fbf9bf0f
Tweaks to buffering algorithm
...
Increase untouched buffer timeout when some of the buffers have been
touched. Might improve audio quality on games that suffered from
miniscule popping even when buffering was enabled (such as DeS).
In addition, made time stretching algorithm slightly more aggressive.
Includes some other tiny tweaks as well.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
1e4513e2e3
Fixups in audio backend
...
Removes 's_' prefix from variables that are no longer static and
thread_local. Removes superfluous comments left behind due to copy-paste
mistakes.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
fe9062671e
Change audio tooltips, audio backend order
2019-01-12 21:29:56 +03:00
Megamouse
5e3311746c
Qt/settings: add new audio buffering options
2019-01-12 21:29:56 +03:00
Rui Pinheiro
48db0430d4
Misc. Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
650bc0c1f2
Fix game pausing/unpausing
2019-01-12 21:29:56 +03:00
Rui Pinheiro
f17f984721
Add timeout for untouched buffers
2019-01-12 21:29:56 +03:00
Rui Pinheiro
8f6043b568
Change cellAudio diagnostic messages to Trace
2019-01-12 21:29:56 +03:00
Rui Pinheiro
67f9397746
Various fixes
...
In addition, linux builds (and ALSA/PA) now work again
2019-01-12 21:29:56 +03:00
Rui Pinheiro
4f39457858
Rewrite OpenAL backend to support new features
2019-01-12 21:29:56 +03:00
Rui Pinheiro
892deb1552
Implement basic time stretching + Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
5159d3559e
Implement Audio Backend Capabilities querying
...
Also renames "AudioThread" to "AudioBackend". The new name is more
descriptive of what the class really is responsible for, since the
backends are not responsible for managing the audio thread.
NOTE: Right now only XAudio2 is supported
2019-01-12 21:29:56 +03:00
Rui Pinheiro
2addbe6be2
Implement basic cellAudio buffering
2019-01-12 21:29:56 +03:00
Rui Pinheiro
56962aa707
Disable OpenAL backend temporarily
2019-01-12 21:29:56 +03:00
Megamouse
e18e9909af
cellOsk fixup
2019-01-12 08:26:04 +01:00
RipleyTom
fad80ed443
revert part of #5529
2019-01-12 06:59:07 +01:00
Megamouse
e3ea29599d
cellGame: fix some installation issues
...
fixes HAWX2 (at least until it crashes again)
2019-01-11 03:36:22 +03:00
Megamouse
d9d5f45e9e
rsx/input: fix rsx replay
2019-01-10 13:05:48 +01:00
Megamouse
eb4d612bb9
cellOskDialog: fixes for multi-line dialog
2019-01-10 13:05:48 +01:00
Megamouse
e5aede7aa7
cellOskDialog: initial code for cellOskDialogSetSeparateWindowOption
2019-01-10 13:05:48 +01:00
Megamouse
17058113df
cellOskDialog: add multi-line option and handle more permutations (WIP)
2019-01-10 13:05:48 +01:00
Megamouse
4a8b30c625
cellOskDialog: cellOskDialogExtRegisterConfirmWordFilterCallback
2019-01-10 13:05:48 +01:00
Megamouse
e0ac244fed
split MsgDialogBase
2019-01-10 13:05:48 +01:00
Megamouse
d5303b0b64
add error_code to cellOskDialog and cellMsgDialog
2019-01-10 13:05:48 +01:00
Megamouse
7cc4239cc2
cellOskDialog: add message
2019-01-10 13:05:48 +01:00
Megamouse
cc30b4e5be
cellOskDialog: don't send input signals without seperate screen enabled
2019-01-10 13:05:48 +01:00
Megamouse
16f2975792
cellOskDialog: properly handle dialog states to improve param checks
2019-01-10 13:05:48 +01:00
Megamouse
1b2e512179
Qt: make dockwidget title bars optional
2019-01-10 12:14:38 +01:00
kd-11
52ac0a901a
rsx: improve memory coherency
...
- Avoid tagging and rely on read/write barriers and the dirty flag mechanism. Testing is done with a weak 8-byte memory test
- Introducing new data when tagging breaks applications with race conditions where tags can overwrite flushed data
2019-01-06 10:44:40 +03:00
kd-11
89c9c54743
rsx: Minor hot-fix
...
- Pitch 0 makes sense if width == 1 and height == 1
2019-01-06 10:44:40 +03:00
kd-11
95245bdd83
rsx: Improve ARGB8->D24S8 casting
...
- Set up partial transfers
- Force clear of target before starting the transfer
2019-01-06 10:44:40 +03:00
kd-11
475cc99117
rsx: Fix dirty flag reset after a partial attachment initialization
...
- D24S8 targets have 2 aspects that are dealt with separately; Forcefully initialize the remaining data if a partial init is done. Its 'free' anyway
- It seems that the stencil mask matters when clearing unlike the depth mask and color mask
2019-01-06 10:44:40 +03:00
kd-11
c80c7f06bb
rsx: Typo fix
...
- This silly typo broke the flip improvements in the GT fixes PR
2019-01-06 10:44:40 +03:00
kd-11
2a62fa892b
rsx: Texture cache refactor
...
- gl: Include an execution state wrapper to ensure state changes are consistent. Also removes a lot of required 'cleanup' for helper methods
- texture_cache: Make execition context a mandatory field as it is required for all operations. Also removes a lot of situations where duplicate argument is added in for both fixed and vararg fields
- Explicit read/write barrier for framebuffer resources depending on
usage. Allows for operations like optional memory initialization before
reading
2019-01-06 10:44:40 +03:00
kd-11
0f64583c7a
rsx: Reimplement pitch lookup
...
- Remove the required_xxx_pitch constraint as it makes no sense. The pitch controls what can be written per line.
- It is possible to have a huge surface width but only render to a small region at the beginning and have a smaller pitch than can fit the surface (NFS carbon)
2019-01-06 10:44:40 +03:00
kd-11
1ffadbe086
rsx: Reorganize write barrier implementation (either clear or memory barrier)
2019-01-06 10:44:40 +03:00
kd-11
9c45ce6d37
vk: Reimplement typeless memory allocation to handle resolution upscaling
2019-01-06 10:44:40 +03:00
kd-11
d8e45c86e6
vk: Remove old useless hack that interferes with memory inheritance
2019-01-06 10:44:40 +03:00
kd-11
3be4b474d9
rsx: Handle rsx-self-tripping in draw call and triggering invalid invalidation
...
- If draw call resources consume memory that intersects with NA parts of the texture cache, we get a framebuffer test mismatch.
This mismatch is false and happens because the thread has not yet reached the point of relocking the pages
2019-01-06 10:44:40 +03:00
kd-11
a95a44cf66
rsx: Strictness cleanups
...
- Also account for variable pitch textures (swizzled scan)
2019-01-06 10:44:40 +03:00
kd-11
474d0f61a2
minor typo fix
2019-01-06 10:44:40 +03:00
kd-11
362eea09a1
whitespace fix only
2019-01-06 10:44:40 +03:00
kd-11
15d5507154
rsx: Rewrite memory inheritance transfers
...
- Implicitly invoke a memory barrier if actively reading from an unsynchronized texture
- Simplify memory transfer operations
- Should allow more games to work without strict mode
2019-01-06 10:44:40 +03:00
kd-11
97704d1396
rsx: Fix texture size calculations
2019-01-06 10:44:40 +03:00
kd-11
50c07833e4
rsx: Do not force upload for missing data
...
- TODO: Finish implementing GPU RCB for mem-sync
- TODO: Refactor mem-sync
2019-01-06 10:44:40 +03:00
kd-11
6d932b042b
vk: bump max number of compute jobs from 120 to 1024
...
- It is possible without bugs to have a very high number of compute invocations.
2019-01-06 10:44:40 +03:00
kd-11
64a8829614
rsx: Minor cleanup
2019-01-06 10:44:40 +03:00
kd-11
15488eb247
rsx: Avoid unnecessarily touching framebuffer memory
...
- Do not bind companion framebuffer when clearing single aspect; let the
contest mechanism sort it out instead
- Do not prematurely tag framebuffers, instead only do so at
write-confirmation time. Should avoid false tagging if setup does not
allow a render to occur.
2019-01-06 10:44:40 +03:00
kd-11
a13986ec5c
vk: Spec fixups
...
- Forgot to update descriptor pool init sizes over time
- Also clamp swapchain resources to allowable surface extents
2019-01-05 21:31:12 +03:00
Megamouse
6c10cb2eb5
Assume go to address to be hexadecimal
2019-01-05 04:03:18 +01:00
Megamouse
6fe615605a
prevent debugger crash when no thread is selected
2019-01-05 04:03:18 +01:00
Megamouse
bb464b0b64
fix some warnings
2019-01-05 04:03:18 +01:00
Megamouse
daee2a27a3
Qt: spawn Confirmation Dialog on when booting games while Emu is running
2019-01-05 01:50:42 +01:00
Megamouse
5f9b441dd7
Qt: spawn Confirmation Dialog on exit
2019-01-05 01:50:42 +01:00
RipleyTom
37c621ebbf
cellSysutilCheckCallback forced granularity
2019-01-03 02:15:01 +03:00
Nekotekina
7a4282b4c0
cellSysutil: drain callback queue at single step
...
This way if a new callback is registered in a process,
it will not be executed immediately in the same loop.
Remove mutex, use lock-free queue.
2019-01-03 02:15:01 +03:00
Megamouse
3b83e223d8
cellOskDialog: add some param checks
2019-01-02 15:45:51 +01:00
Megamouse
0e7fd45504
cellOskDialog: add Constants
2019-01-02 15:45:51 +01:00
Megamouse
ad5cdc38cd
cellOskDialog: implement CellOskDialogInputFieldResult
...
fixes abort and cancel
2019-01-02 15:45:51 +01:00
Megamouse
6f7b25de90
implement CELL_PAD_INFO_INTERCEPTED
2019-01-02 15:45:51 +01:00
Megamouse
8ad14c4ada
Overlays: fix input loop when no controllers are detected
2019-01-02 15:45:51 +01:00
Megamouse
a4f67ccb87
Add log messages for PPU compilation
2018-12-31 23:03:03 +03:00
Megamouse
632b0f489c
Qt/Input: add keyboard stick interpolation
2018-12-31 12:42:34 +01:00
Megamouse
a77bd41b50
Qt/Input: add mouse settings to the pad settings dialog
2018-12-31 12:42:34 +01:00
Megamouse
2db16c2c04
Input: add config entries for mouse deadzones and acceleration
2018-12-31 12:42:34 +01:00
RipleyTom
7ebd3bbcbf
Fixes issues where the mutex is destroyed while an unlock is happening
2018-12-31 01:39:47 +03:00
eladash
483ee5e488
Fix sys_vm_memory_map address base
2018-12-30 20:12:32 +00:00
eladash
79a6a2c7fb
Debug console emulation
2018-12-30 20:12:32 +00:00
eladash
2ea061b9c7
Set total memory size according to sdkver
2018-12-30 20:12:32 +00:00
eladash
c0eb4965f2
mmapper_allocate_memory improvement
...
Added cases 0 for allocation granularity size,
alike sys_memory_allocate, the alignment of this case is 1mb.
2018-12-30 20:12:32 +00:00
Megamouse
d1be1150c2
Settings Dialog Update
2018-12-30 17:47:51 +01:00
RipleyTom
c6e47a573d
cellVideoOutConfigure minor fix.
2018-12-30 17:58:20 +03:00
eladash
db784556aa
rsx: Evaluate cond render test at set_render_enabled
2018-12-30 15:04:59 +01:00
eladash
26d47afec6
hle gcm: Fix cellGcmGetReportDataAddressLocation
...
* Never return NULL (also apllies to similar functions)
* Base offset is 0x0e000000 for main location
* Default location is LOCAL
Info was taken from disasm of gcm
2018-12-30 15:04:59 +01:00
eladash
568206d11a
Fix rsx capture (again)
2018-12-30 15:04:59 +01:00
Megamouse
a1dd6e080c
Qt: Sort game list after load settings to prevent icon size mismatch
...
This was sorely needed when the app crashed after resizing icons
2018-12-30 14:15:34 +01:00
fobb2
64ea7bf867
capitalize 'japanese' -> 'Japanese'
2018-12-30 05:08:43 +01:00
Jan Beich
8d308bb4c0
overlays: don't use /proc on BSDs as it may not be mounted
2018-12-29 18:07:45 +03:00
RipleyTom
aa306dd356
Trophy changes
2018-12-27 19:11:51 +01:00
eladash
4b65c3943c
Fix sys_semaphore_post count check
2018-12-26 23:03:27 +03:00
eladash
653a4ef0df
Set group status INIT on last thread stopped
...
this fixes the group status after sys_spu_thread_exit when not joining the spu group
2018-12-25 19:59:41 +03:00
scribam
7c74bafaf3
sceNp: improve sceNpManagerGetNetworkTime function ( #5451 )
2018-12-25 17:13:11 +03:00
Nekotekina
d7be0a96f3
SPU LLVM: approximate xfloat option
...
Adapt previous SPU ASMJIT changes made by @kd-11
FM, FMA, FNMS, FMS are approximated.
FCGT, FCMGT are accurate.
2018-12-24 16:04:46 +03:00
Nekotekina
f750b4c420
cellSaveData: try to address #5415
2018-12-24 16:04:46 +03:00
Nekotekina
522f5ea645
Fix cellFsGetFreeSize (following #5304 )
...
Simplify device name extraction
2018-12-24 16:04:46 +03:00
kd-11
9c46386dd4
rsx: Check av configuration when selecting display buffers!
...
- Some applications have mismatch between video output configuration and display buffer sizes
2018-12-24 09:05:19 +03:00
kd-11
7555be232f
rsx/vp: Fix double dst commands
...
- Test the vec_result mask before assigning to actual output
Sometimes, VEC op is used to write to Rx, and SCA op is used to write to o[x]!
2018-12-24 09:05:19 +03:00
kd-11
10d96a60f1
rsx/capture: Force flip if no flip event was recorded
2018-12-24 09:05:19 +03:00
kd-11
f48abde14b
rsx: Fixups for immediate rendering mode
...
- Immediate mode is isolated from the rest of the vertex configuration
- TODO: Verify register behaviour when immediate mode is used
Check if per-primitive const register values are supported (likely are)
2018-12-24 09:05:19 +03:00
kd-11
4b79ef1ad9
rsx: Implement stencil mirror views
...
- Implements a mirror view of D24S8 data that accesses the stencil components.
Finishes the implementation of TEX2D_DEPTH_RGBA as the stencil component was previously missing from the reconstructed data
- Add a few missing destructors
Image classes are inherited a lot and I forgot to make the dtors virtual
2018-12-24 09:05:19 +03:00
kd-11
696b91cb9b
rsx: Reimplement conditional execution in shaders
...
- Per-channel conditional execution introduces RAW hazards all over the place
- Its cheaper to process both branches and select between the two
- Also improves ShaderVariable functionality to allow functionality such as match_size and taking complex variables as inputs
2018-12-24 09:05:19 +03:00
kd-11
c75749f8ce
rsx: fix flip logic when grabbing output from the surface cache
2018-12-24 09:05:19 +03:00
MSuih
eba364c64c
Clear disk cache if it grows too large (dev_hdd1/cache) ( #5411 )
...
* Clear disk cache automatically
* Add disk cache to UI
2018-12-24 00:18:47 +03:00
Megamouse
b99a88afe2
Qt/Input: disable in-game controls while the pad settings are opened
2018-12-23 04:13:27 +01:00
Megamouse
e80f2793eb
Qt/Input: immediately abort remapping if the controller was disconnected
...
added some fixups
2018-12-23 04:13:27 +01:00
Megamouse
6dcf66b064
Qt/Input: add disconnected label to the devicenames
2018-12-23 04:13:27 +01:00
Megamouse
bdb5606317
Qt/Input: enable DS4 controller reconnect without refresh
2018-12-23 04:13:27 +01:00
Megamouse
6e323622a5
Qt/Input: use 1-n in the GUI instead of 1-(n-1)
...
I didn't look into evdev
2018-12-23 04:13:27 +01:00
Megamouse
91d834ce73
Qt/Input: improve DS4 device list
...
Needed to move Reset out to main_window due to hid closing problems. It's better to have the reset logic outside anyway
2018-12-23 04:13:27 +01:00
Megamouse
f617e47152
Qt/Input: disable mapping for unconnected pads
2018-12-23 04:13:27 +01:00
Megamouse
e80574cbd2
RSX/Qt: set min gs_frame size to 160x90 to prevent stupid new Vulkan bug
2018-12-22 23:10:34 +01:00
Megamouse
79003cd089
Qt/windows: use Qt's high dpi scaling
2018-12-22 23:10:34 +01:00
isshininu
9717e19be2
sceNpTrophy: use SCE_NP_TROPHY_STATUS_INSTALLED instead of SCE_NP_TROPHY_STATUS_NOT_INSTALLED
...
* Update sceNpTrophy.cpp
* Revert "Update sceNpTrophy.cpp"
* Update sceNpTrophy.cpp
* Update sceNpTrophy.cpp
2018-12-22 13:53:38 +01:00
eladash
69fc1f2613
Added CAMERA_NOT_INIT checks for no camera setting
2018-12-20 08:52:09 +01:00
Megamouse
6b1d80ec25
cellCamera: fix read_mode
2018-12-20 08:02:44 +01:00
Megamouse
bc3ab7a9d9
Input: Enable In-Game Pad Config Reset
2018-12-17 19:41:18 +01:00
vit9696
5a40c1802b
Support macOS bundling for binary distribution
2018-12-16 18:17:21 +03:00
eladash
c50d459b1e
cleanup rsx fifo debugger command display
2018-12-15 19:40:18 +03:00
eladash
098d634328
rsx fifo: Fix call cmd offset mask
...
highest 3 bits are masked according to tests, also filter certainly invalid jumps with offset higher than max
2018-12-15 19:40:18 +03:00
eladash
c2aa10cccd
reduce register_pair container
2018-12-15 19:40:18 +03:00
eladash
45ed58cdaf
Fix rsx capture replay
...
Allow to capture non-increment cmd flag that was missing in command.reg
2018-12-15 19:40:18 +03:00
eladash
87988e9da8
rsx fifo: Stability improvements
...
* Restore stack in fifo error handling
* Update get register after the cmd execution
* Fix put pause in the middle of command
* Add restore points when branching to self
* Precise nopcmd detection
* Test all invalid cmds for early treatment of queue corruption
2018-12-15 19:40:18 +03:00
eladash
835a552d8d
rsx: Implement cellGcmSetNotify
2018-12-15 19:40:18 +03:00
eladash
fd894d4c69
hle gcm: Fix cellGcmGetNotifyDataAddress
2018-12-15 19:40:18 +03:00
eladash
415b995a54
log rsx get ctrl
2018-12-15 19:40:18 +03:00
eladash
8cbaa8627c
Do not rely on cellPadInit in native ui
2018-12-15 13:51:16 +01:00
Megamouse
2e7e2bb07e
XInput: fix usage of one controller for 2 players
2018-12-15 13:13:26 +01:00
msuih
76f94940cd
Add strict texture flushing to debug options
2018-12-11 22:37:10 +03:00
Rui Pinheiro
54bfe2e102
Add log warning on slow flush path
2018-12-11 22:37:10 +03:00
Rui Pinheiro
18b9ee4541
Reimplement overlapping fbo "hack"
...
To avoid the need (and performance hit) of Read Color/Depth Buffers, we
may not invalidate overlapping fbos inside lock_memory_region unless
they are guaranteed to be superseded by the new one.
This avoids e.g. issues with overblooming, among others.
2018-12-11 22:37:10 +03:00
Rui Pinheiro
5ab7296665
Fix xcode build
2018-12-11 22:37:10 +03:00
Rui Pinheiro
bcdf91edbb
Misc. Texture Cache fixes
2018-12-11 22:37:10 +03:00
Rui Pinheiro
9d1cdccb1a
Implement dedicated texture cache predictor
2018-12-11 22:37:10 +03:00
Rui Pinheiro
af360b78f2
Texture cache section management fixups
...
Fixes VRAM leaks and incorrect destruction of resources, which could
lead to drivers crashes.
Additionally, lock_memory_region is now able to flush superseded
sections. However, due to the potential performance impact of this
for little gain, a new debug setting ("Strict Flushing") has been
added to config.yaml
2018-12-11 22:37:10 +03:00
Megamouse
1ca02c7d17
Qt: implement custom titles
2018-12-10 18:50:23 +01:00
Megamouse
ead03caedc
Qt: Fix silly edit bug that no one ever noticed
2018-12-10 18:50:23 +01:00
RipleyTom
077e710e3a
sys_fs_fcntl with parameter 0xC0000002 should extract device path from the given path and use that to gather free space information
2018-12-10 14:24:07 +03:00
Nekotekina
d6afba96f1
cellSaveData: fix 'Already exists' error
2018-12-10 01:43:47 +03:00
Nekotekina
d98420fbc3
CMake: use CMAKE_SOURCE_DIR instead of .. in some places
2018-12-10 01:43:47 +03:00
eladash
fb8302817f
ppu: Set link unconditionally
2018-12-10 01:34:02 +03:00
RipleyTom
5207b00973
Extra Handling of result value of funcStat CB.
2018-12-08 18:44:00 +03:00
Nekotekina
92be67b402
Fix #5370 regression
2018-12-05 00:06:09 +03:00
Nekotekina
476090a747
Detach VBlank and RSX Decompiler threads
...
Should fix exception handling in RSX Thread
2018-12-04 23:41:54 +03:00
elad
90265edfcd
SPU MFC: avoid copying of the lockline onto the stack in putllc/putlluc ( #5392 )
2018-12-04 21:09:55 +03:00
eladash
45942c4962
Fix segfault when scaled image dimension is less than clip's
2018-12-04 13:01:29 +03:00
eladash
fa5652fceb
rsx image_in: Implement negative scaling
2018-12-04 13:01:29 +03:00
eladash
ce500c75c4
throw exceptions in case of invalid/unknown operations in image_in
2018-12-04 13:01:29 +03:00
eladash
6ecf2fb3d0
rsx: default lv2 semaphore context + dma_4097
...
extracted from vsh
2018-12-04 13:01:29 +03:00
eladash
28e4a9e0d0
rsx image_in: Fix in_pitch 0
...
The hw doesnt fix pitch, when specifying src pitch 0 it copies the same pixels line to dst. keep in mind out_pitch = 0 is not allowed in image_in.
Same goes for buffer_notify, though it allows out_pitch to be 0.
2018-12-04 13:01:29 +03:00
eladash
d1d3ac984e
rsx image_in: Fix src size calculation when in_pitch != line_lengh
2018-12-04 13:01:29 +03:00
eladash
0a1da14a15
rsx image_in: remove clip h and w hack
...
If clip region is empty, dont execute
2018-12-04 13:01:29 +03:00
eladash
4ddafc481e
remove unreachable code
2018-12-04 13:01:29 +03:00
eladash
b48a4b6459
rsx-capture: reduce capture size
...
* Dont bother capturing 'destination' blocks with no data. instead premap all main memory to ensure allocated
* Capture zcull and tile state as their compressed gcm forms
* Fix index array capturing, ignore empty sets
* hle gcm: Fix byteswaping in cellGcmSetZcull
2018-12-04 13:01:29 +03:00
NicknineTheEagle
32059bfaa2
Properly get PARAM.SFO and icons for C00 games ( #5370 )
...
* Added a helper function for fetching game's PARAM.SFO path
This should properly get SFO path for unlocked C00 games
* Normalized line endings
* Refresh game list after installing a RAP file
2018-12-04 01:46:01 +03:00
Megamouse
afdf0b74a0
VS: filter for trophy_manager_dialog.h
2018-12-03 22:37:31 +01:00
Megamouse
87be1abb9a
Qt: fix play icon default tooltip
2018-12-03 22:37:31 +01:00
kd-11
a56ba737b5
vk: Silence log spam
2018-12-03 20:01:23 +03:00
kd-11
504ab5a6d4
rsx: Minor cleanup to silence stupid compiler warnings
2018-12-03 20:01:23 +03:00
kd-11
f4c28eceef
rsx: Fix null renderer
2018-12-03 20:01:23 +03:00
kd-11
9d0042f509
rsx: Fixup for the flattener
...
- Reset the flattener before use
- Better detection of FIFO misalignment
2018-12-03 20:01:23 +03:00
scribam
24a8d0aeef
sceNp: add SCE_NP_ERROR_ID_NOT_FOUND for sceNpBasic*Entry* functions
2018-12-03 15:26:29 +03:00
RipleyTom
7f3eaed435
Fullscreen fix
2018-12-03 14:16:47 +03:00
RipleyTom
25414953e0
Fixes maximize window to properly update the render surface in Vulkan
2018-12-01 22:20:59 +03:00
msuih
8afc035aac
Category filter for PS1/PS2/PSP games
2018-12-01 16:56:56 +01:00
kd-11
ec768afbd9
rsx: Flip workarounds for applications that flip via syscall
...
- Do not assume flip marks end-of-frame if executed via syscall
- Also disables skip_frame for these applications as there is no frame boundary
- NOTE: QUEUE_HEAD cannot be relied on as it is seemingly possible to flip the same head and not need to queue it
2018-11-30 23:51:25 +03:00
kd-11
2168159d03
gl: Fix flip regression
...
- Restore graphics state after flip (including active fbo) because flip can be made through a syscall
2018-11-30 23:51:25 +03:00
kd-11
b96ed5cd4e
gl: Do not rely on driver statistics for s3TC textures; they are inconsistent.
2018-11-30 23:51:25 +03:00
kd-11
f1c3b46d60
rsx: Fixup - undo vertex cache 'improvements'
2018-11-30 23:51:25 +03:00
kd-11
5b6e1420f3
rsx: Pipeline barriers fixed up
...
- Ensure barriers are invoked even if no draw occurs!
-- Ensures that deferred commands are executed eventually
2018-11-30 23:51:25 +03:00
kd-11
8a186bb97e
rsx: Fix insertion of execution barriers
...
- Ignore barriers inserted after BEGIN but before any draw commands are emitted
- Properly process tail barriers inserted before END but after draw commands are submitted
- Ignore execution barriers with no effect (same register value written)
2018-11-30 23:51:25 +03:00
kd-11
1d19f71a46
rsx: Re-enable fifo error reset
2018-11-30 23:51:25 +03:00
kd-11
718a04c84f
fixup: Clear disabled attrib entries
2018-11-30 23:51:25 +03:00
kd-11
833c25894f
[WIP] rsx: Rebase cleanup
2018-11-30 23:51:25 +03:00
kd-11
5193c99973
rsx: Enable dynamic FIFO preprocessing
...
- Tries to detect when FIFO preprocessing is beneficial and only enables optimizations if the benefit outweighs the cost
- Current threshold is at least 500 draw calls saved at over 2000 draw calls to justify the overhead
- TODO: More tuning for other CPUs
2018-11-30 23:51:25 +03:00
kd-11
7b065d7781
rsx: Fixup; input attributes blob decoding
...
- Use an unstructured blob and index into the vec4 structures to extract the real data
2018-11-30 23:51:25 +03:00
kd-11
846daadd5d
rsx: Fixups
...
- Improve vertex attribute layout format. Allows for full 16-bit attribute divisor
- Use actual pitch when declaring framebuffer rsx pitch instead of register value in case of swizzle? rendering
2018-11-30 23:51:25 +03:00
kd-11
2e32777375
rsx: Scrap the prebuffered queue approach
...
- Basically starting over
- The cost of making command copies into the queue has a measurable impact
2018-11-30 23:51:25 +03:00
kd-11
9deecd506a
fixup: It is possible for NOP commands to contain other garbage
2018-11-30 23:51:25 +03:00
kd-11
26a56ef1f1
vk: Spec compliance.
...
- TODO: Implement push_constants path instead of copy + bind descriptor sets
2018-11-30 23:51:25 +03:00
kd-11
d6b4440ef9
gl: Separate vertex env from program env
2018-11-30 23:51:25 +03:00
kd-11
435afcb865
rsx: Fix fifo draw barriers
2018-11-30 23:51:25 +03:00
kd-11
2d88e41583
rsx: Fix some checks when using inlined array rendering
2018-11-30 23:51:25 +03:00
kd-11
54ec363e88
rsx: Critical pipeline fixes
...
- Fix scissor and viewport binding behavior
- Fixes recovery if empty scissor is specified and then 'fixed' later
- Optimizes state binding a bit
2018-11-30 23:51:25 +03:00
kd-11
1ad76ad331
rsx: Restructure programs
...
- Also re-enable pipeline optimizations
2018-11-30 23:51:25 +03:00
kd-11
b0a6b72ce8
rsx: Optimizations
...
- Replace a few more vectors with simple_array<T>
- Avoid unnecessary string comparisons in backends. We already know referenced textures from the program analysers!
2018-11-30 23:51:25 +03:00
kd-11
677b16f5c6
rsx: Fixups
...
- Also fix visual corruption when using disjoint indexed draws
- Refactor draw call emit again (vk)
- Improve execution barrier resolve
- Allow vertex/index rebase inside begin/end pair
- Add ALPHA_TEST to list of excluded methods [TODO: defer raster state]
- gl bringup
- Simplify
- using the simple_array gets back a few more fps :)
2018-11-30 23:51:25 +03:00
kd-11
e01d2f08c9
rsx: Refactor FIFO
...
- Removes fifo structures from common RSXThread
- Sets up a dedicated FIFO controller
- Allows for configurable queue optimizations
2018-11-30 23:51:25 +03:00
Nekotekina
96cabeadff
Rewrite condition variables
...
Implement helper functions balanced_wait_until and balanced_awaken
They include new path for Windows 8.1+ (WaitOnAddress)
shared_mutex, cond_variable, cond_one, cond_x16 modified to use it
Added helper function utils::popcnt16
Replace most semaphore<> with shared_mutex
2018-11-29 01:30:05 +03:00
Nekotekina
f442a8a84c
SPU TG: add thread group stop counter
...
Fix possible race condition introduced by waiting on `running` value
2018-11-27 23:37:26 +03:00
Nekotekina
febe4d4a10
Implement class cond_x16
...
Use as reservation notifier
Limited to 16 threads but allows more precise control of contention
2018-11-26 00:23:29 +03:00
Nekotekina
7f1cbb1136
Fix 16 bit audio mode
...
Pointed by @ruipin, some backends may be affected
Reuse float buffer for conversion result
2018-11-24 02:55:29 +03:00
eladash
4baa159523
cellFsOpen flag fix
2018-11-24 02:54:48 +03:00
Megamouse
0526bfd7de
Support trophy manager moc'ing in vcxproj
2018-11-23 20:29:43 +01:00
msuih
bf0e6ca174
Load trophies in another thread
2018-11-23 20:29:43 +01:00
kd-11
f505ac7b63
qt/gs_frame: Hotfix
...
- Dynamically check the loaded QT library version in case of mismatch
- Fixes using 5.11.1 builds with non-buggy libraries and vice versa
2018-11-22 10:21:13 +03:00
eladash
3c7f02d99d
Fix libcamera regression
2018-11-19 19:05:39 +03:00
vit9696
634a5fa31c
Fix macOS compilation
2018-11-19 14:39:33 +03:00
Nekotekina
65ca934452
cellSaveData: fix truncation size (regression)
2018-11-17 14:40:11 +03:00
Nekotekina
12ceceff19
cellSaveData: restore atime/mtime for unmodified files
2018-11-17 14:40:11 +03:00
isJuhn
225310e04b
Add null alloc_addr checks to sys_memory_allocate and sys_memory_allocate_from_container
2018-11-16 18:37:07 +00:00
RipleyTom
f4fb5200a0
cellVdecGetPicture accurate error checking
2018-11-15 20:06:49 +03:00
Nekotekina
0044eb44e2
Cleanup after #5310 (SPU thread groups)
...
Move lambda into a cpu_stop()
Use running thread counter to synchronize with sys_spu_thread_group_join()
Use SPU_STATUS_STOPPED_BY_STOP exclusively for sys_spu_thread_exit() as before
Remove unnecessary waiting in sys_spu_thread_group_exit()
Rollback some minor unnecessary changes
Use shared_mutex in SPU TG
2018-11-14 12:50:24 +03:00
RipleyTom
0e0a82e536
Ensures threads are stopped in join
2018-11-13 10:19:28 +03:00
eladash
2e1aec4de8
Implement sys_spu_thread_tryreceive_event
2018-11-12 21:12:33 +03:00
RipleyTom
fada8b6594
Increases stack allocation for callbacks.
2018-11-12 15:09:26 +03:00
eladash
57b7892de6
Fix typo in sys_fs_mkdir
...
create_path is a less resticted version of create_dir, it doesnt check for EEXIST for one.
2018-11-12 13:28:58 +03:00
eladash
37b6afaf2c
rsx: inlined array stride fix
2018-11-11 23:17:07 +03:00
RipleyTom
986bb24326
Extra check when opening pup file
2018-11-10 12:41:47 +03:00
Nekotekina
2fd384ae95
SPU LLVM: check state in every callable chunk
...
It's often redundant but may be necessary
2018-11-09 16:19:59 +03:00
Nekotekina
c17a98030a
qt: Add supporters
2018-11-09 16:19:59 +03:00
eladash
90f816595a
Fix cellPadGetData
...
* Remove complete buffer clear
* If pressure sensitivity option is not specified, write zeroes (should this be handled from our actual controller handler?)
* Check sensor setting before reporting changes
2018-11-07 15:46:51 +03:00
eladash
3332a10052
ppu: Fix threads scheduler
...
*Set priority under a lock
*Fix yield command making threads going out of scheduler control by removing it from the queue (not a bug that affects compatibility)
2018-11-07 13:06:29 +03:00
eladash
3fd17e43a3
lv2: Fix lwcond_queue_wait lock acquiring
2018-11-07 13:06:29 +03:00
eladash
3faaf9e7fb
lv2: Fix lwmutex locking
2018-11-07 13:06:29 +03:00
eladash
777f36e604
Fix error code checking of sys_lwcond_signal_x
2018-11-07 13:06:29 +03:00
Ani
2abbedcc50
gui: Fix OpenCorrectionDialog message
...
It was incorrectly trying to get the previous setting value after updating the setting
2018-11-07 00:04:22 +01:00
RipleyTom
9831bc6bc9
Bluetooth returns select as KEY_BACK for XBOX ONE controller. ( #5303 )
2018-11-05 14:25:38 +00:00
Nekotekina
488928eca2
Fix SPU STOP instruction
...
Check thread state after STOP instruction
2018-11-05 14:35:50 +03:00
Nekotekina
f06e6be2c1
Disable npc update for SPU thread groups
2018-11-05 13:14:11 +03:00
Nekotekina
eaa17b7f7c
cellSaveData: anti-corruption precautions
...
Try to commit changes atomically
2018-11-05 13:14:11 +03:00
Nekotekina
6104685ad6
Implement cond_one sync primitive
...
Change futex() args to use unsigned int
2018-11-05 13:14:11 +03:00
Nekotekina
06253c8489
Implement "Initialize Directories" options
...
If disabled, /dev_hdd0, /dev_hdd1, etc, are not created automatically.
2018-11-05 13:14:11 +03:00
eladash
75221a6078
rsx: Fix inlined vertex array validation
2018-11-04 22:57:18 +03:00
eladash
43b75ccf04
cellGame: Add missing nullptr checks
...
if the param is null pointer, the library simply skips writing into it. also fix the order of writes.
2018-11-02 19:47:37 +03:00
HexyFify
98f2967aac
Update firmware latest version to 4.83
2018-11-02 00:51:42 +00:00
Zion Nimchuk
fa134337d9
Fix issue with memory validation
2018-11-02 03:21:36 +03:00
eladash
3a7f5b970f
ppu: Fix stack base
2018-11-02 02:16:29 +03:00
eladash
7056b5fc70
rsx-debugger: add forgotten super ptrs
2018-10-30 22:33:59 +03:00
eladash
68a8efdc33
rsx-debugger: auto jump into get address on startup
2018-10-30 22:33:59 +03:00
eladash
fb30c8a937
rsx enums: fix typos
2018-10-30 22:33:59 +03:00
eladash
5270dc1c9e
rsx-debugger: fix ret and nop cmd display
2018-10-30 22:33:59 +03:00
eladash
4069470585
rsx-debugger: ignore invalid cmds
...
basically ignore all non method cmds when scrolling to the next command, not only branches.
2018-10-30 22:33:59 +03:00
eladash
2058d024ce
Fix cellGcmInit (workaround)
2018-10-28 20:09:09 +03:00
Megamouse
d56c85fe01
RSX/Capture: fix filePath and remove strict mode check ( #5283 )
...
- Fixes regression introduced by kd-11 when merging in jarves' flip rework.
2018-10-27 13:06:50 +03:00
Megamouse
1cf62e9ded
Qt: add option to add games to the main menu
2018-10-27 02:37:59 +02:00
Megamouse
586c0ea1d0
Qt: rename deleteLLVMCache to removePPUCache
2018-10-23 22:35:50 +02:00
Dennis Luxen
36d4614d12
Fix a warning that shift overflows data type width ( #5116 )
2018-10-23 18:49:01 +03:00
eladash
dfacdd8a40
fixup for rsx debugging tools segfaults
2018-10-23 18:02:03 +03:00
eladash
5ee351234c
rsx-capture: unbreak
2018-10-23 18:02:03 +03:00
Megamouse
eba2216c4a
fix evdev device list
2018-10-20 22:08:58 +02:00
eladash
d14c8a03b3
typo fix
2018-10-20 22:27:48 +03:00
Zion Nimchuk
966c3fea5b
Fix command line arguments, add --version and set Qt application name
2018-10-20 20:42:25 +02:00
Megamouse
aed83e69c9
Qt: add tick marks to Master Volume Slider
2018-10-20 19:19:54 +02:00
Megamouse
6e08d8e746
Qt: also enable/disable overlay centering checkboxes
2018-10-20 19:19:54 +02:00
Megamouse
c9d8cd3613
Qt: refactor settings_dialog and add EnhanceSlider
2018-10-20 19:19:54 +02:00
Megamouse
da5385686c
Qt: add master volume slider to the audio tab
2018-10-20 19:19:54 +02:00
Zion Nimchuk
db40cbda58
Qt: set Vulkan surface in gs_frame
2018-10-20 18:49:04 +02:00
msuih
56ea45f9d5
Add setting for master volume
2018-10-20 16:35:01 +03:00
elad
6829fa0286
rsx: Improve inlined arrays ( #5248 )
...
* rsx: Implement register reads in inlined arrays
* rsx: Check for disabled streams in inlined arrays
2018-10-20 16:00:53 +03:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
430e2243ac
Fix audio_thread buffer deallocation race
2018-10-19 22:22:35 +03:00
Nekotekina
73d35b0236
Remove CALL_FUNC, implement ppu_execute<>()
2018-10-19 22:22:35 +03:00
Megamouse
4ab777b429
Add title to emulator message dialogs
2018-10-14 23:14:46 +03:00
msuih
48416e81eb
Save compatibility draw state
2018-10-13 17:05:36 +02:00
msuih
90688c4970
Compatibility status to grid view
...
Includes icon drawing, menu option and settings entry.
2018-10-13 14:43:23 +02:00
scribam
8540399ecb
ppu-interpreter: improve vminfp instruction
2018-10-12 21:30:14 +03:00
elad
623f1b35f6
rsx_capture/gcm: Fix tile binding ( #5246 )
...
* gcm: Fix tile offset setting
highest bit signifyies location, so ignore that while reading the offset.
* rsx-capture: Fix tile binding
fixes division by zero when dividing by pitch when the tile is not bound.
* rsx-capture: Fix zcull binding
2018-10-12 19:05:08 +03:00
eladash
83b6c98563
rsx: Fix u16 index arrays overflow
...
Force u32 index array destinations to avoid overflows when adding vertex base index.
2018-10-08 16:39:47 +03:00
eladash
e361e0daa6
rsx: Fix restart index check for u16 index arrays
...
Dont ignore upper bits of the restart index with u16 types
2018-10-08 16:39:47 +03:00
scribam
39272eef45
ppu-interpreter: improve vsl/vsr instructions
2018-10-08 00:15:26 +03:00
scribam
cc846eb670
ppu-interpreter: improve fnmadd/fnmadds instructions ( #5183 )
...
* ppu-interpreter: improve fnmadd instruction
* ppu-interpreter: improve fnmadds instruction
2018-10-04 00:49:19 +03:00
Megamouse
49e5212a8f
RSX/Overlays: Add option for japanese button layout
2018-10-03 23:08:33 +02:00
Megamouse
76da3fa907
RSX/Overlays: don't press buttons on every iteration
2018-10-03 21:37:05 +02:00
Megamouse
9693d1c3a3
RSX/Overlays: formatted comments
2018-10-03 21:37:05 +02:00
eladash
348db050ae
rsx: Fix texture height read
2018-10-03 20:57:46 +03:00
eladash
62f97f2e5f
rsx: Fix default texture dimensions
...
haha
2018-10-03 20:57:46 +03:00
eladash
fa723f6dc4
rsx: Fix texture depth read
2018-10-03 20:57:46 +03:00
eladash
4174d7274d
sys_rsx: fix log spam
2018-10-03 20:57:46 +03:00
eladash
a92ae827c1
rsx: Remove texture mipmap hack
2018-10-03 20:57:46 +03:00
eladash
6586090307
rsx: Remove texture size hack
2018-10-03 20:57:46 +03:00
eladash
eacd1b8f13
rsx: Remove texture address hack
2018-10-03 20:57:46 +03:00
Nekotekina
1b740995a4
Refactor audio_thread (g_idm)
2018-10-02 23:26:54 +03:00
Megamouse
c9adb52f63
Qt: Add shader loading screen options to the settings dialog
2018-10-02 09:28:58 +02:00
Nekotekina
1456678316
Refactor audio/camera/mic threads
2018-10-02 02:22:26 +03:00
Nekotekina
19a64e0e94
Add g_typemap and g_idm alias
...
Future idm/fxm replacement
2018-10-02 02:22:26 +03:00
Nekotekina
da6ce80f4f
Make vm::get_super_ptr return contiguous memory
...
Cleanup RSX code complexity
2018-09-27 23:37:13 +03:00
eladash
72ba062b1a
rsx: Fix pfifo ret opcode
2018-09-27 17:47:32 +03:00
eladash
a47ebad24c
rsx: Fix pfifo nop cmd
2018-09-27 17:47:32 +03:00
Nekotekina
306f95a9ae
New named_thread template (preview)
...
Old class named_thread renamed to old_thread
It's too hard to move in a single commit
2018-09-27 14:04:16 +03:00
Nekotekina
4ef384a161
Fix cellVdecClose
...
Thanks Micaelis#6971
2018-09-27 14:04:16 +03:00
Nekotekina
680aaf21f0
Fix consistency in Emu::Stop()
...
Don't clear force_boot on shortcut Load()
2018-09-27 12:16:43 +03:00
Nekotekina
b2f29cd4d4
LLVM: remove false alarm errors
...
Writable sections ARE supported
2018-09-27 12:16:43 +03:00
Nekotekina
a605dd0a3f
Add missing deleted operators
2018-09-27 12:16:43 +03:00
Nekotekina
a8a8cd88a0
Implement lf_queue<>, lf_value<>
...
lf_queue<>: unbound FIFO queue with dynamic linked-list
lf_value<>: concurrently-assignable value readable without locking at the cost of memory (using dynamic linked list)
Add atomic_t<>::compare_exchange
2018-09-27 12:16:43 +03:00
kd-11
bdf85ed900
rsx: Fixup for vertex attrib parsing
...
- POS does not have to be fetched from ATTR[0]
- Confirmed with UC1 that uses WEIGHT for positions
- At least one POS stream has to exist to feed the position attribute which cannot repeat for a single triangle
2018-09-26 19:41:50 +03:00
kd-11
6a9f234dc7
rsx: Fixup flip behaviour
...
- handle_emu_flip is very heavy, only fire
2018-09-26 19:41:50 +03:00
eladash
f056ef7a80
rsx-capture: Save initial method registers state
2018-09-26 17:55:08 +03:00
eladash
5b0ed1e2eb
rsx-capture: Map dynamically rsx data injection addresses
2018-09-26 17:55:08 +03:00
eladash
8e268aedc7
rsx-capture: Rewrite FIFO commands allocation
2018-09-26 00:58:24 +03:00
kd-11
f72157bcec
rsx: Fix vertex attrib parsing
2018-09-25 22:03:35 +03:00
kd-11
dab30c0051
rsx: Disable predictions if 50% of predictions are wrong
...
- This happens often in loading screens where the memory usage pattern is often randomized by loading in of assets
2018-09-24 21:19:38 +03:00
kd-11
a3d44b5e1f
rsx: Cleanup changes for the flip patch
2018-09-24 16:44:02 +03:00
Jake
699eadc84f
rsx: Move render flip from rsx queue command to flip command
2018-09-24 16:44:02 +03:00
Rui Pinheiro
35139ebf5d
Texture cache cleanup, refactoring and fixes
2018-09-24 15:26:40 +03:00
Rui Pinheiro
8b3d1c2c91
Implement address_range utility class
2018-09-24 15:26:40 +03:00
Rui Pinheiro
f3029b2b42
Change Cell->RSX map/unmap notifications
...
This allows for further flexibility on the RSX side, allowing us to fix
some bugs and crashes in later commits.
2018-09-24 15:26:40 +03:00
eladash
06572c6011
rsx: Fix vertex count if all the streams are disabled
2018-09-24 13:25:05 +03:00
eladash
e0a676a3fe
rsx: Fix vertex arrays fetch with inlined draws
2018-09-24 13:25:05 +03:00
eladash
e8474145a5
rsx: Remove shader address verification
...
this came from a misunderstanding of the register's use
2018-09-24 13:25:05 +03:00
Megamouse
b7e010bbd0
Fix Emu.Restart()
2018-09-23 01:49:58 +01:00
Jan Beich
0da556e1f8
build/cmake: properly disable assert() globally for release builds
...
Assertion failed: (ObjectBufferMap.find(Key) == ObjectBufferMap.end() && "Second attempt to perform debug registration."), function NotifyObjectEmitted, file llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp, line 168.
2018-09-22 10:35:45 +03:00
Jan Beich
efb3b08f87
build/cmake: ADDITIONAL_LIBS satisfy dependency by other libraries
...
/usr/bin/ld: undefined reference to symbol `libiconv_open' (try adding -liconv)
2018-09-22 10:35:45 +03:00
Jan Beich
1c8fc6852a
build/cmake: build everything with -pthread, not just GLEW
...
error: POSIX thread support was disabled in PCH file but is currently enabled
2018-09-22 10:35:45 +03:00
kd-11
dafc914bcc
rsx: temporary hack
...
- Removes all use of valid_count as a metric until the new refactor is merged
2018-09-21 16:32:23 +03:00
kd-11
2b6e6a9ae9
gl: Fix problems with framebuffer reuse
...
- Matching attachments with resource id fails because drivers are reusing
handles!
- Properly sets up stale fbo ref counting and removal
- Properly sets up resource reference test with subsequent removal to
avoid using a broken fbo entry
2018-09-21 16:32:23 +03:00
kd-11
fc486a1bac
rsx: Preserve memory order when doing flush
...
- Orders flushing to preserve memory at all cost
- Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test
2018-09-21 16:32:23 +03:00
kd-11
23dc9d54e3
rsx: Fix flip source selector
2018-09-21 16:32:23 +03:00
kd-11
a21bdb9f45
rsx; blit engine fixes
...
- Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
- Properly detect correct size of newly created blit targets
- Remember to clear any existing views when changing the default component map!
2018-09-21 16:32:23 +03:00
eladash
1a6c819176
cellgcm: Fix SET_REFERENCE initial value
2018-09-20 01:05:40 +03:00
eladash
e6b68b260a
rsx: Improve FIFO mem faults handling
...
increase the delay between faults, reduce log spam by allowing the messages to stack up
2018-09-20 01:05:40 +03:00
eladash
a8ea576b22
rsx/cellgcm: Implemet initialization registers reset
2018-09-20 01:05:40 +03:00
Nekotekina
59090f6d26
VFS: fix /host_root
2018-09-19 14:15:38 +03:00
Nekotekina
dce14a359a
Rename lv2_spu_group::num to max_num
2018-09-19 14:15:15 +03:00
Lassi Hämäläinen
9a457400e7
CMake: Fix Qt resource files not included in build
...
- Move Qt resource initialization to rpcs3_qt target
2018-09-19 01:59:27 +03:00
Lassi Hämäläinen
566c88802e
CMake: LLVM, Pulse, Alsa and libevdev being disabled
...
- These dependencies have #defines which enable code related to them
in rpcs3 and rpcs3_ui targets. They are only used in rpcs3_emu but
HAVE_* defines have to be defined in rpcs3 and rpcs3_ui targets also,
so they have to have PUBLIC visibility so defines carried over
CMake: Fix Alsa and Pulse audios being disabled
- HAVE_PULSE and HAVE_ALSA were not defined in rpcs3 target
Fixup libevdev
2018-09-19 01:59:27 +03:00
kd-11
d6dc1493cb
rsx/overlays: Implement blur, darkening and ability to disable custom background
2018-09-18 16:24:13 +03:00
kd-11
9f61fb5a78
overlays: Allow custom background for message dialog
2018-09-18 16:24:13 +03:00
Lassi Hämäläinen
7aef811ff7
CMake: Refactor CMake build ( #5032 )
...
* CMake: Refactor build to multiple libraries
- Refactor CMake build system by creating separate libraries for
different components
- Create interface libraries for most dependencies and add 3rdparty::*
ALIAS targets for ease of use and use them to try specifying correct
dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
the ZLib in CMake search path
* Add cstring include to Log.cpp
* CMake: Add 3rdparty::glew interface target
* Add Visual Studio CMakeSettings.json to gitignore
* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script
- LLVM is now built under 3rdparty/ directory in the binary directory
* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script
- Script has to be included in rpcs3/CMakeLists.txt because it defines
Qt5::moc target which isn't available in that folder if it is
included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
those properties are not defined for all targets under rpcs3 dir
* CMake: Remove redundant code from rpcs3/CMakeLists.txt
* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check
- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
usage of the LLVM submodule.
- Move option definitions to root CMakeLists
* CMake: Remove separate Emu subtargets
- Based on discussion in pull request #5032 , I decided to combine
subtargets under Emu folder back to a single rpcs3_emu target
* CMake: Remove utilities, loader and crypto targets: merge them to Emu
- Removed separate targets and merged them into rpcs3_emu target as
recommended in pull request (#5032 ) conversations. Separating targets
probably later in a separate pull request
* Fix relative includes in pad_thread.cpp
* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00
eladash
05cd3712a3
spu: Fix MMIO index checking
2018-09-17 17:24:54 +03:00
elad
0d4f0f95cc
rsx: Clamp texture offsets ( #5137 )
...
* rsx: Clamp texture offsets
* rsx: Remove texture location check/hack
2018-09-17 10:55:17 +03:00
Nekotekina
ed8aa774bb
Optimize logging via logs::channel
...
Use constant-initialized severity subobjects instead of temporaries
2018-09-16 00:36:20 +03:00
Nekotekina
b94e98aed5
Rewrite sys_fs_opendir
...
Rewrite lv2_dir object
Support split files and mount points
2018-09-15 17:18:40 +03:00
Nekotekina
c5676e5649
Remove thread_ctrl::atexit
...
It was only a workaround for poor C++11 thread_local support
2018-09-15 17:09:56 +03:00
Nekotekina
f2229a5f53
PPU reservations: ensure aligned atomic ops
...
Store aligned 64 bits to ppu.rdata
Don't save reservation size
2018-09-15 17:09:56 +03:00
Nekotekina
e8b5555630
Rewrite vfs::get and vfs::mount
...
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
kd-11
16dcbe8c74
rsx/vp: Fix ARL opcode properly
...
- NOTE: The address swizzle index is only for use as src. The address registers are only used one channel at a time.
- When the destination of ARL, the encoding is the same as the other temp registers
2018-09-15 11:57:06 +03:00
Megamouse
ed7012c9db
cellKb/Qt: Improve basic keyboard
...
Sadly the shift in Qt is a bit counter productive.
You'll have to hack another key as shift until i figured it out
2018-09-13 22:01:30 +02:00
elad
d24f9194f7
typo fix
...
shader's location is decremented by one to match cellGcm's constants.
2018-09-13 16:49:58 +03:00
eladash
b9ad578b00
rsx: Add a default shader address state
2018-09-13 16:49:58 +03:00
Dzmitry Malyshau
d28c0d16f8
[vk] don't ask for VK_FORMAT_UNDEFINED support
2018-09-13 16:04:50 +03:00
scribam
4cb98014a2
rsx: tiny zcull optimizations
2018-09-13 12:43:40 +03:00
eladash
cd11ae5d8b
ppu: Fix extreme reservation corner case
2018-09-12 23:17:53 +03:00
eladash
efbd77deb4
rsx: dont silently ignore null shader address
2018-09-12 00:40:20 +03:00
Dzmitry Malyshau
7c4693e271
[vk] Throw an exception on using a repder pass that the driver doesn't support
2018-09-11 23:44:56 +03:00
Dzmitry Malyshau
89ddeda24a
[vk] check for attachment format properties before pre-creating render passes
2018-09-11 23:44:56 +03:00
scribam
f294729b28
ppu: improve lvebx/lvehx/lvewx instructions
2018-09-11 21:20:52 +03:00
scribam
3072571a4f
cpu: use correct type when defining llvm value is_int constexpr
2018-09-10 19:59:37 +03:00
scribam
c8c8ce5e9e
rsx: add virtual destructor for default_vertex_cache
2018-09-10 19:59:37 +03:00
kd-11
f413996362
rsx: Minor texture cache fixes
...
- Retag resources reprotected under flush_always rules
- Properly check for blit resource fitting taking into account format
mismatch, pitch mismatch and typeless transfers
2018-09-10 15:43:28 +03:00
Nekotekina
2226125728
atomic_t<>: remove inline assignment
...
Add atomic_op/fetch_op overloads with template argument (may be removed in future)
Remove args... in atomic_op (capturing lambda is preferred)
2018-09-09 12:59:24 +03:00
Nekotekina
3ac1b46df2
Add option "HLE lwmutex"
...
Replaces lwmutex/lwcond implementation with alternative one
2018-09-09 01:02:19 +03:00
Alex James
5237779136
cellCamera: Fix check_dev_num call in cellCameraOpenEx
2018-09-08 20:07:10 +03:00
Nekotekina
fb5cdf9769
atomic_t<>: extend fetch_op to support cancellation
...
Use std::invoke inside atomic_op/fetch_op
Remove op_fetch because it's easily replaced
Add fetch_dec_sat algorithm (conditional decrement)
2018-09-08 00:32:04 +03:00
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
ee96807305
Remove explicit_bool_t, ignore, multicast<>
...
Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
2018-09-08 00:32:04 +03:00
Nekotekina
99ffc3fca9
Use std::invoke_result_t
...
Also simplify idm code
2018-09-08 00:32:04 +03:00
Nekotekina
d750e955c3
Use std::uncaught_exceptions()
...
Also remove wrong attributes
2018-09-08 00:32:04 +03:00
Dzmitry Malyshau
4e09573937
[vk] Check for BGRA8 linear image to support blitting
2018-09-07 22:02:02 +03:00
Dzmitry Malyshau
b454dde871
[vk] fix cubic view construction
2018-09-07 19:11:34 +01:00
Ofek
d7b0344091
Fix trophy regression
...
Hopefully
Correct status order
2018-09-07 20:04:37 +03:00
Dzmitry Malyshau
27474316fd
Add missing virtual desctructors ( #5094 )
2018-09-07 14:35:40 +03:00
Zion Nimchuk
46812d46ba
better stub sceNpUtilBandwidthTestGetStatus
2018-09-07 12:38:51 +03:00
kd-11
66610a28af
rsx/common: Clean up shared glsl header to minimize string concat operations
2018-09-06 21:11:11 +03:00
kd-11
346b97f871
rsx: Preserve fog coordinate across shader stages
...
- The x value contains the VP output value interpolated across primitive surface
- The y coordinate contains the fog fraction according to the selected fog formula
2018-09-06 21:11:11 +03:00
scribam
343656f66d
cleanup: remove unnecessary return and namespace declaration
2018-09-06 13:15:59 +03:00
scribam
2834c88de7
cleanup: remove intermediate const char* variables
2018-09-06 13:15:59 +03:00
scribam
f83d381e1e
clang-tidy: use nullptr
2018-09-06 13:15:59 +03:00
scribam
c4cff9b543
clang-tidy: remove redundant "apply_swizzle_remap" declaration
2018-09-06 13:15:59 +03:00
scribam
d7bb59cd99
c++17: use std::size
2018-09-06 13:15:59 +03:00
scribam
7724161c14
c++17: use std::clamp
2018-09-06 13:15:59 +03:00
scribam
02ba529eea
sys_usbd: add sys_usbd_event_port_send function
2018-09-05 19:53:09 +03:00
Nekotekina
ca5158a03e
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
...
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina
5e556a87ff
Adjust cellMic log levels
2018-09-03 21:40:36 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
7bccdbf157
Make vm::var unmoveable
...
Fix bugs with discarding vm::make_var result
2018-09-03 21:40:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Nekotekina
69f0ad0d68
Remove ALIGN_32 macro
...
It's never used in expressions like SIZE_32(T) * n, so it doesn't help to fix any warning issued due to truncation.
2018-09-03 21:40:36 +03:00
kd-11
dea5193fd7
rsx: Fix FP temp register count
2018-09-03 21:39:18 +03:00
Rui Pinheiro
1175658bd5
Fix cellMic regression from #4467
...
cellMicEnd would get stuck waiting for the cellMic thread to finish, but
it never does because micInited is still true.
Fixes Resistance: Fall of Mankind getting stuck after the menu
2018-09-03 19:49:41 +02:00
kd-11
2e0ecb556c
rsx: Possible fix for UB data type consistency
2018-09-03 18:24:20 +03:00
kd-11
5a08b690d5
gl: always clean up the heap when using legacy buffers
2018-09-03 18:24:20 +03:00
kd-11
815f4aa63b
vk: Improve logging of device names and driver versions
2018-09-03 18:24:20 +03:00
kd-11
e23435a190
vk: whitespace fix only
2018-09-03 18:24:20 +03:00
kd-11
85d38b5751
d3d12: restore working graphics
2018-09-03 18:24:20 +03:00
kd-11
6399833182
rsx: Fix endianness order when immediate mode register is updated, but used as register lookup
...
- Simplify the code by unifying all the register-backed memory
2018-09-03 18:24:20 +03:00
eladash
9acaee563b
Fix sys_memory_free
2018-09-01 22:44:20 +04:00
scribam
bf89b709cb
Remove useless #include
2018-08-31 20:13:54 +04:00
scribam
c2973d2b82
Update ConfigureCompiler.cmake to check for the same compiler versions as those set in README.md
2018-08-31 20:13:54 +04:00
scribam
7d0e94ab0a
Compilation fixes for optional on osx
2018-08-31 20:13:54 +04:00
scribam
6c62d042c5
3rdparty: remove optional submodule
2018-08-31 20:13:54 +04:00
Lassi Hämäläinen
79cf2832ae
Remove Utilities/variant.hpp and use C++17 variant
...
- Remove also Utilities/variant_visitor.hpp
- Fix variant and variant_visitor usages and #includes
2018-08-31 17:49:59 +04:00
Nekotekina
85fa0942e7
vm: allow 4k-aligned allocations for vm::stack
...
Fix utils::shm::map logic for MapViewOfFileEx
2018-08-30 14:56:45 +03:00
Nekotekina
c49c7de427
sys_fs_stat: support split files
...
Was forgotten after sys_fs_open
2018-08-30 14:56:45 +03:00
Megamouse
f933947a27
keyboard_pad_handler: fix mouse for multimonitor fullscreen
2018-08-30 07:38:11 +02:00
Megamouse
e53ca429a1
Adjust to US keyboard... sigh
2018-08-30 07:38:11 +02:00
Megamouse
1fbd918d59
Qt: implement first Mouse Movement for keyboard pad handler
2018-08-30 07:38:11 +02:00
elad
685eaedbf9
rsx: Fix typos ( #5054 )
2018-08-30 00:47:48 +03:00
Ani
4357892081
Bump CMake Requirement to 3.8.2+
...
With older builds CMake will error out with `CXX_STANDARD is set to invalid value '17'`
CXX_STANDARD 17 was added on CMake 3.8.X as found in the 3.8.2 documentation: https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html
Also removes leftover from old VS2015/2017 mixed instructions, removes "Not GCC 6.1" since we require 7.3+ now and bumps Xcode to 10. Proper MacOS instructions will be added afterwards by someone else.
2018-08-29 22:01:57 +01:00
Ofek
4c1459534d
Trophy fixes
2018-08-29 16:56:17 +03:00
Megamouse
686d3eb1df
cellMsgDialog: improvements
2018-08-29 16:09:00 +03:00
Megamouse
00b31c27a3
cellGame: implement error messages and some stubs
2018-08-29 16:09:00 +03:00
Megamouse
7208aa37cc
cellMsgDialog: introduce open_msg_dialog
2018-08-29 16:09:00 +03:00
Megamouse
d4285fb196
cellGameExec: add param checks
2018-08-29 16:09:00 +03:00
Zion Nimchuk
f9cab3270f
Initial work on cellMic
2018-08-29 15:15:18 +03:00
jmatich
b5dbd44087
Compilation fixes for Mingw64 (MSYS2) ( #4899 )
...
fix compilation on mingw
2018-08-29 14:27:10 +03:00
eladash
37ee0a2f55
Rsx/cellgcm: complete rsx_state::reset()
2018-08-29 13:37:50 +03:00
eladash
fc50e6abcb
Rsx: remove method registers reset
...
cellGcm manually resets registers each flip, tested with cellGcmSetFlip
2018-08-29 13:37:50 +03:00
Dzmitry Malyshau
c452b43ebc
Basic support for Vulkan Portability on OSX
2018-08-28 21:20:11 +03:00
eladash
acf1286b49
Rsx: fix unknown cull faces
2018-08-28 10:47:24 +03:00
eladash
38a72cc6ee
Rsx: fix flip method registers reset
...
driver flip does not reset registers
2018-08-28 10:47:24 +03:00
eladash
e279bdb304
Rsx: add missing default vertex shader attributes registers states
2018-08-28 10:47:24 +03:00
zarroboogs
23f5cee653
Git Revision Fix ( #5043 )
...
* fix shotrened git revision in version string
2018-08-27 22:53:45 +04:00
Nekotekina
7b4f70390d
Don't use decltype(spu_opcode_t::...)
...
Add static constant for this purpose
Try to fix MSVC bug warning C4573
2018-08-25 21:06:24 +03:00
Nekotekina
363811981d
Reintroduce LOG_CHANNEL
...
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Nekotekina
a93a40e8d9
Disable texture_cache::emit_once (MSVC crash)
2018-08-25 01:58:28 +03:00
Nekotekina
1c6c24f8ac
Update GSL and yaml-cpp submodules
2018-08-25 01:15:47 +03:00
Nekotekina
923314aef5
Rewrite texture_cache::emit_once
...
Also trying to workaround MSVC bug
2018-08-25 01:15:47 +03:00
Nekotekina
bb19feca96
Workaround MSVC bug
...
It fails to parse Args... in fmt::get_type_info<>()
2018-08-25 01:15:47 +03:00
Nekotekina
6bbec61856
VS: enable C++17
2018-08-25 01:15:47 +03:00
Zangetsu38
c30a7c0041
Update Project to Visual Studio 2017.
2018-08-25 01:15:47 +03:00
Nekotekina
5afd12e8a4
[CMake] Use C++17
2018-08-24 16:44:19 +03:00
Nekotekina
6cc7d1fb26
Use std::void_t
2018-08-24 16:44:19 +03:00
kd-11
21e1911112
vk: Improve fence wait logic
2018-08-24 14:52:22 +03:00
kd-11
76f102e865
vk: Check for allowed texbuffer range instead of assuming 64M
2018-08-24 14:52:22 +03:00
Mårten Nordheim
b095a0be90
Fix compilation with VS2017
2018-08-24 14:46:33 +04:00
kd-11
f0a91484a0
vk: Implement double-buffered heaps for platforms without universal support for host visibility (APPLE)
2018-08-23 22:54:56 +03:00
kd-11
c6e35706a3
vk: Support sw component swizzle decode because metal sucks
2018-08-23 22:54:56 +03:00
kd-11
f3d3a1a4a5
rsx: Rework section reuse logic
2018-08-22 17:22:54 +03:00
eladash
874d18f761
rsx-debugger: bugfixes and improvements
...
*always translate given address
*add a few missing methods names
*fix branches
2018-08-22 13:19:07 +03:00
eladash
56d553f10d
Rsx: fix cmd jump over put register
2018-08-22 12:20:31 +03:00
eladash
18ec05c070
Fix cellGcmInit
...
add a missing reset
2018-08-22 12:20:31 +03:00
eladash
158019b50f
Rsx: fix translation when address is negative
...
move address shift to where it should be, extend io table to catch all possible values.
2018-08-22 12:20:31 +03:00
Megamouse
d1d1b2effd
Qt: only center basic mouse input on active fullscreens
2018-08-20 20:19:41 +02:00
Ani
6fc869e21b
Revert d1fd4d5000
2018-08-20 00:12:30 +04:00
kd-11
25ec3789fe
rsx: Fix present modes ordering
...
- Newer nvidia drivers are not exposing IMMEDIATE present mode unless you change options in nvidia control panel
This can cause severe performance degradation unless the vsync option is set to "off" in control panel
2018-08-19 15:56:07 +03:00
Nekotekina
386e301ea0
Name missing vm::spu location
2018-08-18 21:38:43 +03:00
Nekotekina
e8d144f399
Improve vm::reader_lock
...
Add upgrade() method
2018-08-18 21:14:52 +03:00
Nekotekina
6ec4a88eb5
Hardcode vm::user64k location
2018-08-18 21:02:16 +03:00
Nekotekina
182c04b59d
Improve vm::unmap
...
Prevent unmapping predefined locations
2018-08-18 21:01:32 +03:00
Megamouse
7cf82d2511
Qt: fix stylesheet warning
2018-08-18 22:00:37 +04:00
kd-11
7915dcb23c
rsx: Do not overflow the program buffer!
...
- Some games overflow the program buffer e.g Resistance games
The observed overflow is one instruction longer, likely an engine bug
with counting instructions
2018-08-18 16:14:30 +03:00
kd-11
dd21e43ed5
rsx: Force disable draw reordering when capturing a frame
2018-08-18 16:14:30 +03:00
kd-11
937f1e8cd0
fix gcc build
2018-08-18 16:14:30 +03:00
kd-11
4b2b662c3a
rsx: Followup to the memory inheritance hierachy patch
...
- Tags framebuffer resources on first use (when on_write is called to verify memory)
- Texture cache now selects the best match and even sorts atlas writes with memory write order to avoid older data showing over newer one
2018-08-18 16:14:30 +03:00
kd-11
ec31157bc7
gl: Avoid unnecessary scissor state change every draw call.
2018-08-18 16:14:30 +03:00
kd-11
8c93db342f
gl: Reuse framebuffer resources
...
- WIP optimizations for GL backend
2018-08-18 16:14:30 +03:00
kd-11
cca488d0cf
rsx: Enable swizzled decode for all formats unless proven otherwise
...
- Some formats are proven to ignore swizzle flag
- DXT compressed textures
- COMPRESSED_BG_GB class textures
- Some applications are using swizzled wide integer formats so those are confirmed to swizzle
2018-08-18 16:14:30 +03:00
kd-11
f8a9b1fa30
[WIP] rsx: Improve memory inheritance hierachy
...
- Cascade memory writes by invalidating 'downstream' subsurfaces
- Fixup; always resolve for overlapping surfaces before sampling (force
atlas gather test)
2018-08-18 16:14:30 +03:00
kd-11
ba5b59dc59
gl: Do not create secondary context if async is disabled
...
- Some third party programs fall apart when multiple contexts are created
2018-08-18 16:14:30 +03:00
kd-11
0f36e87010
zcull: Improve the delay algorithm to be more consistent
...
- Use proper time checking; depending on what is being done one 'tick' can
be almost a millisecond long or several nanoseconds
- Avoid spamming the system timer unless necessary
2018-08-18 16:14:30 +03:00
kd-11
38191c3013
rsx: Avoid acquiring the vm lock; deadlock evasion
...
- A possible deadlock is still present if rsx is trying to get a super_ptr whilst the vm lock holder is in an access violation
This patch makes this scenario very unlikely since each block need only be touched once
2018-08-18 16:14:30 +03:00
kd-11
741ee9ac41
rsx: Allow linear filtering when reading back GPU-resident memory
2018-08-18 16:14:30 +03:00
kd-11
cc7848b3ef
vulkan: Fix blit engine transfer to ARGB8 render target memory
2018-08-18 16:14:30 +03:00
kd-11
e9d6096356
vk: Fixups for type b surfaces
2018-08-18 16:14:30 +03:00
kd-11
373e02e91c
rsx: Timestamp accuracy workaround
2018-08-18 16:14:30 +03:00
kd-11
1200ca8172
rsx: Optimize hash_struct; vk cleanup
2018-08-18 16:14:30 +03:00
kd-11
d0165290b6
rsx: Refactor and fix framebuffer layout checks
...
- Refactors shared code back into rsx core
- Adds extra check to avoid contest confusion
2018-08-18 16:14:30 +03:00
kd-11
0267221586
Minor optimizations and fixes
...
- FIFO: avoid multiline spam
- VK: Fix program setup counter
- FS: Precalculate fragment constants buffer size during analysis step
2018-08-18 16:14:30 +03:00
kd-11
9f0fada17a
ZCULL: lower notice severity to avoid spam
2018-08-18 16:14:30 +03:00
kd-11
8800c10476
zcull synchronization tweaks
...
- Implement forced reading when calling update method to sync partial lists
- Defer conditional render evaluation and use a read barrier to avoid extra work
- Fix HLE gcm library when binding tiles & zcull RAM
2018-08-18 16:14:30 +03:00
kd-11
3b47e43380
rsx: Synchronization rewritten
...
- Do not do a full sync on a texture read barrier
- Avoid calling zcull sync in FIFO spin wait
- Do not flush memory to cache from the renderer side; this method is now obsolete
2018-08-18 16:14:30 +03:00
Rui Pinheiro
23b52e1b1c
Mark unsync textures dirty when deferred flushing
...
invalidate_range_impl_base does not mark all textures that will only be
unprotected as dirty when doing a deferred flush, since that is done by
flush_all.
However, if there are no sections to flush, the deferred flush will
use the same code path as non-deferred flushes for unprotecting textures
and forget to mark them as dirty.
This commit fixes this bug.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
fa6a5761b3
Refactor get_intersecting_set
...
The existing implementation restarts the loop immediately after
finding a range_data instance that updates the trampled_range.
This commit refactors this method to continue the loop with the updated
trampled_range, and then repeat only those range_data instances that
were iterated through before the trampled_range was last updated.
As a result, the number of total iterations required is reduced.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
b534d49e48
Fix off-by-one error in get_intersecting_set
...
When the trampled range changes, get_intersecting_set restarts the
outer loop. However, due to an off-by-one error, it skips the first
cache entry when doing so. This can cause a texture not to be
correctly unlocked, which could lead to issues or even deadlocks.
This commit fixes this off-by-one error.
2018-08-16 15:38:36 +03:00
Rui Pinheiro
f82ce06fdc
Fix typo in buffered_section::overlaps_page
...
If "address" is not page-aligned, the calculated end address for the
corresponding page is incorrect which can lead to false positives,
causing some textures to be re-uploaded unnecessarily.
This commit fixes this typo.
2018-08-16 15:38:36 +03:00
eladash
9d8c9c2460
sys_memory: fix default alignment flag
...
its 1mb
2018-08-16 03:27:11 +04:00
eladash
061c787e56
rsx-capture: unbreak
2018-08-16 03:27:11 +04:00
Nekotekina
6c62f42d8d
Fix include in log_frame.cpp
2018-08-14 23:59:28 +03:00
Nekotekina
5e20d4b481
Fix vm regression from #4975
...
Incorrect vector management
2018-08-14 23:57:20 +03:00
Nekotekina
a3daa99a33
Fixup sys_vm_memory_map
2018-08-14 16:08:45 +03:00
Nekotekina
aa4040bb7b
Implement vm::find_map; improve memory allocation
...
Add vm::user64k and vm::user1m constants
Remove vm::user_space, unreserve it
2018-08-14 15:14:06 +03:00
Nekotekina
9578e1e923
SPU LLVM: lower some log levels
2018-08-14 15:14:06 +03:00
Nekotekina
62f9a2dc4b
sys_fs_open: support split files
2018-08-14 15:14:06 +03:00
Megamouse
57ba9d3939
basic mouse handler: multi monitor adjustments
2018-08-13 22:23:22 +02:00
Megamouse
1a5b950d8b
fix cellMouse lag + fullscreen mouse
2018-08-13 22:23:22 +02:00
Megamouse
aaea9d6946
Add the accurate xfloat option to the CPU tab
2018-08-13 20:44:08 +04:00
eladash
449888b9db
Rsx/vm: fix base addresses
2018-08-13 16:16:34 +03:00
eladash
f349695a75
Rsx: rewrite address translation
2018-08-13 16:16:34 +03:00
eladash
9e380a4a4a
Rsx: avoid invalid cmds execution
2018-08-12 23:37:24 +03:00
eladash
c80eb1ba02
Rsx: fix CALL and RET cmd
2018-08-12 23:37:24 +03:00
Nekotekina
801089cf44
PPU LLVM: always link syscall_## functions
...
Regardless of whether they have name or not
Should fix "Linkage failed" errors introduced after #4886
2018-08-12 15:42:47 +03:00
Nekotekina
359bfa88b7
Update supporters
2018-08-12 15:42:47 +03:00
Nekotekina
fdd4f03b93
SPU LLVM: improve xfloat precision
...
Use doubles for intermediate representation
Add option "Accurate xfloat" to enable
2018-08-12 15:42:47 +03:00
Nekotekina
d1fd4d5000
PPU: don't use transactions (test)
2018-08-12 02:42:32 +03:00
Nekotekina
14e6577700
SPU LLVM: improve debugging RPCS3
...
Build cache in reverse order
Catch exceptions in instruction loop: print IR
2018-08-12 02:42:32 +03:00
Nekotekina
711e0f75ee
SPU LLVM: inline WRCH (preview)
...
With lööps for TSX bróþers
2018-08-12 02:42:32 +03:00
Nekotekina
d01bf3bcb0
SPU LLVM: rewrite CGX
2018-08-12 02:42:32 +03:00
Nekotekina
d3ad44aec4
SPU LLVM: improve constant propagation
...
Propagate constants in non-volatile registers between chunks
Disable function table in Mega mode
2018-08-12 02:42:32 +03:00
Nekotekina
a424fcfcf7
PPU LLVM: fix phenoms
2018-08-12 02:42:32 +03:00
Chris Weermann (TGE)
fdcc5adc8d
Fix overflow in PPUThread stack frame dump
2018-08-11 20:56:19 +04:00
eladash
745ed8331c
Fix sys_rsx_context_iounmap args
2018-08-11 18:14:35 +04:00
Maxetto
05c1f192f5
Update new LV2 names ( #4886 )
2018-08-11 16:46:44 +04:00
VelocityRa
1625f4bcc9
cellCamera: Fixes
...
- Fix regression from #4676
- Refactoring of event queue management stuff
- Some accuracy fixes
2018-08-07 02:54:14 +02:00
Megamouse
69af607491
cellCamera: improvements
2018-08-02 00:24:06 +02:00
Megamouse
456aa4ab8d
cellMusic: improvements
2018-08-02 00:24:06 +02:00
Megamouse
f8c8a3a26c
cellPad: improvements
2018-08-02 00:24:06 +02:00
Megamouse
27820f0371
cellMouse: improvements
2018-08-02 00:24:06 +02:00
Megamouse
bff038f554
cellKb: improvements
2018-08-02 00:24:06 +02:00
Megamouse
6629983ca7
Fix alignment in KeyboardHandler.h
2018-08-02 00:24:06 +02:00
Megamouse
56a9966d69
VS: move keyboard_pad_handler to a better filter
2018-08-02 00:24:06 +02:00
Megamouse
8cb749110f
RSX Overlay: fix set text
2018-07-30 20:58:41 +02:00
Megamouse
4f8b131e64
Qt/Emu: Fix RSX capture boot process
2018-07-29 13:31:09 +02:00
Megamouse
52e1a06f8c
Qt: fix trophy table row selection
2018-07-29 13:31:09 +02:00
Megamouse
d057c79733
RSX: use localtime_s instead of localtime
2018-07-28 23:10:45 +02:00
Megamouse
f82739afb0
RSX: Add performance overlay colors to configs
...
use a string hex color code. Allowed string formats are:
#FFFFFF or #FFFFFFFF (or both without #)
2018-07-28 23:10:45 +02:00
Megamouse
2211e95e41
RSX/Qt: add the possibility to center the performance overlay
2018-07-28 23:10:45 +02:00
Megamouse
67aff85e8e
RSX/Qt: Move rrc captures to captures dir
2018-07-28 23:10:45 +02:00
Megamouse
bb8fa28521
RSX: add config settings for shader compilation hint positions
2018-07-28 23:10:45 +02:00
Megamouse
eecb984689
RSX/Qt: add more performance overlay options to the gui
2018-07-28 23:10:45 +02:00
Megamouse
451d64407b
Qt: fix gui settings options
2018-07-28 23:10:45 +02:00
Megamouse
f8d396ac9e
change rsx_capture filename
2018-07-28 23:10:45 +02:00
Megamouse
7788007cbd
Qt: implement tty auto scroll
2018-07-28 23:10:45 +02:00
Megamouse
ab84a67511
Loader: handle fs::file is Null fatal after decrypt self
2018-07-28 23:10:45 +02:00
Megamouse
3ed98be6cd
Qt: format category maps. they were ugly af
2018-07-28 23:10:45 +02:00
Megamouse
50dd704f2b
Qt: implement EnhanceSpinBox and EnhanceDoubleSpinBox
2018-07-28 23:10:45 +02:00
Megamouse
525c257c6a
Qt: handle invalid entries in config files
...
and improve error handling in enhancements
2018-07-28 23:10:45 +02:00
Megamouse
b0f464d110
Qt: fix initial deadzone label sizes
2018-07-27 19:56:56 +02:00
Megamouse
01d8c3f616
Qt: fix pad settings keyboard input
2018-07-27 19:56:56 +02:00
Megamouse
e29ea61f7c
Qt: fix user manager localusername and add textvalue to the inputdialog
2018-07-27 07:41:05 +02:00
Megamouse
f84883223b
Qt: add some hotkeys to some user account interactions
2018-07-27 07:41:05 +02:00
Megamouse
c39bd490ba
Qt: fix user manager directory scan
2018-07-27 07:41:05 +02:00
Megamouse
2f6957c9c8
Qt: minor user manager style changes
2018-07-27 07:41:05 +02:00
Megamouse
847da3951c
Qt: fix user manager button behaviour
2018-07-27 07:41:05 +02:00
Megamouse
b0b4998050
Qt: only ignore highlights on specified tables
2018-07-27 07:41:05 +02:00
Megamouse
f6a3659a14
user_manager: megamouse fixes 4
2018-07-26 03:16:51 +04:00
Megamouse
e58b7cbe1f
user_manager: megamouse fixes 3
2018-07-26 03:16:51 +04:00
mpm11011
9ca8ec8ec7
user-manager: m_trophy_dir changed to lowercase.
2018-07-26 03:16:51 +04:00
Megamouse
622c8c2788
user_manager: megamouse fixes 2
...
(cherry picked from commit 89c7740df1b40095bfa715ff863056d5797b9f89)
2018-07-26 03:16:51 +04:00
Megamouse
eef900ef41
user-manager: megamouse fixes
...
(cherry picked from commit 949807c1cc689e12e5f0cea367564306ea36a759)
2018-07-26 03:16:51 +04:00
mpm11011
68202eb2b7
user-manager: replacing fmt::format with string concat.
...
(cherry picked from commit 63379afc7a402edb2159912318281febc3e7438a)
2018-07-26 03:16:51 +04:00
mpm11011
948bd3673e
user-manager: squash all commits for this feature.
2018-07-26 03:16:51 +04:00
scribam
c5c0f68b3e
ppu-precise: improve vaddsws and vadduws instructions
2018-07-22 19:53:28 +04:00
kd-11
19d808d378
rsx/gl: Minor cleanup and optimization
...
- Track register change status
- Remove unused gl classes
2018-07-22 17:19:59 +03:00
kd-11
8695f95267
rsx: Reimplement cached textures and their views
2018-07-22 17:19:59 +03:00
Megamouse
8b693ed7bb
MMJOYSTICK: fix nullpointer crash in GetMMJOYDevice
2018-07-22 12:50:52 +02:00
Megamouse
d13e71eeb8
Qt: merge pad settings
2018-07-22 12:50:52 +02:00
Megamouse
52bfe6d4fb
Qt: remove obsolete and useless menu entry: "Show Game Tool Bar"
2018-07-22 12:50:52 +02:00
eladash
12b8908a00
cellvdec: stub unsupported video timebases
2018-07-21 15:32:38 +04:00
Nekotekina
89fe3705a4
Remove cpu_translator::ucarry<>
2018-07-21 12:18:07 +03:00
Nekotekina
9b4e63df6d
SPU LLVM: simplify CG, CGX, BG, BGX
2018-07-21 12:18:07 +03:00
Nekotekina
03e6725fcf
PPU LLVM: simplify VMSUMUHS
2018-07-21 12:18:07 +03:00
Nekotekina
d2d07abcc5
cellSaveData: print SECUREFILE secureId
...
This can help to decrypt savedata
2018-07-21 12:18:07 +03:00
John
6caffd0e32
Add a channel map to the PA backend to fix surround sound ( #4911 )
...
* Add a channel map to the PA backend to prevent issues with more than 6 channels
* Arranged the mapping per cellAudio.cpp
2018-07-21 03:02:07 +04:00
scribam
5828367013
spu-precise: fix double-precision floating-point exception checks
2018-07-20 15:22:14 +04:00
Megamouse
8bfe4c908c
Qt: Add rrc capture replay per drag and drop
2018-07-19 22:37:27 +04:00
Megamouse
60a276e9ce
Qt: allow bulk pkg installation
2018-07-19 22:37:27 +04:00
Megamouse
05c5763492
Fix Async Shader Tooltip
2018-07-19 22:37:27 +04:00
eladash
20e9ae069c
Fix sys_time_get_current_time
2018-07-19 14:43:10 +04:00
Alex James
064d0619e8
VS: Fix QT deploy for paths with spaces
2018-07-18 15:32:01 +04:00
Megamouse
a19113025c
HLE/Qt: implement sys_tty_read
2018-07-16 00:05:30 +04:00
Megamouse
de693b0da1
Qt: handle upstream trolling
2018-07-15 20:29:14 +04:00
scribam
65d270e5d8
clang-tidy: performance-faster-string-find
...
https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html
2018-07-15 12:51:09 +04:00
scribam
e18e6576f3
cmake: remove duplicated directive used to include cmake_modules
2018-07-15 12:51:09 +04:00
scribam
b36d0fd59f
clang: fix compilation on 3.6
2018-07-15 12:51:09 +04:00
kd-11
c35d0d16e7
vk: cleanup/optimization, remove unnecessary initialization code
2018-07-14 15:19:56 +03:00
kd-11
77e2af8c00
qt: Add async shaders toggle to the UI
2018-07-14 15:19:56 +03:00
kd-11
e7f30640ef
rsx: Async shader compilation
...
- Defer compilation process to worker threads
- vulkan: Fixup for graphics_pipeline_state.
Never use struct assignment operator on vk** structs due to padding after sType member (4 bytes)
2018-07-14 15:19:56 +03:00
eladash
ac99fd764d
mfc: clamp atomic cmd's addr
2018-07-14 01:40:40 +04:00
kd-11
fa55a8072c
rsx: Improve vertex textures support
...
- Adds proper support for vertex textures, including dimensions other than 2D textures
- Minor analyser fixup, removes spurious 'analyser failed' errors
- Minor optimizations for program state tracking
2018-07-12 18:02:28 +03:00
Ofek
d3596fbc95
Change all hddFreeSizeKB to 40gb-1
2018-07-11 02:16:14 +04:00
eladash
a5d4e58ddd
fix barrier type mfc transfers
2018-07-10 14:54:51 +04:00
Chris Weermann (TGE)
c5dcef52fa
Implement sys_dbg_read_process_memory and sys_dbg_write_process_memory
2018-07-10 01:47:47 +04:00
kd-11
d266a25618
silence some annoying warnings
2018-07-09 13:06:00 +03:00
kd-11
1ddcad4fa4
facepalm
...
- Fix openGL regression
2018-07-09 13:06:00 +03:00
scribam
1fdc070e4e
cmake: remove obsolete command for glslang integration
2018-07-09 03:33:05 +04:00
scribam
1b0f5b1ed9
spu: improve dfnma instruction
2018-07-09 03:33:05 +04:00
scribam
2ed6e51d24
ppu: improve vnmsubfp instruction
2018-07-09 03:33:05 +04:00
scribam
733efc6b0d
ppu: improve fnmsubs instruction
2018-07-09 03:33:05 +04:00
scribam
f1e6532ec0
ppu: improve fnmsub instruction
2018-07-09 03:33:05 +04:00
Megamouse
1c9769670c
Qt: trophy repaint optimizations
2018-07-08 17:43:13 +04:00
Megamouse
0d72889c52
Qt: also repaint trophy game list background colors
...
And refactor a bit
2018-07-08 17:43:13 +04:00
kd-11
f0a9799b4b
rsx/Qt: Fix Qt shader loading dialog crash
2018-07-07 16:20:33 +03:00
kd-11
4d40ed9dbd
rsx: Silence harmless warning
2018-07-07 16:20:33 +03:00
kd-11
d78957d1cf
rsx/vp: CodeGen improvements
...
- Fix double destination writes on conditional write masking
- Fix codegen to simplify simple scalar comparisons vs vector functions
2018-07-07 16:20:33 +03:00
kd-11
2c34195954
rsx/vp: Discard broken vertex programs with no writes to POS register
2018-07-07 16:20:33 +03:00
kd-11
2ca935a26b
vp: Improve vertex program analyser
...
- Adds dead code elimination
- Fix absolute branch target addresses to take base address into account
- Patch branch targets relative to base address to improve hash matching
- Bumps shader cache version
- Enables shader logging option to write out vertex program binary,
helpful when debugging problems.
2018-07-07 16:20:33 +03:00
kd-11
bd915bfebd
rsx: vp decompiler fixes
...
- Fix program abort logic to never abort before resolving later label addresses
Fixes jumping over broken code and jumping over END markers
- TEXTURE_CONTROL2 has indexing range of [0..15] without stride skipping!
This register does not have interleaving with other texture registers
- Track shader address poke as it seems to invalidate programs as well
2018-07-07 16:20:33 +03:00
kd-11
66854b78fa
rsx: Fix nv308a::color
2018-07-07 16:20:33 +03:00
Ofek
dceba8a92b
PPU analyser optimizations
2018-07-07 14:26:56 +04:00
Nekotekina
d856dc89a8
SPU LLVM: combine SELB with comparison instructions
...
Turn bitwise select into a vector select
2018-07-06 02:26:18 +03:00
Nekotekina
2f0dc9bd0f
PPU LLVM: simplify VSUBCUW, VSUBUBS, VSUBUHS, VSUBUWS
2018-07-06 00:33:52 +03:00
Nekotekina
9d9869e803
PPU LLVM: simplify VADDCUW, VADDUBS, VADDUHS, VADDUWS
2018-07-06 00:33:52 +03:00
Nekotekina
caf827344f
SPU LLVM: improve SHL, SHLH, ROTM, ROTHM instructions
...
Avoid zero extension, select undef result to zero
2018-07-06 00:33:52 +03:00
Nekotekina
b9c026d441
SPU LLVM: improve ROTMA and ROTMAH instructions
...
Avoid sign extension, clamp shift amount with min op
2018-07-06 00:33:52 +03:00
Nekotekina
2b9fa7ed23
SPU LLVM: combine SHUFB with CWD-alike instructions
...
Turn SHUFB into a vector insert
2018-07-06 00:33:52 +03:00
Nekotekina
253e8b4466
SPU LLVM: improve SHUFB with constant mask
2018-07-06 00:33:52 +03:00
Nekotekina
622f2f7f66
SPU LLVM: constant computation fixes
...
Fixed instructions:
Gather Bits: GB, GBH, GBB
Form Select Mask: FSM, FSMH, FSMB
2018-07-06 00:33:52 +03:00
Nekotekina
c959ab2698
SPU LLVM: fix constant propagation
...
Compute constant bitcasts
2018-07-06 00:33:52 +03:00
Nekotekina
20900ebea2
SPU: rename block stats
...
Use Block Weight and Retreats
2018-07-06 00:33:52 +03:00
Nekotekina
a0c0d8b993
SPU: simplify unimplemented event check
...
Move checks closer to the actual use
2018-07-06 00:33:52 +03:00
Nekotekina
afd5af04f6
SPU: improve analyser (v5)
...
Fix jumptable analysis
2018-07-06 00:33:52 +03:00
Nekotekina
712632d28a
SPU LLVM: inline RDCH
2018-07-06 00:33:52 +03:00
Nekotekina
c1385558ad
SPU LLVM: inline RCHCNT
2018-07-06 00:33:52 +03:00
Nekotekina
0910acad42
SPU LLVM: clean NOP/LNOP
...
Add volatile to state check and update_pc()
2018-07-06 00:33:52 +03:00
Nekotekina
513bac0304
SPU LLVM: refactor halt instructions
2018-07-06 00:33:52 +03:00
Nekotekina
a0bf103e8b
Implement cpu_translator::pshufb<>()
...
Remove spu_translator::pshufb<>()
Improve PSHUFB emulation (pre-SSSE3)
Emit static shufflevector for the constant mask
PPU: Inline VPERM instruction
2018-07-06 00:33:52 +03:00
Nekotekina
41eab62ed7
Implement spu_iname helper
...
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
e009bbac10
Use LLVM 7 (master)
2018-07-06 00:33:52 +03:00
Nekotekina
1ac203a958
Funny workaround
2018-07-05 22:26:35 +03:00
Nekotekina
c86dc133cf
Rewrite cpu_translator::avg()
2018-07-05 22:26:35 +03:00
Nekotekina
8ad05ce10e
SPU LLVM: fix jt target duplication bug
2018-07-05 22:26:35 +03:00
Nekotekina
a999bccc03
SPU LLVM: use cpu_translator::build<>
2018-07-05 22:26:35 +03:00
Nekotekina
ded9d1ddfd
SPU LLVM: improve function type
...
Use pointers for args
Use noalias attribute
2018-07-05 22:26:35 +03:00
Nekotekina
88d0316aad
Update cpu_translator
...
Add get_const_vector<v128>()
Add make_const_vector<v128>()
Add i2 and i4 types
Add build<>() for vector constants
Fix comparisons, allow EQ/NE for bool/char/i2/i4 types
2018-07-05 22:26:35 +03:00
Megamouse
6a62de6d68
Fix table headers for Qt 5.10 and below
2018-07-05 23:22:33 +04:00
Megamouse
544f8711f0
Qt: improve docks and toolbar flat style
2018-07-05 23:22:33 +04:00
Megamouse
b9c9bb30ba
Qt: fix toolbar element sizes on every toolbar repaint
2018-07-05 23:22:33 +04:00
Megamouse
3a5ce90148
Qt: remove redundant custom toolbar colors.
...
They got too complicated when used with stylesheets. I left the gamelist icon color option since it does in no way interfere with the stylesheets
2018-07-05 23:22:33 +04:00
Megamouse
1270ee4b38
Qt: adjust table headers for Qt 5.11
2018-07-05 23:22:33 +04:00
Megamouse
62cec24235
Qt: update custom ui colors
2018-07-05 23:22:33 +04:00
Megamouse
124122839d
Qt: update stylesheet
2018-07-05 23:22:33 +04:00
Megamouse
20d653b58a
Qt: update table item delegates
2018-07-05 23:22:33 +04:00
Megamouse
ed4caf0fbe
Qt: fix icon repaint inaccuracy
2018-07-05 23:22:33 +04:00
Megamouse
ff9024ae70
Qt: temporary game grid selection color adjustment
2018-07-05 23:22:33 +04:00
Megamouse
01dc09c436
Qt: Use QStyledItemDelegate instead of QItemDelegate
2018-07-05 23:22:33 +04:00
Megamouse
19514128e3
Qt: Fix style sheet edge case
2018-07-05 23:22:33 +04:00
Megamouse
23b10fc16d
Qt: update default stylesheet (WIP)
2018-07-05 23:22:33 +04:00
Megamouse
4bddb6a9e3
Qt: update toolbar icons
2018-07-05 23:22:33 +04:00
Megamouse
cb3933dcab
Qt: toolbar adjustments
2018-07-05 23:22:33 +04:00
eladash
4db79c458d
Fix cellSysCacheMount error checking
2018-07-05 16:36:57 +04:00
eladash
24699f0f96
Fix cellSysCacheClear
2018-07-05 16:36:57 +04:00
eladash
3b64e0fb3f
Fix cache directory
2018-07-05 16:36:57 +04:00
Megamouse
cd59bc3d6d
bump appveyor Qt version to 5.11
2018-07-03 22:09:44 +01:00
isJuhn
3d8223fccc
Fix LLVM STW reservation update
2018-07-02 15:19:50 +04:00
Ofek
5d3b0e7352
Fix cellGameDataCheckCreate2 ( #4832 )
...
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Megamouse
ca30131faa
Qt: add new spu options to the settings dialog
...
Also rework the layout a bit.
We need to think about creating a firmware tab
2018-07-01 19:33:33 +04:00
eladash
345f92ab0a
rsx: more efficient command reading
2018-06-27 21:59:34 +03:00
kd-11
42851a93d4
vk: Fixup
2018-06-26 20:07:20 +03:00
kd-11
24f4c92759
rsx: Improve texture cache read speculation
2018-06-26 20:07:20 +03:00
kd-11
c3d75e208f
glslang: Bump to version 2776
2018-06-26 20:07:20 +03:00
kd-11
df2137781d
vk: Strip 'stencil' MSB when writing d24x8 data
...
- Seems to contains garbage in MSB when DEPTH aspect is read back
- TODO: Implement custom depth and stencil readback routine
2018-06-26 20:07:20 +03:00
kd-11
1e375e5210
gl: Fixup
2018-06-26 20:07:20 +03:00
kd-11
1730708f47
rsx: Rework memory protection management for framebuffer access
...
- Avoid re-locking memory if there is no reason to do so (no draws issued)
- Actively bound regions should always get written to the backing cache
- Forcefully read memory during download if writes to the target have occured since last sync event
2018-06-26 20:07:20 +03:00
kd-11
bda65f93a6
vk: Tuning [WIP]
...
- Unroll main compute queue loop
- Do NOT run GPU cores on mappable memory! This has a dreadful impact on performance for obvious reasons
- Enable dynamic SSBO indexing (affects AMD)
- Make loop unrolling and loop length variable depending on hardware and find optimum
2018-06-26 20:07:20 +03:00
kd-11
d484253136
vk: Addendum - Synchronize graphics and compute pipelines with barriers
2018-06-26 20:07:20 +03:00
kd-11
5fb4009a07
vk; Add more compute routines to handle texture format conversions
...
- Implement le D24x8 to le D32 upload routine
- Implement endianness swapping and depth format conversions routines (readback)
2018-06-26 20:07:20 +03:00
kd-11
f45dcfe18a
rsx: Fix texture readback
...
- gl: Fix up the calculation for internal image pitch
- vk: Implement GPU-side resizing for read back textures (fixes WCB zoom)
2018-06-26 20:07:20 +03:00
kd-11
278cb52f19
facepalm
2018-06-26 20:07:20 +03:00
scribam
3b8eab87dd
cmake: add possibility to build zlib from submodule
2018-06-25 00:28:46 +04:00
eladash
b9fd6ad37d
rsx-capture: unbreak
2018-06-24 15:14:37 +03:00
Jake
00c9b323c2
rsx: fix image_in to use in_pitch when swizzling
2018-06-24 14:29:41 +04:00
Jake
e2c288ff8a
trophy: zero out data before setting
2018-06-24 14:29:41 +04:00
Jake
edeb858138
loader: ignore invalid index_value and allow relative reloc 10
2018-06-24 14:29:41 +04:00
Jake
095d02e41b
elf: handle decompress flag for 32 bit elfs
2018-06-24 14:29:41 +04:00
eladash
b3a933ba84
cellgcm: fix regression
2018-06-24 10:57:30 +03:00
eladash
b456955688
rsx: fix hardcoded rsx allocation address
2018-06-24 10:57:30 +03:00
scribam
3935cef691
pugixml: update submodule and build integration
2018-06-24 02:02:36 +04:00
isJuhn
83f096c435
Add conditional reservation update to STW
2018-06-23 23:13:34 +04:00
Nekotekina
6229b3ca8d
Fixes for booting PS1 games
2018-06-23 17:30:16 +03:00
clienthax
8b449ce76c
PS1 Classics
2018-06-23 16:34:19 +04:00
Nekotekina
d62b0c88b0
Restore /dev_flash/ config
2018-06-23 09:26:11 +03:00
Nekotekina
cd92d9bcdf
Fix SPU ASMJIT for SSE2 CPUs
2018-06-23 08:46:50 +03:00
Megamouse
78ef205b4f
Qt: fix minor bug in save_manager that occurred when sorting the tables
2018-06-22 22:30:02 +04:00
Megamouse
4464951c77
cellVdec: add more detail to the logging
2018-06-22 22:30:02 +04:00
Megamouse
64c04769d2
Qt: emu_settings: close config files after loading and saving
2018-06-22 22:30:02 +04:00
Megamouse
dada341d4e
Qt: fix crash in progress dialog
2018-06-22 22:30:02 +04:00
Megamouse
a96a8a9db0
Qt: move ReadJSON in game compat to its own function
2018-06-22 22:30:02 +04:00
Megamouse
dab82b70f7
Qt: workaround for settings_dialog resize
2018-06-22 22:30:02 +04:00
Megamouse
c3916fee9c
Qt: add DeleteSPUCache option
2018-06-22 22:30:02 +04:00
Megamouse
e7a02f1506
Qt: use QDirIterator instead of fs::file stuff
2018-06-22 22:30:02 +04:00
Megamouse
68bb1bd6ee
Qt: add more resize possibilities to the trophy manager
2018-06-22 22:30:02 +04:00
Megamouse
cad017a64f
Qt: minor icon size action fix
2018-06-22 22:30:02 +04:00
Nekotekina
81e5f3b7f2
Remove /dev_flash/ configuration
...
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina
e4da284176
SPU: analyser v4 and fixes
...
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
SPU LLVM: implement function chunk table
New simple memory manager for LLVM (bugfix)
2018-06-21 22:29:34 +03:00
eladash
3e433ef05c
create the shaderlog dir in Emu.Init()
2018-06-21 22:54:08 +04:00
kd-11
8f1c36d79f
rsx: Fix region pitch inaccuracy
...
- Region pitch of 64 (disabled) can be used to indicate packed contents - do not assume it is the actual pitch!
- Also fixes interaction of AA factors with lockable_region size
2018-06-21 13:08:50 +03:00
Jan Beich
c776ff5020
Add missing Discord guard after 27a94308a7
...
/usr/bin/ld: error: undefined symbol: Discord_Initialize
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::initialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
/usr/bin/ld: error: undefined symbol: Discord_Shutdown
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::shutdown())
/usr/bin/ld: error: undefined symbol: Discord_UpdatePresence
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::update_presence(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2018-06-21 01:07:05 +01:00
Megamouse
0ffaf6c1ce
Qt/RSX: reset gs_frame taskbar progr. when closing native progr. dialogs
...
I forgot that the gs_frame's taskbar progress will stay unchanged due to its persistence, unlike the msgdialog.
2018-06-19 21:58:09 +03:00
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
eladash
63fa50080d
sys_spu: dont check prio if spu group type is 0x20
...
it's currently unknown whats the exact relationship between the prio and the group type SYS_SPU_THREAD_GROUP_TYPE_COOPERATE_WITH_SYSTEM (0x20).
tho we do know prio'es whom less than 16 are reserved for the system.
2018-03-24 19:48:14 +04:00
eladash
d27a375363
RawSPU/MFC: fix get start type proxy commands
2018-03-24 19:48:14 +04:00
eladash
fad9cd6ef1
sys_spu: fix spu image loading address calculation
...
by calculating mem_size after nsegs has being calculated
2018-03-24 19:48:14 +04:00
Zeke Sonxx
3066a05df0
sys_crash_dump user_log_area improvements
...
Gets Destiny BLUS31181 to Intro
2018-03-24 17:49:18 +04:00
scribam
50446f7fef
Partial compilation fixes for osx
2018-03-24 11:14:40 +00:00
Kaiwen Xu
32d38a4633
Fix git-version.h not correctly updating.
2018-03-24 00:52:11 +04:00
scribam
1ae724f739
sys_fs: returns the correct error value when the path is 0 or an empty string
2018-03-23 21:45:22 +04:00
Megamouse
50ff987850
stub sceNpScoreWaitAsync and sceNpScorePollAsync
...
and sceNpScoreCreateTransactionCtx
2018-03-23 20:46:24 +04:00
pauls-gh
44cddda4b4
Fix VTC source index increment
2018-03-23 12:01:30 +03:00
pauls-gh
d79a544320
VTC tiling - fix source offset increment.
2018-03-23 12:01:30 +03:00
pauls-gh
e5b4710471
Add end condition for VTC copy. This handles the case when depth is not a multiple of 4.
2018-03-23 12:01:30 +03:00
pauls-gh
e6010ba2ca
Fix code formatting
2018-03-23 12:01:30 +03:00
pauls-gh
fd8d2ecbf4
Remove Volume Texture Compression (VTC) tiling for Vulkan, DX12 and ATI (OpenGL).
2018-03-23 12:01:30 +03:00
Nekotekina
78cfba158d
Use lowercase for FNIDs for consistency
2018-03-22 23:24:58 +03:00
Nekotekina
2c6c8f1a25
Implement patch support for PRX
...
Store SHA-1 hash in ppu_module
2018-03-22 23:24:58 +03:00
Nekotekina
19944eeed0
Implement SPRX precompilation
...
Automatically precompile firmware modules
Add "Create LLVM Cache" menu (for games)
Reimplement jit_compiler::cpu as static method
2018-03-22 23:24:58 +03:00
Megamouse
9d961f620b
rsx/Qt: add option to disable the shader compilation hint
2018-03-22 16:33:37 +04:00
Megamouse
9fcba58537
Qt: sort the game list case insensitive initially
2018-03-22 16:33:37 +04:00
Megamouse
9f1fe5775e
Qt: use QString::simplified() instead of get_single_line
...
hopefully this works
2018-03-22 16:33:37 +04:00
Megamouse
baea538c32
Qt: clean up gui_settings.h - move general functions to qt_utils.h
2018-03-22 16:33:37 +04:00
Megamouse
c10e195dba
Qt: move compat_status to game_compatibility.h
2018-03-22 16:33:37 +04:00
Megamouse
5492e0eae1
Qt: enable hiding on game list and optimize the game list filter
2018-03-22 16:33:37 +04:00
Megamouse
17d2124a71
visual studio: add filters for some module headers
2018-03-22 16:33:37 +04:00
scribam
af89b62194
Check if the compiler supports "-march=native"
2018-03-21 14:11:05 +03:00
scribam
526228442b
Use "USE_NATIVE_INSTRUCTIONS" variable instead of a specific "TRAVIS" variable
2018-03-21 14:11:05 +03:00
GeniusMage
4e2a8a3cdb
Teepo fix
...
2D isn't always > 3D
2018-03-21 13:40:34 +03:00
eladash
252ddf8085
set logging stack mode to true by default
2018-03-20 02:49:53 +04:00
eladash
fc3698f831
qt: make description of disabled AF setting a bit clearer
2018-03-20 02:49:53 +04:00
eladash
3426531e38
qt/spu: remove max dma write size setting
...
This wasn't really used for anything tbh
2018-03-20 02:49:53 +04:00
kd-11
92fb828d52
gl: Compat support for mesa drivers Needs CLIENT_STORAGE bit set for persistent buffers to make them useful
2018-03-20 00:11:41 +03:00
kd-11
d13584f858
rsx: fixups
...
gl/vk: Bump shader cache version
gl/vk: Disable anisotropic override when strict mode enabled as it is proven to alter some games negatively
gl: Clamp buffer view range to not exceed the backing buffer size. Also add assert for the same condition
2018-03-19 12:13:34 +03:00
scribam
b232409cc5
Add return codes when camera handler is set to null
2018-03-16 18:16:49 +00:00
scribam
da635af0d6
Make cellCameraInit returns CELL_OK when no camera is plugged in.
2018-03-16 18:16:49 +00:00
kd-11
5f047034ae
rsx: Disable async count verification to avoid lockup due to zombie reports in ZCULL
2018-03-13 18:55:03 +03:00
kd-11
ffe6c9ba5a
fix linux builds
2018-03-13 18:55:03 +03:00
kd-11
910fc54ee2
vk: Implement reading from cell if swap image isn't found
2018-03-13 18:55:03 +03:00
kd-11
f00d9a7c7f
rssx" Halfplement alpha-to-coverage AA transparency
2018-03-13 18:55:03 +03:00
kd-11
2dce55d036
rsx: ZCULL synchronization fixes
...
- Track asynchronous operations in RSX core
- Add read barriers to force pending writes to finish.
Fixes zcull delay flicker in all UE3 titles without forcing hard stall
- Increase zcull latency as all writes should be synchronized now
2018-03-13 18:55:03 +03:00
kd-11
315798b1f4
rsx: ZCULL rewrite and other improvements
...
- ZCULL unit emulation rewritten
- ZCULL reports are now deferred avoiding pipeline stalls
- Minor optimizations; replaced std::mutex with shared_mutex where contention is rare
- Silence unnecessary error message
- Small improvement to out of memory handling for vulkan and slightly bump vertex buffer heap
2018-03-13 18:55:03 +03:00
kd-11
dece1e01f4
rsx: Improve transform constants management
...
- Removes the duplicate local_transform_constants
- Resets the transform constants on every context reset
- Simplifies the code abit which should make it faster
- NOTE: Transform constants are persistent across context re-init events (VF5)
2018-03-13 18:55:03 +03:00
kd-11
a19ffba8e8
rsx: Simplify MRT blend setup; Enable separable MRT blend on vulkan and fix corner cases for GL
2018-03-13 18:55:03 +03:00
kd-11
e230867492
rsx: Properly implement raster window offsets
2018-03-13 18:55:03 +03:00
kd-11
0c8e4c0887
rsx: Improve FIFO commandlist flattening
...
- TODO: Alot of work is still needed to execute draw commands out of order
Thats the only solution to games sending many draw calls with high frequency of state changes
2018-03-13 18:55:03 +03:00
kd-11
84b8a08d26
rsx: Basic performance counters
2018-03-13 18:55:03 +03:00
kd-11
2855869530
vulkan: Support APPLE
...
- Adds support for compilation on MAC with moltenVK. Note that vulkan does
not work on MacOS yet. There are two main blockers:-
1) Texture component swizzles are not supported except for
RGBA8_UNORM->BGRA8_UNORM.
2) There is a bug in their SPIR-V -> MSL generator.
GLSL.std.450.xxxx functions are not implemented which breaks rpcs3
functionality. Trying to compile a vertex shader will throw because
unpackHalf2x16 is missing.
2018-03-13 18:55:03 +03:00
kd-11
d41b49d8b4
rsx/fp: Color output registers are always present and zero initialized
...
- According to NV_fragment_program spec, registers are zero initialized always
- A program even without writing to these registers will have black (0, 0, 0, 0) output
Confirmed behaviour with MotorStorm games. Their engine uses this quirk to clear color buffers when doing depth replace
Might be an unfixed game bug
2018-03-13 18:55:03 +03:00
kd-11
4804efc17d
rsx: Clear up confusion on depth writes.
...
According to the NV_fragment_program spec, its not feasible to have 16-bit depth wries
NOTE: NV_fragement_program precedes NV_fragment_program2 which is very
close to what RSX consumes. It is hardware from that era afterall
2018-03-13 18:55:03 +03:00
kd-11
053ab585f4
gl/vk: Clean up some format casts
...
- TODO: Byte ordering considerations on data casts
2018-03-13 18:55:03 +03:00
kd-11
20d4c09a1c
rsx/vk/gl: Enforce format matching for render target resources. Fall back to raw data copy if match fails
...
- Forces Bitcast of texture data if input format cannot possibly be the
same as the existing texture format
- rsx: Other minor improvements to texture cache :-
- remove obsolete blit engine incompatibility warning. The texture will be re-uploaded if it is indeed incompatible
- Implement warn_once and err_once to avoid spamming the log with systemic errors
- Track mispredicted flushes
- Reswizzle bitcasted texture data to native layout
TODO: Also needs reshuffle according to input remap vector
2018-03-13 18:55:03 +03:00
kd-11
68b3229756
rsx/fp: Improve rgister component gather detection
...
- Also avoids clobbering register data by keeping gathered bits in a temp var
2018-03-13 18:55:03 +03:00
kd-11
87741141f1
rsx/vulkan: Add post-compilation key validation and dynamically determine attachment write maks based on decompiled shader
...
- A new step is added between decompilation and pipeline object creation allowing for properties to be updated based on shader contents
- Allos masking off attachment writes that are unmodified in the shader
2018-03-13 18:55:03 +03:00
kd-11
705820c430
rsx: Nvidia driver compatibility workarounds
...
- Sanitize NaN values before they reach the driver. On nvidia (X * NaN = X)
2018-03-13 18:55:03 +03:00
kd-11
6b23e733d0
rsx/gl/vk: Improvements
...
- gl: Do not call makeCurrent every flip - it is already called in set_current()
- gl: Improve ring buffer behaviour; use sliding window to view buffers larger than maximum viewable hardware range
NV hardware can only view 128M at a time
- gl/vk: Bump transform constant heap size When lots of draw calls are issued, the heap is exhaused very fast (8k per draw)
- gl: Remove CLIENT_STORAGE_BIT from ring buffers. Performance is marginally better without this flag (at least on windows)
2018-03-13 18:55:03 +03:00
kd-11
07cbf3da48
rsx/gl: Minor fixes
...
- Identify depth textures reaching the gpu via shader_read upload path
- Use correct timestamp counter for opengl
- inline draw_state::test_property because msvc doesnt do it for us
2018-03-13 18:55:03 +03:00
kd-11
af1b13550b
rsx/vk: More optimizations
...
- Do not bother rechecking the dirty sampler pool for hits. Its faster to create new sampler than to search the pool
- Reserve some memory on vertex layout struct to reduce reallocation penalty
2018-03-13 18:55:03 +03:00
kd-11
8ccaabb502
vulkan: Optimize vertex data upload
...
- Reuse buffer views as much as possible, vkCreateBufferView is slow on NV
Implemented as a large sliding window, reuseable until it is filled
2018-03-13 18:55:03 +03:00
kd-11
01349b8cee
rsx: Texture cache fixes - Optionally attempt to merge framebuffers into an atlas if partial resources are missing - Support for data update requests to the temporary subresource handler This is useful for framebuffer feedback loops where a new copy is needed after every draw call (resource is always dirty)
2018-03-13 18:55:03 +03:00
kd-11
4487cc8e7a
Remove an ugly hack pertaining to partial framebuffer-resident texture data - Its better to fill in the missing information with a wrap or clamp than to fake the texture reads in valid regions - Texture coordinate scaling is used to fill in for the cropped dimension available
2018-03-13 18:55:03 +03:00
TGEnigma
cb9e6e75db
Debugger improvements ( #4026 )
...
* Improve debugger
* Added 'Step Over' functionality
* Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
* Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
* Requires QtScript to be linked with the project
* Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
* Shown addresses now appear 'selected'
* New keyboard shortcuts!
- Ctrl+G -> Go to address
- F10 -> Step Over
- F11 -> Step (Into)
2018-03-13 16:23:12 +04:00
Nekotekina
817dfe8651
cellGameContentPermit workaround
2018-03-12 19:16:52 +03:00
Nekotekina
ba54f7ae39
Improve cellGameCreateGameData error checks
2018-03-12 18:53:57 +03:00
Nekotekina
f328cdbaef
Fix cellGame regression
2018-03-12 11:40:12 +03:00
Nekotekina
4b1c052030
Fix crash on exit after access violation
2018-03-11 19:33:02 +03:00
Nekotekina
c0a0cb98c5
Fix argv for DG category
2018-03-11 19:33:01 +03:00
Nekotekina
4fd69a09c7
Fix cellGameDataCheckCreate2
2018-03-11 19:33:01 +03:00
Nekotekina
eea2c20420
Improve vfs::mount
...
Mount /dev_bdvd/PS3_GAME if necessary
2018-03-11 19:33:01 +03:00
Nekotekina
f4d2fccdfe
Improve boot dir access
...
Add Emu.GetDir() method
2018-03-11 19:33:01 +03:00
Nekotekina
c8a6bc6e24
Relax /dev_bdvd mounting requirements
...
Allow some PSN games with DG category to boot
2018-03-11 19:33:01 +03:00
Jake
7bbadfd08b
ppu/sys_interrupt: add stack_reset command to fix sys_interrupt stack overflowing
2018-03-09 20:30:59 +04:00
Jake
3a9428a88e
rsx: Fix alpha test on VK/GL
...
Moving alpha test outside of fp_main. This enforces alpha test is still done even if shader asm has early return
2018-03-09 18:06:20 +03:00
Jake
7233640cf0
rsx: add vertex data base to offset and mask before translating address
2018-03-07 16:57:20 +03:00
Talkashie
d4e88aa11c
gui: Fix typos and clean up Engrish ( #4250 )
2018-03-05 18:28:10 +00:00
Jake
ec0cd9f006
cellGame: Fix cellDiscGameGetBootDiscInfo return values ( #4241 )
2018-03-03 03:11:25 +04:00
Megamouse
8db7ef4d5a
Qt: enable background images for floating dock widgets
2018-03-02 21:50:48 +04:00
Nick Renieris
504e3112dd
[HLE] First steps to Playstation Move ( #4083 )
...
* [sysutil] Add Magnetometer system param
* [ui] Add UI for Move handler
Current options are "Null" and "Fake".
* cellGem: Improvements
* cellCamera: Improvements
2018-03-02 20:51:21 +04:00
Nekotekina
f96e9b6ed7
Fix boot game crash
2018-03-01 16:28:08 +03:00
Nekotekina
f056b2f4ab
Improve TTY output
...
Use atomic variable to sync TTY size
Implement console_putc (liblv2)
Write plaintext instead of HTML
Slightly improve performance
Fix random line breaks in TTY
2018-03-01 16:28:08 +03:00
Nekotekina
445b7c0758
Optimize SPU interpreter
...
Made SPU decoder similar to PPU decoder
2018-03-01 16:13:35 +03:00
Nekotekina
53f8b03acc
CPUTranslator: implement ICmp ops
...
Added operators ==, !=, >, <, >=, <=
2018-03-01 16:13:35 +03:00