From: Kenneth Graunke Date: Tue, 16 Apr 2019 05:58:17 +0000 (-0700) Subject: iris: Move iris_debug_recompile calls before uploading. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4c3c417b00fd2594d8fa5ab86479fb7c448d1f09;p=mesa.git iris: Move iris_debug_recompile calls before uploading. Order of operations is important, otherwise we'll find the program we just uploaded as the "old" compile and get confused why nothing is different between the two keys. Reviewed-by: Jordan Justen --- diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index 061d379ec29..eff7c775212 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -594,6 +594,12 @@ iris_compile_vs(struct iris_context *ice, return false; } + if (ish->compiled_once) { + iris_debug_recompile(ice, &nir->info, key->program_string_id, key); + } else { + ish->compiled_once = true; + } + uint32_t *so_decls = ice->vtbl.create_so_decl_list(&ish->stream_output, &vue_prog_data->vue_map); @@ -603,12 +609,6 @@ iris_compile_vs(struct iris_context *ice, prog_data, so_decls, system_values, num_system_values, num_cbufs); - if (ish->compiled_once) { - iris_debug_recompile(ice, &nir->info, key->program_string_id, key); - } else { - ish->compiled_once = true; - } - ralloc_free(mem_ctx); return shader; } @@ -787,11 +787,6 @@ iris_compile_tcs(struct iris_context *ice, return false; } - struct iris_compiled_shader *shader = - iris_upload_shader(ice, IRIS_CACHE_TCS, sizeof(*key), key, program, - prog_data, NULL, system_values, num_system_values, - num_cbufs); - if (ish) { if (ish->compiled_once) { iris_debug_recompile(ice, &nir->info, key->program_string_id, key); @@ -800,6 +795,11 @@ iris_compile_tcs(struct iris_context *ice, } } + struct iris_compiled_shader *shader = + iris_upload_shader(ice, IRIS_CACHE_TCS, sizeof(*key), key, program, + prog_data, NULL, system_values, num_system_values, + num_cbufs); + ralloc_free(mem_ctx); return shader; } @@ -886,6 +886,12 @@ iris_compile_tes(struct iris_context *ice, return false; } + if (ish->compiled_once) { + iris_debug_recompile(ice, &nir->info, key->program_string_id, key); + } else { + ish->compiled_once = true; + } + uint32_t *so_decls = ice->vtbl.create_so_decl_list(&ish->stream_output, &vue_prog_data->vue_map); @@ -896,12 +902,6 @@ iris_compile_tes(struct iris_context *ice, prog_data, so_decls, system_values, num_system_values, num_cbufs); - if (ish->compiled_once) { - iris_debug_recompile(ice, &nir->info, key->program_string_id, key); - } else { - ish->compiled_once = true; - } - ralloc_free(mem_ctx); return shader; } @@ -987,6 +987,12 @@ iris_compile_gs(struct iris_context *ice, return false; } + if (ish->compiled_once) { + iris_debug_recompile(ice, &nir->info, key->program_string_id, key); + } else { + ish->compiled_once = true; + } + uint32_t *so_decls = ice->vtbl.create_so_decl_list(&ish->stream_output, &vue_prog_data->vue_map); @@ -996,12 +1002,6 @@ iris_compile_gs(struct iris_context *ice, prog_data, so_decls, system_values, num_system_values, num_cbufs); - if (ish->compiled_once) { - iris_debug_recompile(ice, &nir->info, key->program_string_id, key); - } else { - ish->compiled_once = true; - } - ralloc_free(mem_ctx); return shader; } @@ -1081,17 +1081,17 @@ iris_compile_fs(struct iris_context *ice, return false; } - struct iris_compiled_shader *shader = - iris_upload_shader(ice, IRIS_CACHE_FS, sizeof(*key), key, program, - prog_data, NULL, system_values, num_system_values, - num_cbufs); - if (ish->compiled_once) { iris_debug_recompile(ice, &nir->info, key->program_string_id, key); } else { ish->compiled_once = true; } + struct iris_compiled_shader *shader = + iris_upload_shader(ice, IRIS_CACHE_FS, sizeof(*key), key, program, + prog_data, NULL, system_values, num_system_values, + num_cbufs); + ralloc_free(mem_ctx); return shader; } @@ -1315,17 +1315,17 @@ iris_compile_cs(struct iris_context *ice, return false; } - struct iris_compiled_shader *shader = - iris_upload_shader(ice, IRIS_CACHE_CS, sizeof(*key), key, program, - prog_data, NULL, system_values, num_system_values, - num_cbufs); - if (ish->compiled_once) { iris_debug_recompile(ice, &nir->info, key->program_string_id, key); } else { ish->compiled_once = true; } + struct iris_compiled_shader *shader = + iris_upload_shader(ice, IRIS_CACHE_CS, sizeof(*key), key, program, + prog_data, NULL, system_values, num_system_values, + num_cbufs); + ralloc_free(mem_ctx); return shader; }