3674 Commits

Author SHA1 Message Date
Bill Hollings
ec7ccbc330 Merge pull request #2553 from billhollings/handle-dvc-wait-q-fail
vkDeviceWaitIdle() & vkQueueWaitIdle() wait even on VK_ERROR_DEVICE_LOST.
2025-05-30 17:30:08 -04:00
Bill Hollings
81b8b60af1 vkDeviceWaitIdle() & vkQueueWaitIdle() wait even on VK_ERROR_DEVICE_LOST. 2025-05-30 09:22:30 -04:00
Bill Hollings
f4fd4e7f48 Merge pull request #2551 from cdavis5e/amd-subgroup-size-2
MVKDevice: Add the AMD Radeon PRO W6800X as a device with 32-wide SIM…
2025-05-29 19:53:41 -04:00
Chip Davis
ff3374515c MVKDevice: Add the AMD Radeon PRO W6800X as a device with 32-wide SIMD-groups. 2025-05-27 23:32:33 -06:00
Bill Hollings
b87c2ecb53 Merge pull request #2550 from billhollings/fix-shader-cache-misses
Fix shader cache misses within pipeline cache.
2025-05-25 22:54:35 -04:00
Bill Hollings
43a4c98ebb Fix shader cache misses within pipeline cache.
- Update Cereal Archive for CompilerMSL::Options to fix cache misses.
- Add validation functions to report if Cereal Archive definitions
  deviate from struct definitions in the future.
- Replace unused variable warning suppression with [[maybe_unused]]
  compilation attribute (unrelated).
2025-05-24 14:40:33 -04:00
Bill Hollings
b3d8fce8dc Merge pull request #2548 from squidbus/spirv-cross-update
Update SPIRV-Cross revision.
2025-05-23 20:49:39 -04:00
squidbus
44a5bf4849 Update SPIRV-Cross revision. 2025-05-22 05:03:41 -07:00
Bill Hollings
3a0b07a24a Merge pull request #2543 from squidbus/fix-present-wait
Fix high latency on present wait.
2025-05-17 08:52:04 +09:00
Bill Hollings
08c0050285 Merge pull request #2538 from billhollings/restore-missing-proc-addrs
Re-expose proc addr for VK_MVK_moltenvk extension functions.
2025-05-16 21:23:15 +09:00
squidbus
77246802be Fix high latency on present wait. 2025-05-16 03:09:19 -07:00
Bill Hollings
bbe107f273 Re-expose proc addr for VK_MVK_moltenvk extension functions.
Several proc addr for VK_MVK_moltenvk extension functions
were erroneously hidden by commit 70db7651.

- Handle the proc addrs for functions vkGetPhysicalDeviceMetalFeaturesMVK()
  and vkSetMoltenVKConfigurationMVK() consistently with all other functions,
  by replacing these functions under the deprecated VK_MVK_moltenvk extension,
  and requiring that extension to be enabled to use the functions.
- Handle the proc addr for function vkGetPerformanceStatisticsMVK() as a
  core function so that enabling the VK_MVK_moltenvk extension is not
  required. The intention is to deprecate this once a suitable Vulkan
  extension like VK_KHR_performance_query is supported.
- Move vkGetPhysicalDeviceMetalFeaturesMVK() from
  mvk_private_api.h to mvk_deprecated_api.h.
- Remove ADD_INST_OPEN_ENTRY_POINT(func) and ADD_DVC_OPEN_ENTRY_POINT(func) macros.
- Improve warning message output when extension VK_MVK_moltenvk is enabled.
2025-05-14 19:18:15 +09:00
Bill Hollings
147fbeaf7a Merge pull request #2539 from billhollings/minor-residency-set-optimization
Minor optimization in processing resource residency sets.
2025-05-14 15:23:13 +09:00
Bill Hollings
c8cd935b64 Merge pull request #2537 from billhollings/support-xcode-16.3
Support Xcode 16.3
2025-05-11 05:37:24 -04:00
Bill Hollings
1bfdfa8924 Minor optimization in processing resource residency sets.
- When using resource residency sets, abort descriptor layout binding
  checking as soon as it is determined that the Metal argument buffer
  for the descriptor set needs to be bound. Previous code continued
  to needlessly iterate through all layout bindings.
- Document the logic better in code comments.
2025-05-11 01:24:31 -04:00
Bill Hollings
2e6718c5f0 Support Xcode 16.3
- Suppress clang vla-cxx-extension warning.
2025-05-10 20:13:14 -04:00
Bill Hollings
014840470b Merge pull request #2535 from squidbus/rte
Enable shaderRoundingModeRTEFloat16/32
2025-05-09 10:18:49 -04:00
squidbus
fee07c849a Enable shaderRoundingModeRTEFloat16/32 2025-05-09 00:33:08 -07:00
Bill Hollings
9badb18aec Merge pull request #2534 from squidbus/khr_robustness2
Promote VK_EXT_robustness2 to VK_KHR_robustness2
2025-05-08 23:22:52 -04:00
Bill Hollings
e9aaba99fc Merge pull request #2533 from squidbus/quad_control
Add support for VK_KHR_shader_quad_control
2025-05-08 23:17:45 -04:00
squidbus
7f87bb696d Promote VK_EXT_robustness2 to VK_KHR_robustness2 2025-05-08 17:11:57 -07:00
squidbus
9f585fac65 Move control flow capabilities to Metal feature flags. 2025-05-08 17:05:26 -07:00
squidbus
f0de07e480 Add support for VK_KHR_shader_quad_control 2025-05-08 11:09:30 -07:00
Bill Hollings
b2d90ceae3 Merge pull request #2528 from squidbus/missed-usage
Fix missed supported usage in image format properties checks.
2025-05-07 00:11:37 -04:00
squidbus
748653013c Fix missed supported usage in image format properties checks. 2025-05-06 20:45:22 -07:00
Bill Hollings
dac1c8da07 Merge pull request #2526 from billhollings/cleanup-proc-addr
Cleanup MVKInstance proc-addr function mapping.
2025-05-06 22:06:17 -04:00
Bill Hollings
70db7651d5 Cleanup MVKInstance proc-addr function mapping.
Multi-extension configuration on proc-addrs really wasn't doing what
it was being used for. It really only had once specialized purpose,
so it's been removed it altogether. The specialized device group
functions support is now handled more explicitly with a clean test
for existence of a function either within a version or extension.

- Remove multi-extension testing when determine function support.
- Ensure entry point API version is set before comparing it.
- Add the ability to test the special case of an extension function in core,
  or an extension, under the same function name (promoted but not renamed).
2025-05-06 18:54:59 -04:00
Bill Hollings
dc4431adad Merge pull request #2525 from billhollings/fix-prop-population-crash
Fix crash and bad data during populating feature and property structs.
2025-05-06 01:18:47 -04:00
Bill Hollings
62f97ed300 Fix crash and bad data during populating feature and property structs.
- Populate VkPhysicalDeviceVulkan14Properties layout structs dynamically.
  Static population caused crash because content sizing is determined dynamically.
- Add missing switch breaks during feature struct population.
- Revert to simpler mechanism for retaining pNexts
  during version feature and property structs.
- Clear and populate MVKPhysicalDevice::_vulkan14NoExtFeatures and
  _enabledVulkan14NoExtFeatures.
2025-05-06 00:55:10 -04:00
Bill Hollings
a659119501 Merge pull request #2523 from billhollings/promote-1.4-structs
Prepare support for features, properties, and content promoted to Vulkan 1.4.
2025-05-05 19:12:24 -04:00
zachferguson
cae627d302 Bump version to 1.3.1 in CMakeLists.txt 2025-05-05 15:51:47 -04:00
Zachary Ferguson
853a61f331 Merge branch 'KhronosGroup:main' into cmake-build 2025-05-05 15:50:24 -04:00
zachferguson
8bb47123cb Replace PROJECT_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR 2025-05-05 15:26:27 -04:00
Bill Hollings
4211353935 Prepare support for features, properties, and content promoted to Vulkan 1.4.
- Add VkPhysicalDeviceVulkan14Features and
  VkPhysicalDeviceVulkan14Properties as SSOT for promoted features
  and properties, and populate extension structs from them.
- Add MVKPhysicalDeviceVulkan14NoExtFeatures.
- Rename MVKPhysicalDeviceVulkan12FeaturesNoExt to
  MVKPhysicalDeviceVulkan12NoExtFeatures for consistency.
- Rename promoted extension structs and enum values used internally.
2025-05-05 10:59:05 -04:00
Bill Hollings
1b4979a795 Merge pull request #2522 from squidbus/misc-exts
Add support for a few miscellaneous small extensions
2025-05-04 14:40:27 -04:00
squidbus
7bae8fde10 Disable new control flow extensions for non-Apple GPUs 2025-05-04 11:27:28 -07:00
squidbus
daa61781a3 Add support for VK_KHR_shader_maximal_reconvergence 2025-05-04 11:27:28 -07:00
squidbus
695012b575 Add support for VK_KHR_shader_subgroup_uniform_control_flow 2025-05-04 11:27:27 -07:00
squidbus
8bc1a51a98 Add support for VK_KHR_surface_protected_capabilities 2025-05-04 11:26:17 -07:00
Bill Hollings
93a6739bea Merge pull request #2512 from squidbus/maintenance8
Add support for VK_KHR_maintenance8
2025-05-04 14:25:07 -04:00
Bill Hollings
5c0d255af4 Merge pull request #2521 from billhollings/refactor-promoted-features
MVKDevice refactor enabling promoted physical device features.
2025-05-04 14:15:39 -04:00
squidbus
eb3281402b Handle D24S8 copy for maintenance8 rules as well. 2025-05-03 23:08:51 -07:00
squidbus
9baacf780d Add support for VK_KHR_maintenance8 2025-05-03 21:02:52 -07:00
Bill Hollings
2b11530f46 MVKDevice refactor enabling promoted physical device features.
- Add and use macro to enable extension features from promoted features structs.
- Rename Vulkan 1.2 feature structs to allow macro to work on them.
2025-05-03 22:39:20 -04:00
Bill Hollings
2c6767a53d Merge pull request #2520 from billhollings/mvk-1.3.1
Update MoltenVK version number to 1.3.1.
2025-05-03 20:56:59 -04:00
Bill Hollings
8924f8e932 Update MoltenVK version to 1.3.1.
- Clean up some minor compiler warnings.
- MVKSwapchain minor member reorg to close struct alignment gaps.
- Replace lost (but useful) code comment from long ago.
- Update Whats_New.md document.
2025-05-03 19:02:16 -04:00
Zachary Ferguson
ef899a5118 Update SPIRV-Cross repository revision hash 2025-05-03 18:24:11 -04:00
Zachary Ferguson
08b6c1636b Update SPIRV-Cross_repo_revision 2025-05-03 18:17:42 -04:00
Zachary Ferguson
d29189bde1 Merge branch 'main' into cmake-build 2025-05-03 18:16:31 -04:00
Bill Hollings
365f12c222 Merge pull request #2519 from squidbus/present-id-wait
Implement VK_KHR_present_id and VK_KHR_present_wait
2025-05-03 18:02:06 -04:00