mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-28 16:10:23 +01:00
radeonsi: move si_shader_binary_upload out of si_shader_binary_read
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
7fa6bb47e3
commit
b6d95248f0
3 changed files with 10 additions and 11 deletions
|
|
@ -138,6 +138,7 @@ static void *si_create_compute_state(
|
|||
init_scratch_buffer(sctx, program);
|
||||
si_shader_binary_read(sctx->screen, &program->shader, &sctx->b.debug,
|
||||
TGSI_PROCESSOR_COMPUTE);
|
||||
si_shader_binary_upload(sctx->screen, &program->shader);
|
||||
|
||||
#endif
|
||||
program->input_buffer = si_resource_create_custom(sctx->b.b.screen,
|
||||
|
|
|
|||
|
|
@ -3887,16 +3887,12 @@ static void si_shader_dump_disassembly(const struct radeon_shader_binary *binary
|
|||
}
|
||||
}
|
||||
|
||||
int si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug, unsigned processor)
|
||||
void si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug, unsigned processor)
|
||||
{
|
||||
const struct radeon_shader_binary *binary = &shader->binary;
|
||||
int r;
|
||||
|
||||
si_shader_binary_read_config(sscreen, shader, 0);
|
||||
r = si_shader_binary_upload(sscreen, shader);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
if (r600_can_dump_shader(&sscreen->b, processor)) {
|
||||
if (!(sscreen->b.debug_flags & DBG_NO_ASM))
|
||||
|
|
@ -3913,8 +3909,6 @@ int si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader,
|
|||
"Shader Stats: SGPRS: %d VGPRS: %d Code Size: %d LDS: %d Scratch: %d",
|
||||
shader->num_sgprs, shader->num_vgprs, binary->code_size,
|
||||
shader->lds_size, shader->scratch_bytes_per_wave);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
|
||||
|
|
@ -3939,7 +3933,11 @@ int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
|
|||
return r;
|
||||
}
|
||||
|
||||
r = si_shader_binary_read(sscreen, shader, debug, processor);
|
||||
si_shader_binary_read(sscreen, shader, debug, processor);
|
||||
|
||||
r = si_shader_binary_upload(sscreen, shader);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
FREE(shader->binary.config);
|
||||
FREE(shader->binary.rodata);
|
||||
|
|
|
|||
|
|
@ -336,8 +336,8 @@ int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
|
|||
void si_shader_destroy(struct si_shader *shader);
|
||||
unsigned si_shader_io_get_unique_index(unsigned semantic_name, unsigned index);
|
||||
int si_shader_binary_upload(struct si_screen *sscreen, struct si_shader *shader);
|
||||
int si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug, unsigned processor);
|
||||
void si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug, unsigned processor);
|
||||
void si_shader_apply_scratch_relocs(struct si_context *sctx,
|
||||
struct si_shader *shader,
|
||||
uint64_t scratch_va);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue