A periodic tagged release of volk, matching Vulkan 1.4.350.
New extensions:
- VK_EXT_descriptor_heap 🎉
- VK_ARM_data_graph, VK_ARM_data_graph_optical_flow, VK_ARM_performance_counters_by_region, VK_ARM_shader_instrumentation, VK_ARM_tensors
- VK_EXT_custom_resolve, VK_EXT_external_memory_metal, VK_EXT_fragment_density_map_offset, VK_EXT_memory_decompression, VK_EXT_present_timing, VK_EXT_primitive_restart_index
- VK_KHR_copy_memory_indirect, VK_KHR_device_address_commands, VK_KHR_maintenance10, VK_KHR_present_wait2, VK_KHR_swapchain_maintenance1
- VK_NV_cluster_acceleration_structure, VK_NV_compute_occupancy_priority, VK_NV_cooperative_vector, VK_NV_external_compute_queue, VK_NV_partitioned_acceleration_structure
- VK_OHOS_external_memory, VK_OHOS_surface, VK_SEC_ubm_surface
- VK_QCOM_queue_perf_hint, VK_QCOM_tile_memory_heap, VK_QCOM_tile_shading
Additional changes:
volkLoadInstanceTablecan be used to load instance function pointers into a structvolk.hno longer includes Xlib headers directly to avoid polluting global namespaceVOLK_NAMESPACECMake configuration can be used to put all volk symbols including vk* function pointers involknamespace to avoid symbol conflicts with libvulkan (requires compiling as C++)VolkDeviceTable/VolkInstanceTablestruct layouts are now stable underVK_USE_PLATFORM_*defines- Improve
dlopensequence on macOS (better priority order) and Linux (RTLD_DEEPBINDis used if requested viaVOLK_USE_DEEPBIND)
Thanks to @dcvz, @squidbus, @jeroenbakker-atmind, @ItchyTrack, @UMU618, @K1llByte, @radgeRayden for contributions!