summaryrefslogtreecommitdiffhomepage
path: root/src/gfx/irodeo_gfx.h
blob: 5634f9152d07626e7cbeca6c28233a05820307ed (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

// -- internal --
// public
#include "rodeo/common.h"
// private
#include "gfx/irodeo_gfx_t.h"

// -- external --
#include "bgfx/c99/bgfx.h"
#include "stc/cstr.h"

bgfx_shader_handle_t
irodeo_gfx_shader_load(const cstr path);

void
irodeo_gfx_render_buffer_transient_alloc(void);

void
irodeo_gfx_frame_stall(void);

void
irodeo_gfx_dimensions_extra_update(void);

irodeo_gfx_dimensions_extra_t
irodeo_gfx_dimensions_extra_get(void);

void
irodeo_gfx_camera_2d_init(void);

void
irodeo_gfx_camera_2d_deinit(void);

#define											\
mrodeo_bgfx_vertex_layout_do(vertex_layout)		\
	mrodeo_defer_do(							\
		bgfx_vertex_layout_begin(				\
			vertex_layout,						\
			bgfx_get_renderer_type()			\
		),										\
		bgfx_vertex_layout_end(vertex_layout)	\
	)