struct r600_context *rctx = (struct r600_context *)ctx;
struct r600_pipe_compute *shader = CALLOC_STRUCT(r600_pipe_compute);
#ifdef HAVE_OPENCL
- const struct pipe_llvm_program_header *header;
+ const struct pipe_binary_program_header *header;
void *p;
boolean use_kill;
#endif
&sel->compiler_ctx_state,
program, si_create_compute_state_async);
} else {
- const struct pipe_llvm_program_header *header;
+ const struct pipe_binary_program_header *header;
header = cso->prog;
program->shader.binary.elf_size = header->num_bytes;
};
/**
- * Structure used as a header for serialized LLVM programs.
+ * Structure used as a header for serialized compute programs.
*/
-struct pipe_llvm_program_header
+struct pipe_binary_program_header
{
uint32_t num_bytes; /**< Number of bytes in the LLVM bytecode program. */
char blob[];
module::section
make_text_section(const std::vector<char> &code) {
- const pipe_llvm_program_header header { uint32_t(code.size()) };
+ const pipe_binary_program_header header { uint32_t(code.size()) };
module::section text { 0, module::section::text_executable,
header.num_bytes, {} };
module::section
make_text_section(const std::vector<char> &code,
enum module::section::type section_type) {
- const pipe_llvm_program_header header { uint32_t(code.size()) };
+ const pipe_binary_program_header header { uint32_t(code.size()) };
module::section text { 0, section_type, header.num_bytes, {} };
text.data.insert(text.data.end(), reinterpret_cast<const char *>(&header),
sec.type == module::section::text_library;
}, mod.secs);
- const auto c_il = ((struct pipe_llvm_program_header*)msec.data.data())->blob;
+ const auto c_il = ((struct pipe_binary_program_header*)msec.data.data())->blob;
const auto length = msec.size;
sections.push_back(reinterpret_cast<const uint32_t *>(c_il));