diff options
| author | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
|---|---|---|
| committer | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
| commit | b5f3587df4048d2ba807721ff2faea8c8a43a93f (patch) | |
| tree | 6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/fgvk_cmd_buffer.h | |
| parent | 41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff) | |
WIPfrygon
Diffstat (limited to 'src/frygon/vulkan/fgvk_cmd_buffer.h')
| -rw-r--r-- | src/frygon/vulkan/fgvk_cmd_buffer.h | 42 |
1 files changed, 42 insertions, 0 deletions
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 |