Mesa (master): iris: Move iris_debug_recompile calls before uploading.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 16 16:01:56 UTC 2019


Module: Mesa
Branch: master
Commit: 4c3c417b00fd2594d8fa5ab86479fb7c448d1f09
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c3c417b00fd2594d8fa5ab86479fb7c448d1f09

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 15 22:58:17 2019 -0700

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 at intel.com>

---

 src/gallium/drivers/iris/iris_program.c | 66 ++++++++++++++++-----------------
 1 file 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;
 }




More information about the mesa-commit mailing list