diff options
author | Marek Olšák <[email protected]> | 2015-12-27 23:22:14 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-01-03 22:41:16 +0100 |
commit | b6d95248f0c423dfde573617cffddb4fa2d3c8ab (patch) | |
tree | 780485e2f687a0fcdf06c14aa89dbd551cf4edcf /src/gallium/drivers/radeonsi/si_shader.c | |
parent | 7fa6bb47e3a19f4ad745f7a9fc77d24c7482d045 (diff) |
radeonsi: move si_shader_binary_upload out of si_shader_binary_read
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 779550bfb95..c7e38b4eed4 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -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); |