shinra-electric
cbe1628cf2
remove deprecated VK_MVK_moltenvk and replace with mvk_config.h
...
VK_MVK_moltenvk extension has been removed.
Will try with `mvk_config.h`, but it this doesn't work `mvk_deprecated_api.h` should work instead.
2023-05-25 08:54:44 +02:00
kd-11
976a3ed3bf
Formatting fixes
2023-05-23 14:37:13 +03:00
kd-11
4b9fa7a417
vk: Require customBorderColorWithoutFormat feature
2023-05-23 14:37:13 +03:00
kd-11
6163acc8c5
vk: Add border color extension detection
2023-05-23 14:37:13 +03:00
kd-11
4add5b6bf0
vk: Minor refactoring of optional features
2023-05-23 14:37:13 +03:00
kd-11
e06c6b5ac8
vk: Refactor memory allocators to easily inspect device properties
2023-05-15 12:28:19 +03:00
kd-11
4e6231a321
vk: Implement max VRAM override in config
2023-05-15 12:28:19 +03:00
Megamouse
6555de6ef5
fix warnings
2023-04-21 16:41:06 +02:00
kd-11
47b65868f4
Try even lower
2023-04-12 18:47:14 +03:00
kd-11
8735a06f3c
vk: GTX970 workaround
2023-04-12 18:47:14 +03:00
kd-11
577b5ef2bd
Support compiling with older SDK headers
2022-12-11 15:21:58 +03:00
kd-11
a0ef1a672c
rsx: Implement interpolation using barycentrics
2022-12-11 15:21:58 +03:00
shinra-electric
809e880bd1
[3rdParty] Update MoltenVK to 1.3.236 & set MSL Fastmath to On Demand ( #13035 )
...
* Update MoltenVK to 1.2.236
* Change mvk_config.fastMathEnabled from a bool to Int
fastMathEnabled now has three options:
NEVER = 0
ALWAYS = 1
ON_DEMAND = 2
On demand seems better, since it will use fast math except for shaders that are incompatible.
2022-12-09 20:49:56 +01:00
shinra-electric
edb7991979
Remove MVK Semaphore Support Style options
...
This line is no longer needed as MVK will select the appropriate support style automatically.
See https://github.com/KhronosGroup/MoltenVK/pull/1738
2022-10-25 07:22:44 +02:00
kd-11
102d30db2d
vk: Update support for framebuffer loops to comply with current spec
2022-09-28 12:55:31 +03:00
nastys
acc2fea7e3
Update MoltenVK to 250e1f9 and single queue ( #12620 )
2022-09-20 11:12:27 +03:00
kd-11
71e35c8b4d
vk: Implement support for VK_EXT_attachment_feedback_loop_layout
2022-08-19 14:29:20 +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
nastys
f21b298e5e
Make MSL Fast Math and software vkSemaphore optional
2022-04-24 09:25:13 +02:00
nastys
7801e8368b
Add MoltenVK Semaphore setting
2022-02-20 08:47:16 +01: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
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
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
eed38e1bbc
vk: Make the new descriptor system spec compliant
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
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
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
9a63ed6c50
vk: Unbind global renderer if it is destroyed
2021-08-06 17:18:48 +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
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
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
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
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
1d9dd8d29d
vk: Add support for tagging objects to ease debugging
...
- Makes use of VK_EXT_debug_utils
2021-04-28 16:53:02 +03:00
kd-11
0e7e5b59ae
vk: Handle old GPUs without proper async queues
2021-02-23 23:22:41 +03:00
kd-11
d459da1378
Formatting fixes only
...
- Mostly remove camelcase usage in old code.
- Properly annotate vulkan API imports with _vk prefix to make it clear they are not regular variables.
2021-02-23 23:22:41 +03:00