Commit graph

115 commits

Author SHA1 Message Date
kd-11
d846142f0c vk: Reimplement compliant async texture streaming
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
  The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
  Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
kd-11
bec3e156fb vk: Disable robust buffer access for ANV
- Robust access is nice, but we don't actually need it
2022-07-21 22:29:40 +03:00
Nekotekina
4b787b22c8 Implement FN (lambda shortener)
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
kd-11
7530b3c971 vk: Fix image view search and destroy 2022-06-09 02:13:55 +03:00
kd-11
9c824aa0b5 vk: Enable event scope hack for INTEL proprietary drivers 2022-05-24 20:11:31 +03:00
kd-11
360fdca5ac vk: Avoid multimap when handling image views 2022-05-20 16:29:27 +03:00
Eladash
7329fa9cf5 TRPLoader: Use std::string_view 2022-04-25 20:15:10 +02:00
nastys
f21b298e5e Make MSL Fast Math and software vkSemaphore optional 2022-04-24 09:25:13 +02:00
kd-11
af0e1f609e Fix vulkan compilation warnings 2022-03-23 11:26:06 +03:00
kd-11
bc7ed8eaab rsx/vk: Rework MSAA implementation 2022-03-17 22:02:20 +03:00
kd-11
00a1864a95 Revert "rsx: Downgrade depth-1 3D images to 2D (#11593)"
This reverts commit 6c096b72b5.
2022-03-01 21:51:55 +03:00
kd-11
6c096b72b5
rsx: Downgrade depth-1 3D images to 2D (#11593)
- Fixes problems with implicit view types derived from dimensions.
2022-03-01 10:45:50 +03:00
kd-11
da559b5568 vk/rsx: Tuning and optimization for host labels 2022-02-23 12:57:04 +03:00
kd-11
c7e49b58a8 rsx: Implement host GPU sync labels 2022-02-23 12:57:04 +03:00
kd-11
b791d90b35 vk: Rewrite command buffer chains 2022-02-21 23:58:01 +03:00
nastys
7801e8368b Add MoltenVK Semaphore setting 2022-02-20 08:47:16 +01:00
kd-11
df5295ae85 vk: Per work-queue scratch resources
- Avoids parallel tasks from trampling over each other's data
2022-02-13 14:39:42 +03:00
kd-11
44cc254620 Fix linux build 2022-02-13 14:39:42 +03:00
kd-11
cef512a123 vk: Spec-compliant async compute 2022-02-13 14:39:42 +03:00
kd-11
0e320d17c1 vk: Fix 'grow' behavior when we reach the size limit
- Just swap out the current heap ptr and spawn a fresh one. Chances are, we can spare 1GB of host memory.
2022-01-30 10:56:15 +03:00
kd-11
3a1676e558 vk: Fix float16 requirement issue 2022-01-25 21:34:21 +03:00
kd-11
1fa82eec89 vk: Rework format feature validation
- Requirements have changed a lot over the years. We no longer blit Z formats around for example because they never support linear filtering
- Removing some unused requirements allows more hardware to be usable
2022-01-24 19:14:27 +03:00
nastys
c7140df5f8 Initial support for Apple GPUs 2022-01-22 00:17:17 +01:00
nastys
6b5f0957ce Disable macOS swizzling workaround 2022-01-22 00:17:17 +01:00
kd-11
3942a464fe vk: Avoid leaking descriptor copies 2022-01-20 19:21:24 +03:00
kd-11
2331dc3256 vk: Keep the total number of allocated samplers under control 2022-01-20 19:21:24 +03:00
Nekotekina
580bd2b25e Initial Linux Aarch64 support
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
*   (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
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