mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 23:30:10 +01:00
r600g/llvm: Pass struct r600_bytecode to r600_llvm_compile
This way we don't need to update the function signature everytime we emit a new config value. This also fixes the build with --enable-opencl.
This commit is contained in:
parent
e29525f79f
commit
f64058803a
3 changed files with 7 additions and 8 deletions
|
|
@ -555,8 +555,7 @@ unsigned r600_llvm_compile(
|
|||
unsigned char ** inst_bytes,
|
||||
unsigned * inst_byte_count,
|
||||
enum radeon_family family,
|
||||
unsigned *ngpr,
|
||||
unsigned *stack_size,
|
||||
struct r600_bytecode *bc,
|
||||
unsigned dump)
|
||||
{
|
||||
unsigned r;
|
||||
|
|
@ -565,8 +564,8 @@ unsigned r600_llvm_compile(
|
|||
r = radeon_llvm_compile(mod, &binary, gpu_family, dump);
|
||||
*inst_bytes = binary.code;
|
||||
*inst_byte_count = binary.code_size;
|
||||
*ngpr = util_le32_to_cpu(*(uint32_t*)binary.config);
|
||||
*stack_size = util_le32_to_cpu(*(uint32_t*)binary.config + 4);
|
||||
bc->ngpr = util_le32_to_cpu(*(uint32_t*)binary.config);
|
||||
bc->nstack = util_le32_to_cpu(*(uint32_t*)(binary.config + 4));
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "radeon_llvm.h"
|
||||
#include <llvm-c/Core.h>
|
||||
|
||||
struct r600_bytecode;
|
||||
struct r600_shader_ctx;
|
||||
struct radeon_llvm_context;
|
||||
enum radeon_family;
|
||||
|
|
@ -20,8 +21,7 @@ unsigned r600_llvm_compile(
|
|||
unsigned char ** inst_bytes,
|
||||
unsigned * inst_byte_count,
|
||||
enum radeon_family family,
|
||||
unsigned *ngpr,
|
||||
unsigned *stack_size,
|
||||
struct r600_bytecode *bc,
|
||||
unsigned dump);
|
||||
|
||||
#endif /* defined R600_USE_LLVM || defined HAVE_OPENCL */
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ int r600_compute_shader_create(struct pipe_context * ctx,
|
|||
shader_ctx.bc->type = TGSI_PROCESSOR_COMPUTE;
|
||||
shader_ctx.bc->isa = r600_ctx->isa;
|
||||
r600_llvm_compile(mod, &bytes, &byte_count, r600_ctx->family,
|
||||
&shader_ctx.bc->ngpr, dump);
|
||||
shader_ctx.bc, dump);
|
||||
r600_bytecode_from_byte_stream(&shader_ctx, bytes, byte_count);
|
||||
if (shader_ctx.bc->chip_class == CAYMAN) {
|
||||
cm_bytecode_add_cf_end(shader_ctx.bc);
|
||||
|
|
@ -1461,7 +1461,7 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen,
|
|||
mod = r600_tgsi_llvm(&radeon_llvm_ctx, tokens);
|
||||
|
||||
if (r600_llvm_compile(mod, &inst_bytes, &inst_byte_count,
|
||||
rscreen->family, &ctx.bc->ngpr, &ctx.bc->nstack, dump)) {
|
||||
rscreen->family, ctx.bc, dump)) {
|
||||
FREE(inst_bytes);
|
||||
radeon_llvm_dispose(&radeon_llvm_ctx);
|
||||
use_llvm = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue