Commit graph

88 commits

Author SHA1 Message Date
nastys
08333e0876
macOS moltenVK support and SIGBUS handling (#11252) 2021-12-12 21:35:56 +01:00
DH
49c02854f5 [rsx] reduce size of config structs 2021-12-02 21:36:57 +03:00
AniLeo
1df8f52a9f vk: Remove lavapipe workaround
Current lavapipe version now has support for 
shaderStorageBufferArrayDynamicIndexing
2021-11-23 22:48:46 +01:00
Megamouse
0f7534c755 VK: fix NVIDIA driverVersion check 2021-11-16 09:31:16 +01:00
kd-11
f90bf2dd40 vk: Use a dynamic number of descriptor allocations 2021-09-29 01:20:32 +03:00
kd-11
dc8fc9fc79 vk: Clean up around vkQueueSubmit handling
- Explicitly declare one version for CB flush and the other for Async flush
- Always flush descriptors on CB flush in case of page fault handling.
  Other threads other than offloader can also enter the method and require normal flow.
- Fix overlapping interrupt IDs.
- Minor formatting fixes
2021-09-28 23:18:26 +03:00
kd-11
3d49976b3c vk: Add deregister event for sets
- Unused in practice, but this is more for peace of mind.
2021-09-28 17:43:15 +03:00
kd-11
eed38e1bbc vk: Make the new descriptor system spec compliant 2021-09-28 17:43:15 +03:00
kd-11
9595297a3a Whitespace fix 2021-09-28 17:43:15 +03:00
kd-11
7c5b5d25e3 vk: Implement descriptor allocation batching 2021-09-28 17:43:15 +03:00
kd-11
ba2a8ebf2e vk: Enable deferred descriptor updates via descriptor-indexing 2021-09-28 17:43:15 +03:00
kd-11
381c7544fa Optimize basic descriptor batching 2021-09-28 17:43:15 +03:00
kd-11
4752c4014b vk: Implement basic descriptor updates batching 2021-09-28 17:43:15 +03:00
kd-11
24642a4c18 vk: Refactor descriptors a bit 2021-09-28 17:43:15 +03:00
kd-11
62979c7bd9 vk: Enable descriptor indexing extension if supported 2021-09-28 17:43:15 +03:00
kd-11
e4aff539b0 vk: Fix scanning for upload heap types.
- HOST_CACHED support must be prioritized, but is not a mandate.
- Scan for that flag explicitly and fall back to uncached if it is not supported.
- Uncached memory is too slow for our requirements to contend with cached memory.
2021-09-23 01:45:37 +03:00
kd-11
334999f639 vk: Enable sampler mirror-clamped-to-edge as an extension 2021-09-21 19:53:46 +03:00
kd-11
0a8d9a12ab vk: Rewrite memory initialization 2021-09-21 19:53:46 +03:00
kd-11
19b2da2590 Enable stencil export extension when required 2021-09-21 19:53:46 +03:00
xddxd
d511e76a63 Enable the precise occlusion query feature 2021-09-16 14:09:21 +03:00
kd-11
9080d09583 vk: Add support for other formats as FSR output 2021-08-23 09:34:56 +03:00
kd-11
afc71341a5 vk: Add RADV to list of drivers with unreliable 'OUT_OF_DATE' notification when window size changes 2021-08-23 09:34:56 +03:00
Ani
1cdb2c6a26
vk: Register newer Navi GPUs (#10740) 2021-08-22 13:18:38 +01:00
kd-11
8848dc6673 vk: Improve driver compatibility
- Add workarounds to disable compression on mesa drivers
- Separate intel proprietary vs mesa into two enumerants
2021-08-17 20:19:45 +03:00
kd-11
b928cb0223 vk: Fix unused variable error 2021-08-13 22:46:36 +03:00
kd-11
4b2562d02a vk: Silence maybe-uninitialized warnings 2021-08-13 22:46:36 +03:00
kd-11
9a63ed6c50 vk: Unbind global renderer if it is destroyed 2021-08-06 17:18:48 +03:00
kd-11
6f6eda6413 vk/device: Formatting fixes only (EOL) 2021-08-06 17:18:48 +03:00
kd-11
f6e4cc14a2 vk: Fix a few incorrectly calculated scratch buffer sizes 2021-07-30 12:43:21 +03:00
kd-11
e5029c532b vk: Fix comparison between composite memory types 2021-07-27 10:52:21 +03:00
kd-11
a4cd9e022a vk: Force explicit minimum size declaration for scratch buffers 2021-07-27 10:52:21 +03:00
kd-11
99bbcd15e1 vk: Fix undefined format class for typeless helpers 2021-07-27 10:52:21 +03:00
kd-11
9d11c8cbb5 vk: Allow creating temporary subresources to fail if we run out of memory. 2021-07-27 10:52:21 +03:00
kd-11
13abe785a9 vk: Try to spread memory usage evenly across compatible types if possible
- Avoids running into budget constraints if you just dump everything into one heap
2021-07-27 10:52:21 +03:00
kd-11
69bdbe97a8 vk: Make use of multi-pool memory types 2021-07-25 20:55:09 +03:00
kd-11
de7ed1cbe9 vk: Scrap minimum scratch buffer size and just allocate what is requested. 2021-07-25 20:55:09 +03:00
kd-11
59e7379010 vk: Implement heap aggregation
- Aggregate heaps of same type under one object and allow allocator to try each matching type.
2021-07-25 20:55:09 +03:00
kd-11
aaac4c1bde Clang workaround for c++20 non-compliance 2021-07-15 18:05:35 +03:00
kd-11
369f1132f3 Formatting fixes
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11
342b25d00e vk: Expose memory heap sizes to the runtime.
- This will help to make decisions regarding VRAM utilization instead of relying on budget blindly
2021-07-15 18:05:35 +03:00
kd-11
88abf3a6ba vk: Introduce the concept of VRAM allocation pools
- Each buffer or image has to declare which pool it belongs to. This will aid with memory management down the line.
2021-07-15 18:05:35 +03:00
xddxd
b5f1f50a16 Get rid of mobile Kepler class and add some missing GPUs 2021-06-06 08:07:43 +02:00
kd-11
98f534b1bd vk: Rewrite partial clear shader
- Completely removes the feedback loop and replaces with hardware channel masking
2021-06-01 12:54:10 +03:00
kd-11
9199b1b1d8 vk: Improve compatibility with sub-par drivers and hardware
- Adds workarounds for INTEL + MSAA
- Adds support for younger drivers where all features may not be
  implemented.
  Things that won't out-right break the emulation can be
disabled.
2021-05-30 22:35:34 +03:00
kd-11
a736350859 rsx/vk: Use backend configuration to track options that can be modified on a per-device basis 2021-05-25 20:54:17 +03:00
Nekotekina
2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina
04cac6cd33 logs.hpp: refactoring (logs::message)
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
kd-11
a4f4b81e6b vk: Add some more debugging utils for RDC captures
- Labels make life so much easier
2021-05-09 13:07:47 +03:00
kd-11
0b18ec8208 vk: Allow flipping without wait 2021-05-09 13:07:47 +03:00
David Carlier
b09970f159 couple of warning build fixes 2021-05-09 09:25:40 +02:00