Commit graph

548 commits

Author SHA1 Message Date
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
eladash
06572c6011 rsx: Fix vertex count if all the streams are disabled 2018-09-24 13:25:05 +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
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
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
Dzmitry Malyshau
d28c0d16f8 [vk] don't ask for VK_FORMAT_UNDEFINED support 2018-09-13 16:04:50 +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
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
Dzmitry Malyshau
27474316fd Add missing virtual desctructors (#5094) 2018-09-07 14:35:40 +03:00
scribam
343656f66d cleanup: remove unnecessary return and namespace declaration 2018-09-06 13:15:59 +03:00
scribam
d7bb59cd99 c++17: use std::size 2018-09-06 13:15:59 +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
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
scribam
bf89b709cb Remove useless #include 2018-08-31 20:13:54 +04:00
scribam
7d0e94ab0a Compilation fixes for optional on osx 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
Dzmitry Malyshau
c452b43ebc Basic support for Vulkan Portability on OSX 2018-08-28 21:20:11 +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
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
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
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
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
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
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
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
eladash
f349695a75 Rsx: rewrite address translation 2018-08-13 16:16:34 +03: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
kd-11
c35d0d16e7 vk: cleanup/optimization, remove unnecessary initialization code 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
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
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