46
46
typedef void(aco_callback)(void** priv_ptr, const struct ac_shader_config* config,
47
47
const char* llvm_ir_str, unsigned llvm_ir_size, const char* disasm_str,
48
48
unsigned disasm_size, uint32_t* statistics, uint32_t stats_size,
49
uint32_t exec_size, const uint32_t* code, uint32_t code_dw);
49
uint32_t exec_size, const uint32_t* code, uint32_t code_dw,
50
const struct aco_symbol* symbols, unsigned num_symbols);
51
typedef void (aco_shader_part_callback)(void **priv_ptr,
56
const char *disasm_str,
57
uint32_t disasm_size);
52
typedef void(aco_shader_part_callback)(void** priv_ptr, uint32_t num_sgprs, uint32_t num_vgprs,
53
const uint32_t* code, uint32_t code_size,
54
const char* disasm_str, uint32_t disasm_size);
59
56
extern const struct aco_compiler_statistic_info* aco_statistic_infos;
61
58
void aco_compile_shader(const struct aco_compiler_options* options,
62
const struct aco_shader_info* info,
63
unsigned shader_count, struct nir_shader* const* shaders,
64
const struct ac_shader_args *args,
65
aco_callback *build_binary,
59
const struct aco_shader_info* info, unsigned shader_count,
60
struct nir_shader* const* shaders, const struct ac_shader_args* args,
61
aco_callback* build_binary, void** binary);
68
63
void aco_compile_rt_prolog(const struct aco_compiler_options* options,
69
64
const struct aco_shader_info* info, const struct ac_shader_args* in_args,