From b5f3587df4048d2ba807721ff2faea8c8a43a93f Mon Sep 17 00:00:00 2001 From: Lucas Fryzek Date: Mon, 24 Nov 2025 19:39:30 -0500 Subject: WIP --- src/frygon/vulkan/fgvk_cmd_buffer.h | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/frygon/vulkan/fgvk_cmd_buffer.h (limited to 'src/frygon/vulkan/fgvk_cmd_buffer.h') diff --git a/src/frygon/vulkan/fgvk_cmd_buffer.h b/src/frygon/vulkan/fgvk_cmd_buffer.h new file mode 100644 index 00000000000..151ed631166 --- /dev/null +++ b/src/frygon/vulkan/fgvk_cmd_buffer.h @@ -0,0 +1,42 @@ +/* + * Copyright © 2025 Lucas Francisco Fryzek + * SPDX-License-Identifier: MIT + */ +#ifndef FGVK_CMD_BUFFER_H +#define FGVK_CMD_BUFFER_H 1 + +#include "fgvk_private.h" + +#include "vk_command_buffer.h" +#include "vk_shader.h" + +struct fgvk_graphics_state { + struct vk_vertex_input_state _dynamic_vi; + struct vk_sample_locations_state _dynamic_sl; +}; + +struct fgvk_cmd_buffer { + struct vk_command_buffer vk; + + struct fgvk_cmd_state { + struct fgvk_graphics_state gfx; + } state; +}; + +VK_DEFINE_HANDLE_CASTS(fgvk_cmd_buffer, vk.base, VkCommandBuffer, + VK_OBJECT_TYPE_COMMAND_BUFFER) + +static inline struct fgvk_cmd_pool * +fgvk_cmd_buffer_pool(struct fgvk_cmd_buffer *cmd) +{ + return (struct fgvk_cmd_pool *)cmd->vk.pool; +} + +extern const struct vk_command_buffer_ops fgvk_cmd_buffer_ops; + +void fgvk_cmd_bind_shaders(struct vk_command_buffer *vk_cmd, + uint32_t stage_count, + const mesa_shader_stage *stages, + struct vk_shader ** const shaders); + +#endif -- cgit v1.2.3