Now we need to draw something and also have the correct semaphore waits to establish dependencies.
35 lines
794 B
C
35 lines
794 B
C
#ifndef RT_SHADER_COMPILER_H
|
|
#define RT_SHADER_COMPILER_H
|
|
|
|
#include "runtime/runtime.h"
|
|
#include "runtime/mem_arena.h"
|
|
#include "gfx/renderer_api.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
RT_SHADER_OPTIMIZATION_NONE,
|
|
RT_SHADER_OPTIMIZATION_SPEED,
|
|
RT_SHADER_OPTIMIZATION_SIZE,
|
|
} rt_shader_optimization_level;
|
|
|
|
typedef struct {
|
|
void *bytes;
|
|
size_t len;
|
|
} rt_shader_bytecode;
|
|
|
|
rt_shader_bytecode CompileShader(rt_shader_type type,
|
|
rt_shader_stage stage,
|
|
rt_shader_optimization_level optimization,
|
|
rt_text_span code,
|
|
const char *input_file,
|
|
rt_arena *arena);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|