Procházet zdrojové kódy

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 <jordan.l.justen@intel.com>
tags/19.1-branchpoint
Kenneth Graunke před 6 roky
rodič
revize
4c3c417b00
1 změnil soubory, kde provedl 33 přidání a 33 odebrání
  1. 33
    33
      src/gallium/drivers/iris/iris_program.c

+ 33
- 33
src/gallium/drivers/iris/iris_program.c Zobrazit soubor

@@ -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;
}

Načítá se…
Zrušit
Uložit