kiba-engine
kiba
gpu
command.h
1
#pragma once
2
3
#include <kiba/gpu/types.h>
4
5
KB_API b8 gpu_command_encoder_create(
gpu_command_encoder
*encoder,
6
gpu_device
device,
7
struct
gpu_command_encoder_descriptor
desc);
8
KB_API
void
gpu_command_encoder_destroy(
gpu_command_encoder
encoder);
9
KB_LOCAL
void
gpu_command_encoder_destroy_internal(
gpu_command_encoder
encoder);
10
11
KB_API b8 gpu_cmd_begin(
gpu_command_encoder
encoder);
12
KB_API b8 gpu_begin_render_pass(
gpu_command_encoder
encoder,
struct
gpu_render_pass_descriptor
desc);
13
KB_API b8 gpu_cmd_copy_buffer_to_buffer(
gpu_command_encoder
encoder,
14
gpu_buffer
src,
15
gpu_buffer
dst,
16
usize src_offset,
17
usize dst_offset,
18
usize size);
19
KB_API
void
gpu_cmd_bind_pipeline(
gpu_command_encoder
encoder,
gpu_pipeline
pipeline);
20
KB_API
void
gpu_cmd_bind_vertex_buffer(
gpu_command_encoder
encoder, usize slot,
gpu_buffer
buffer);
21
KB_API
void
gpu_cmd_bind_index_buffer(
gpu_command_encoder
encoder,
gpu_buffer
buffer,
enum
gpu_index_format format);
22
KB_API
void
gpu_cmd_draw(
gpu_command_encoder
encoder,
23
usize vertex_count,
24
usize instance_count,
25
usize first_vertex,
26
usize first_instance);
27
KB_API
void
gpu_cmd_draw_indexed(
gpu_command_encoder
encoder,
28
usize first_index,
29
usize index_count,
30
usize first_vertex,
31
usize first_instance,
32
usize instance_count);
33
KB_API b8 gpu_end_render_pass(
gpu_command_encoder
encoder);
34
KB_API
void
gpu_cmd_debug_marker_begin(
gpu_command_encoder
encoder,
const
char
*label);
35
KB_API
void
gpu_cmd_debug_marker_insert(
gpu_command_encoder
encoder,
const
char
*label);
36
KB_API
void
gpu_cmd_debug_marker_end(
gpu_command_encoder
encoder);
37
KB_API b8 gpu_cmd_end(
gpu_command_encoder
encoder);
38
39
KB_API b8 gpu_command_encoder_submit(
gpu_command_encoder
encoder);
40
41
KB_LOCAL b8 gpu_backend_command_encoder_create(
struct
gpu_backend_command_encoder
*encoder,
42
struct
gpu_backend_device
*device,
43
struct
gpu_command_encoder_descriptor
desc);
44
KB_LOCAL
void
gpu_backend_command_encoder_destroy(
struct
gpu_backend_command_encoder
*encoder,
45
struct
gpu_backend_device
*device);
46
47
KB_LOCAL b8 gpu_backend_cmd_begin(
struct
gpu_backend_command_encoder
*encoder);
48
KB_LOCAL
void
gpu_backend_cmd_copy_buffer_to_buffer(
struct
gpu_backend_command_encoder
*encoder,
49
struct
gpu_backend_buffer
*src,
50
struct
gpu_backend_buffer
*dst,
51
usize src_offset,
52
usize dst_offset,
53
usize size);
54
KB_LOCAL b8 gpu_backend_begin_render_pass(
struct
gpu_backend_command_encoder
*encoder,
55
struct
gpu_backend_device
*device,
56
struct
gpu_render_pass_descriptor
desc);
57
KB_LOCAL b8 gpu_backend_end_render_pass(
struct
gpu_backend_command_encoder
*encoder);
58
KB_LOCAL b8 gpu_backend_cmd_end(
struct
gpu_backend_command_encoder
*encoder);
59
60
KB_LOCAL b8 gpu_backend_insert_texture_barriers(
struct
gpu_backend_command_encoder
*encoder,
61
array_of(
const
struct
gpu_texture_barrier
) barriers);
62
KB_LOCAL b8 gpu_backend_insert_buffer_barriers(
struct
gpu_backend_command_encoder
*encoder,
63
array_of(
const
struct
gpu_buffer_barrier
) barriers);
64
65
KB_LOCAL b8 gpu_backend_command_encoder_submit(
struct
gpu_backend_command_encoder
*encoder,
66
struct
gpu_backend_device
*device);
gpu_backend_buffer
Definition:
internal.h:120
gpu_backend_command_encoder
Definition:
internal.h:30
gpu_backend_device
Definition:
internal.h:95
gpu_buffer_barrier
Definition:
types.h:120
gpu_buffer
Definition:
types.h:99
gpu_command_encoder_descriptor
Definition:
types.h:130
gpu_command_encoder
Definition:
types.h:135
gpu_device
Definition:
types.h:165
gpu_pipeline
Definition:
types.h:360
gpu_render_pass_descriptor
Definition:
types.h:217
gpu_texture_barrier
Definition:
types.h:113
Generated by
1.9.1