From edd964e93d3ebb05669f46cfb736ee5077e165a4 Mon Sep 17 00:00:00 2001 From: Anton Oreskin Date: Thu, 24 Sep 2026 16:39:18 +0200 Subject: [PATCH 1/3] Fix fragment shading rate callback array parameters --- vulkan.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vulkan.v b/vulkan.v index 00fffe3..5ac54da 100644 --- a/vulkan.v +++ b/vulkan.v @@ -16181,7 +16181,7 @@ pub fn get_physical_device_fragment_shading_rates_khr( fn C.vkCmdSetFragmentShadingRateKHR( commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) -pub type PFN_vkCmdSetFragmentShadingRateKHR = fn (commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) +pub type PFN_vkCmdSetFragmentShadingRateKHR = fn (commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps &FragmentShadingRateCombinerOpKHR) @[inline] pub fn cmd_set_fragment_shading_rate_khr( @@ -29265,7 +29265,7 @@ pub mut: fn C.vkCmdSetFragmentShadingRateEnumNV( commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) -pub type PFN_vkCmdSetFragmentShadingRateEnumNV = fn (commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) +pub type PFN_vkCmdSetFragmentShadingRateEnumNV = fn (commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps &FragmentShadingRateCombinerOpKHR) @[inline] pub fn cmd_set_fragment_shading_rate_enum_nv( From 37ec2197798af8bc3b5d6d28a70d3169fdc2f3a6 Mon Sep 17 00:00:00 2001 From: antono2 Date: Thu, 24 Sep 2026 16:43:21 +0200 Subject: [PATCH 2/3] Pass handle array storage to Vulkan enumeration and allocation --- ergonomic/ergonomic.v | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ergonomic/ergonomic.v b/ergonomic/ergonomic.v index f588304..6d6a0ca 100644 --- a/ergonomic/ergonomic.v +++ b/ergonomic/ergonomic.v @@ -289,7 +289,7 @@ pub fn (pool &OwnedCommandPool) allocate_primary(count u32) ![]&PrimaryCommandBu commandBufferCount: count } mut handles := unsafe { []vk.CommandBuffer{len: int(count)} } - require_success(vk.allocate_command_buffers(pool.device, &allocate_info, handles.data), + require_success(vk.allocate_command_buffers(pool.device, &allocate_info, unsafe { &handles[0] }), 'vkAllocateCommandBuffers')! mut buffers := []&PrimaryCommandBuffer{cap: int(count)} @@ -825,14 +825,15 @@ pub fn (instance &OwnedInstance) physical_devices() ![]PhysicalDevice { } mut handles := unsafe { []vk.PhysicalDevice{len: int(count)} } - result := vk.enumerate_physical_devices(instance.handle, &count, handles.data) + result := vk.enumerate_physical_devices(instance.handle, &count, unsafe { &handles[0] }) if result == .incomplete { continue } require_success(result, 'vkEnumeratePhysicalDevices(values)')! mut devices := []PhysicalDevice{cap: int(count)} - for handle in handles[..int(count)] { + for index in 0 .. int(count) { + handle := handles[index] mut properties := vk.PhysicalDeviceProperties{} vk.get_physical_device_properties(handle, mut properties) devices << PhysicalDevice{ From e7adf531c9234c2b6f15daaf868566738f7000d9 Mon Sep 17 00:00:00 2001 From: antono2 Date: Thu, 24 Sep 2026 17:23:10 +0200 Subject: [PATCH 3/3] Revert "Fix fragment shading rate callback array parameters" This reverts commit edd964e93d3ebb05669f46cfb736ee5077e165a4. --- vulkan.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vulkan.v b/vulkan.v index 5ac54da..00fffe3 100644 --- a/vulkan.v +++ b/vulkan.v @@ -16181,7 +16181,7 @@ pub fn get_physical_device_fragment_shading_rates_khr( fn C.vkCmdSetFragmentShadingRateKHR( commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) -pub type PFN_vkCmdSetFragmentShadingRateKHR = fn (commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps &FragmentShadingRateCombinerOpKHR) +pub type PFN_vkCmdSetFragmentShadingRateKHR = fn (commandBuffer CommandBuffer, const_pFragmentSize &Extent2D, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) @[inline] pub fn cmd_set_fragment_shading_rate_khr( @@ -29265,7 +29265,7 @@ pub mut: fn C.vkCmdSetFragmentShadingRateEnumNV( commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) -pub type PFN_vkCmdSetFragmentShadingRateEnumNV = fn (commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps &FragmentShadingRateCombinerOpKHR) +pub type PFN_vkCmdSetFragmentShadingRateEnumNV = fn (commandBuffer CommandBuffer, shadingRate FragmentShadingRateNV, const_combinerOps [2]FragmentShadingRateCombinerOpKHR) @[inline] pub fn cmd_set_fragment_shading_rate_enum_nv(