summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-04-15 22:58:17 -0700
committerKenneth Graunke <[email protected]>2019-04-16 09:01:20 -0700
commit4c3c417b00fd2594d8fa5ab86479fb7c448d1f09 (patch)
treeeeb7c1b6abee8c75c5a053f2e5afbbeb92abf18d
parent04f97eefa35d8337b6e078be003ad5f5fe5656fe (diff)
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 <[email protected]>
-rw-r--r--src/gallium/drivers/iris/iris_program.c66
1 files changed, 33 insertions, 33 deletions
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;
}