nir/lower_task_shader: print shader after each step
authorMarcin Ślusarz <marcin.slusarz@intel.com>
Mon, 18 Jul 2022 16:36:19 +0000 (18:36 +0200)
committerMarge Bot <emma+marge@anholt.net>
Mon, 29 Aug 2022 12:42:40 +0000 (12:42 +0000)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17618>

src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c
src/compiler/nir/nir_lower_task_shader.c

index fa4f53b..fbb4a92 100644 (file)
@@ -365,7 +365,7 @@ ac_nir_lower_task_outputs_to_mem(nir_shader *shader,
    nir_lower_task_shader_options lower_ts_opt = {
       .payload_to_shared_for_atomics = true,
    };
-   NIR_PASS(_, shader, nir_lower_task_shader, lower_ts_opt);
+   nir_lower_task_shader(shader, lower_ts_opt);
 
    lower_tsms_io_state state = {
       .draw_entry_bytes = 16,
index 1417cbd..6112a5a 100644 (file)
@@ -356,6 +356,13 @@ uses_task_payload_atomics(nir_shader *shader)
    return false;
 }
 
+static bool
+nir_lower_task_intrins(nir_shader *shader, lower_task_state *state)
+{
+   return nir_shader_instructions_pass(shader, lower_task_intrin,
+                                       nir_metadata_none, state);
+}
+
 /**
  * Common Task Shader lowering to make the job of the backends easier.
  *
@@ -391,7 +398,7 @@ nir_lower_task_shader(nir_shader *shader,
        * If the shader writes TASK_COUNT, lower that to emit
        * the new launch_mesh_workgroups intrinsic instead.
        */
-      nir_lower_nv_task_count(shader);
+      NIR_PASS_V(shader, nir_lower_nv_task_count);
    } else {
       /* To make sure that task shaders always have a code path that
        * executes a launch_mesh_workgroups, let's add one at the end.
@@ -414,13 +421,13 @@ nir_lower_task_shader(nir_shader *shader,
       shader->info.shared_size =
          state.payload_shared_addr + shader->info.task_payload_size;
 
-   nir_shader_instructions_pass(shader, lower_task_intrin,
-                                nir_metadata_none, &state);
+   NIR_PASS(_, shader, nir_lower_task_intrins, &state);
 
    /* Delete all code that potentially can't be reached due to
     * launch_mesh_workgroups being a terminating instruction.
     */
-   nir_lower_returns(shader);
+   NIR_PASS(_, shader, nir_lower_returns);
+
    bool progress;
    do {
       progress = false;