From 99cfb4cfb1dd76562fcfc141096a228a8804e076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Gasi=C7=B9ski?= Date: Tue, 16 Jul 2024 22:23:48 +0200 Subject: [PATCH] Do not hardcode counts for structs --- src/vulkan_renderer.zig | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/vulkan_renderer.zig b/src/vulkan_renderer.zig index b3cd448..a02a9e7 100644 --- a/src/vulkan_renderer.zig +++ b/src/vulkan_renderer.zig @@ -362,7 +362,7 @@ pub const VulkanRenderer = struct { }; swapchain_create_info.image_sharing_mode = .concurrent; - swapchain_create_info.queue_family_index_count = 2; // Number of queues to share images between + swapchain_create_info.queue_family_index_count = @intCast(qfi.len); // Number of queues to share images between swapchain_create_info.p_queue_family_indices = &qfi; } @@ -558,14 +558,14 @@ pub const VulkanRenderer = struct { const dynamic_states = [_]vk.DynamicState{ .viewport, .scissor }; const dynamic_state_create_info: vk.PipelineDynamicStateCreateInfo = .{ - .dynamic_state_count = 2, + .dynamic_state_count = @intCast(dynamic_states.len), .p_dynamic_states = &dynamic_states, }; // -- Rasterizer -- const rasterizer_create_info: vk.PipelineRasterizationStateCreateInfo = .{ - .depth_clamp_enable = vk.FALSE, // Change if fragments beyond near/far planes are clipped (default) or clamped to planed + .depth_clamp_enable = vk.FALSE, // Change if fragments beyond near/far planes are clipped (default) or clamped to plane .rasterizer_discard_enable = vk.FALSE, // Whether to discard data and skip rasterizer (never creates fragments) .polygon_mode = .fill, // How to handle filling points between vertices .line_width = 1.0, // How thick the lines should be when drawn @@ -601,7 +601,6 @@ pub const VulkanRenderer = struct { .alpha_blend_op = vk.BlendOp.add, // Summary (1 * new alpha) + (0 * old alpha) = new alpha }; - // Blending uses equation: (srcColorBlendFactor * new colour) colorBlendOp (dstColorBlendFactor * old colour) const colour_blending_create_info: vk.PipelineColorBlendStateCreateInfo = .{ @@ -622,7 +621,7 @@ pub const VulkanRenderer = struct { // -- Graphics pipeline creation -- const pipeline_create_info: vk.GraphicsPipelineCreateInfo = .{ - .stage_count = 2, // Number of shader stages + .stage_count = @intCast(shader_create_infos.len), // Number of shader stages .p_stages = &shader_create_infos, // List of shader stages .p_vertex_input_state = &vertex_input_create_info, .p_input_assembly_state = &assembly_create_info, @@ -732,7 +731,7 @@ pub const VulkanRenderer = struct { .extent = self.extent, // Size of region to run render pass on (starting at offset) }, .p_clear_values = &clear_values, // List of clear values (TODO: Depth attachment clear value) - .clear_value_count = 1, + .clear_value_count = @intCast(clear_values.len), .framebuffer = undefined, };