mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 14:38:06 +02:00
radeonsi: let si_shader_create return a boolean
We didn't really use error codes anyway. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
77b05cc42d
commit
8b1343ca79
4 changed files with 14 additions and 16 deletions
|
|
@ -150,7 +150,7 @@ static void si_create_compute_state_async(void *job, int thread_index)
|
|||
} else {
|
||||
mtx_unlock(&sscreen->shader_cache_mutex);
|
||||
|
||||
if (si_shader_create(sscreen, compiler, &program->shader, debug)) {
|
||||
if (!si_shader_create(sscreen, compiler, &program->shader, debug)) {
|
||||
program->shader.compilation_failed = true;
|
||||
|
||||
if (program->ir_type == PIPE_SHADER_IR_TGSI)
|
||||
|
|
|
|||
|
|
@ -7881,7 +7881,7 @@ static void si_fix_resource_usage(struct si_screen *sscreen,
|
|||
}
|
||||
}
|
||||
|
||||
int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
|
||||
bool si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
|
||||
struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug)
|
||||
{
|
||||
|
|
@ -7901,7 +7901,7 @@ int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compile
|
|||
*/
|
||||
r = si_compile_tgsi_shader(sscreen, compiler, shader, debug);
|
||||
if (r)
|
||||
return r;
|
||||
return false;
|
||||
} else {
|
||||
/* The shader consists of several parts:
|
||||
*
|
||||
|
|
@ -7919,7 +7919,7 @@ int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compile
|
|||
*/
|
||||
|
||||
if (!mainp)
|
||||
return -1;
|
||||
return false;
|
||||
|
||||
/* Copy the compiled TGSI shader data over. */
|
||||
shader->is_binary_shared = true;
|
||||
|
|
@ -7940,21 +7940,21 @@ int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compile
|
|||
switch (sel->type) {
|
||||
case PIPE_SHADER_VERTEX:
|
||||
if (!si_shader_select_vs_parts(sscreen, compiler, shader, debug))
|
||||
return -1;
|
||||
return false;
|
||||
break;
|
||||
case PIPE_SHADER_TESS_CTRL:
|
||||
if (!si_shader_select_tcs_parts(sscreen, compiler, shader, debug))
|
||||
return -1;
|
||||
return false;
|
||||
break;
|
||||
case PIPE_SHADER_TESS_EVAL:
|
||||
break;
|
||||
case PIPE_SHADER_GEOMETRY:
|
||||
if (!si_shader_select_gs_parts(sscreen, compiler, shader, debug))
|
||||
return -1;
|
||||
return false;
|
||||
break;
|
||||
case PIPE_SHADER_FRAGMENT:
|
||||
if (!si_shader_select_ps_parts(sscreen, compiler, shader, debug))
|
||||
return -1;
|
||||
return false;
|
||||
|
||||
/* Make sure we have at least as many VGPRs as there
|
||||
* are allocated inputs.
|
||||
|
|
@ -8014,10 +8014,10 @@ int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compile
|
|||
r = si_shader_binary_upload(sscreen, shader);
|
||||
if (r) {
|
||||
fprintf(stderr, "LLVM failed to upload shader\n");
|
||||
return r;
|
||||
return false;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
void si_shader_destroy(struct si_shader *shader)
|
||||
|
|
|
|||
|
|
@ -683,7 +683,7 @@ int si_compile_tgsi_shader(struct si_screen *sscreen,
|
|||
struct ac_llvm_compiler *compiler,
|
||||
struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug);
|
||||
int si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
|
||||
bool si_shader_create(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
|
||||
struct si_shader *shader,
|
||||
struct pipe_debug_callback *debug);
|
||||
void si_shader_destroy(struct si_shader *shader);
|
||||
|
|
|
|||
|
|
@ -1715,7 +1715,6 @@ static void si_build_shader_variant(struct si_shader *shader,
|
|||
struct si_screen *sscreen = sel->screen;
|
||||
struct ac_llvm_compiler *compiler;
|
||||
struct pipe_debug_callback *debug = &shader->compiler_ctx_state.debug;
|
||||
int r;
|
||||
|
||||
if (thread_index >= 0) {
|
||||
if (low_priority) {
|
||||
|
|
@ -1732,10 +1731,9 @@ static void si_build_shader_variant(struct si_shader *shader,
|
|||
compiler = shader->compiler_ctx_state.compiler;
|
||||
}
|
||||
|
||||
r = si_shader_create(sscreen, compiler, shader, debug);
|
||||
if (unlikely(r)) {
|
||||
PRINT_ERR("Failed to build shader variant (type=%u) %d\n",
|
||||
sel->type, r);
|
||||
if (unlikely(!si_shader_create(sscreen, compiler, shader, debug))) {
|
||||
PRINT_ERR("Failed to build shader variant (type=%u)\n",
|
||||
sel->type);
|
||||
shader->compilation_failed = true;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue