fixing soft queues, improving blitter
Build / build (push) Successful in 1m2s
Test / build_and_test (push) Successful in 47m49s

This commit is contained in:
2026-04-21 21:45:40 +02:00
parent 602ade81d4
commit aaeca6f854
6 changed files with 257 additions and 106 deletions
+9
View File
@@ -30,6 +30,7 @@ vtable: *const VTable,
pub const VTable = struct {
destroy: *const fn (*Self, std.mem.Allocator) void,
getMemoryRequirements: *const fn (*Self, *vk.MemoryRequirements) VkError!void,
getSubresourceLayout: *const fn (*const Self, vk.ImageSubresource) VkError!vk.SubresourceLayout,
getTotalSizeForAspect: *const fn (*const Self, vk.ImageAspectFlags) VkError!usize,
};
@@ -95,3 +96,11 @@ pub inline fn formatToAspect(self: *const Self, aspect_mask: vk.ImageAspectFlags
pub fn getLastLayerIndex(self: *const Self, range: vk.ImageSubresourceRange) u32 {
return (if (range.layer_count == vk.REMAINING_ARRAY_LAYERS) self.array_layers else range.base_array_layer + range.layer_count) - 1;
}
pub fn getLastMipLevel(self: *const Self, range: vk.ImageSubresourceRange) u32 {
return (if (range.level_count == vk.REMAINING_MIP_LEVELS) self.mip_levels else range.base_mip_level + range.level_count) - 1;
}
pub inline fn getSubresourceLayout(self: *const Self, subresource: vk.ImageSubresource) VkError!vk.SubresourceLayout {
return self.vtable.getSubresourceLayout(self, subresource);
}
+1 -6
View File
@@ -1384,12 +1384,7 @@ pub export fn strollGetImageSubresourceLayout(p_device: vk.Device, p_image: vk.I
Dispatchable(Device).checkHandleValidity(p_device) catch |err| return errorLogger(err);
const image = NonDispatchable(Image).fromHandleObject(p_image) catch |err| return errorLogger(err);
notImplementedWarning();
_ = image;
_ = subresource;
_ = layout;
layout.* = image.getSubresourceLayout(subresource.*) catch |err| return errorLogger(err);
}
pub export fn strollGetPipelineCacheData(p_device: vk.Device, p_cache: vk.PipelineCache, size: *usize, data: *anyopaque) callconv(vk.vulkan_call_conv) vk.Result {