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