summaryrefslogtreecommitdiff
path: root/src/ral/backends/opengl/backend_opengl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ral/backends/opengl/backend_opengl.h')
-rw-r--r--src/ral/backends/opengl/backend_opengl.h73
1 files changed, 36 insertions, 37 deletions
diff --git a/src/ral/backends/opengl/backend_opengl.h b/src/ral/backends/opengl/backend_opengl.h
index 805914e..7bd1b81 100644
--- a/src/ral/backends/opengl/backend_opengl.h
+++ b/src/ral/backends/opengl/backend_opengl.h
@@ -20,12 +20,12 @@ typedef struct GPU_Device {
} GPU_Device;
typedef struct GPU_PipelineLayout {
- void *pad;
+ void* pad;
} GPU_PipelineLayout;
typedef struct GPU_Pipeline {
u32 shader_id;
- GPU_Renderpass *renderpass;
+ GPU_Renderpass* renderpass;
VertexDescription vertex_desc;
BufferHandle uniform_bindings[MAX_PIPELINE_UNIFORM_BUFFERS];
u32 uniform_count;
@@ -38,11 +38,11 @@ typedef struct GPU_Renderpass {
} GPU_Renderpass;
typedef struct GPU_CmdEncoder {
- GPU_Pipeline *pipeline;
+ GPU_Pipeline* pipeline;
} GPU_CmdEncoder; // Recording
typedef struct GPU_CmdBuffer {
- void *pad;
+ void* pad;
} GPU_CmdBuffer; // Ready for submission
typedef struct GPU_Buffer {
@@ -55,7 +55,7 @@ typedef struct GPU_Buffer {
u32 vao;
u32 ubo_binding_point;
}; // Optional
- char *name;
+ char* name;
u64 size;
} GPU_Buffer;
@@ -68,43 +68,42 @@ typedef struct opengl_support {
u32 pad;
} opengl_support;
-
-void uniform_vec3f(u32 program_id, const char *uniform_name, Vec3 *value);
-void uniform_f32(u32 program_id, const char *uniform_name, f32 value);
-void uniform_i32(u32 program_id, const char *uniform_name, i32 value);
-void uniform_mat4f(u32 program_id, const char *uniform_name, Mat4 *value);
+void uniform_vec3f(u32 program_id, const char* uniform_name, Vec3* value);
+void uniform_f32(u32 program_id, const char* uniform_name, f32 value);
+void uniform_i32(u32 program_id, const char* uniform_name, i32 value);
+void uniform_mat4f(u32 program_id, const char* uniform_name, Mat4* value);
typedef enum GlCommandType {
- GLCMD_DRAW,
- GLCMD_DRAW_INDEXED,
- GLCMD_BIND_VBUF,
- GLCMD_BIND_IBUF,
- GLCMD_SET_PROGRAM,
+ GLCMD_DRAW,
+ GLCMD_DRAW_INDEXED,
+ GLCMD_BIND_VBUF,
+ GLCMD_BIND_IBUF,
+ GLCMD_SET_PROGRAM,
} GlCommandType;
typedef struct GlCommand {
- GlCommandType cmd_type;
- union {
- struct {
- PrimitiveTopology topology;
- u32 start_vertex;
- u32 vertex_count;
- // TODO: instance
- } draw;
- struct {
- PrimitiveTopology topology;
- u32 index_count;
- } draw_indexed;
- struct {
- u32 buffer_id;
- } bind_vbuf;
- struct {
- u32 buffer_id;
- } bind_ibuf;
- struct {
- u32 program_id;
- } set_program;
- } data;
+ GlCommandType cmd_type;
+ union {
+ struct {
+ PrimitiveTopology topology;
+ u32 start_vertex;
+ u32 vertex_count;
+ // TODO: instance
+ } draw;
+ struct {
+ PrimitiveTopology topology;
+ u32 index_count;
+ } draw_indexed;
+ struct {
+ u32 buffer_id;
+ } bind_vbuf;
+ struct {
+ u32 buffer_id;
+ } bind_ibuf;
+ struct {
+ u32 program_id;
+ } set_program;
+ } data;
} GlCommand;
#endif