blob: 151ed6311662718442bd6445964ac58af8a87cd3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
|