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
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
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
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
99c1f87289
vk: Fix memory value in comments to match with the code below
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
scribam
d9d7634f8b
vk: remove duplicate condition in pipeline_props struct equal operator
2019-06-01 00:01: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
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
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
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
9abb303569
vm: expand reservation lock bit area to 7 bit
...
This is minor change.
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
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
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