[Mesa-dev] [PATCH 1/2] i965/fs: Get rid of the early return in brw_compile_cs

Jason Ekstrand jason at jlekstrand.net
Tue Nov 7 01:08:54 UTC 2017


---
 src/intel/compiler/brw_fs.cpp | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index c0b6047..996e4c6 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -6925,27 +6925,28 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
       }
    }
 
+   const unsigned *ret = NULL;
    if (unlikely(cfg == NULL)) {
       assert(fail_msg);
       if (error_str)
          *error_str = ralloc_strdup(mem_ctx, fail_msg);
+   } else {
+      fs_generator g(compiler, log_data, mem_ctx, (void*) key, &prog_data->base,
+                     v8.promoted_constants, false, MESA_SHADER_COMPUTE);
+      if (INTEL_DEBUG & DEBUG_CS) {
+         char *name = ralloc_asprintf(mem_ctx, "%s compute shader %s",
+                                      shader->info.label ? shader->info.label :
+                                                           "unnamed",
+                                      shader->info.name);
+         g.enable_debug(name);
+      }
 
-      return NULL;
-   }
+      g.generate_code(cfg, prog_data->simd_size);
 
-   fs_generator g(compiler, log_data, mem_ctx, (void*) key, &prog_data->base,
-                  v8.promoted_constants, false, MESA_SHADER_COMPUTE);
-   if (INTEL_DEBUG & DEBUG_CS) {
-      char *name = ralloc_asprintf(mem_ctx, "%s compute shader %s",
-                                   shader->info.label ? shader->info.label :
-                                                        "unnamed",
-                                   shader->info.name);
-      g.enable_debug(name);
+      ret = g.get_assembly(&prog_data->base.program_size);
    }
 
-   g.generate_code(cfg, prog_data->simd_size);
-
-   return g.get_assembly(&prog_data->base.program_size);
+   return ret;
 }
 
 /**
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list