diff options
author | Emil Velikov <[email protected]> | 2017-06-16 20:03:41 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-06-17 11:37:58 +0100 |
commit | 7e1c42cf89bcbc670747d2ca95851873cbb7be39 (patch) | |
tree | 64bff8ce54d0dc62e196f9a0fb12d0bfa8a43145 /src/gallium | |
parent | 84bf7e5ad6f496aff75b10c305259bf89bace38f (diff) |
r600, radeon: move radeon_shader_binary_{init,clean} back to radeon
Those are used by r600 and radeonsi, so moving them within the former
was a bad idea.
Fixes: d96a210842b ("r600g,compute: provide local copy of functions
from ac_binary.c")
Cc: Jan Vesely <[email protected]>
Cc: Aaron Watry <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Tested-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_compute.c | 25 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 21 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.h | 5 |
3 files changed, 28 insertions, 23 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 1f1e08374fb..37cfed4497b 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -180,27 +180,6 @@ static void evergreen_cs_set_constant_buffer(struct r600_context *rctx, #define R_028850_SQ_PGM_RESOURCES_PS 0x028850 #ifdef HAVE_OPENCL -/* - * shader binary helpers. - */ -static void r600_shader_binary_init(struct ac_shader_binary *b) -{ - memset(b, 0, sizeof(*b)); -} - -static void r600_shader_binary_clean(struct ac_shader_binary *b) -{ - if (!b) - return; - FREE(b->code); - FREE(b->config); - FREE(b->rodata); - FREE(b->global_symbol_offsets); - FREE(b->relocs); - FREE(b->disasm_string); - FREE(b->llvm_ir_string); -} - static void parse_symbol_table(Elf_Data *symbol_table_data, const GElf_Shdr *symbol_table_header, struct ac_shader_binary *binary) @@ -435,7 +414,7 @@ static void *evergreen_create_compute_state(struct pipe_context *ctx, COMPUTE_DBG(rctx->screen, "*** evergreen_create_compute_state\n"); header = cso->prog; code = cso->prog + sizeof(struct pipe_llvm_program_header); - r600_shader_binary_init(&shader->binary); + radeon_shader_binary_init(&shader->binary); r600_elf_read(code, header->num_bytes, &shader->binary); r600_create_shader(&shader->bc, &shader->binary, &use_kill); @@ -467,7 +446,7 @@ static void evergreen_delete_compute_state(struct pipe_context *ctx, void *state return; #ifdef HAVE_OPENCL - r600_shader_binary_clean(&shader->binary); + radeon_shader_binary_clean(&shader->binary); #endif r600_destroy_shader(&shader->bc); diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 038627c4aeb..1cec6d5ea68 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -64,6 +64,27 @@ struct r600_multi_fence { }; /* + * shader binary helpers. + */ +void radeon_shader_binary_init(struct ac_shader_binary *b) +{ + memset(b, 0, sizeof(*b)); +} + +void radeon_shader_binary_clean(struct ac_shader_binary *b) +{ + if (!b) + return; + FREE(b->code); + FREE(b->config); + FREE(b->rodata); + FREE(b->global_symbol_offsets); + FREE(b->relocs); + FREE(b->disasm_string); + FREE(b->llvm_ir_string); +} + +/* * pipe_context */ diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 8ba5c369a66..45ed5bab74b 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -34,6 +34,8 @@ #include <stdio.h> +#include "amd/common/ac_binary.h" + #include "radeon/radeon_winsys.h" #include "util/disk_cache.h" @@ -132,6 +134,9 @@ struct r600_perfcounters; struct tgsi_shader_info; struct r600_qbo_state; +void radeon_shader_binary_init(struct ac_shader_binary *b); +void radeon_shader_binary_clean(struct ac_shader_binary *b); + /* Only 32-bit buffer allocations are supported, gallium doesn't support more * at the moment. */ |