Mesa (main): intel/compiler: optimize flat inputs mask calculation

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 25 22:57:29 UTC 2022


Module: Mesa
Branch: main
Commit: e5c39bc427f3eb4ddfe0c55530136b6a14290d7c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5c39bc427f3eb4ddfe0c55530136b6a14290d7c

Author: Marcin Ślusarz <marcin.slusarz at intel.com>
Date:   Thu Feb 24 17:09:25 2022 +0100

intel/compiler: optimize flat inputs mask calculation

Don't bother looking at urb if variable is not flat.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15169>

---

 src/intel/compiler/brw_fs.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index 46e346ec984..666f2826ba6 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -9452,6 +9452,10 @@ brw_compute_flat_inputs(struct brw_wm_prog_data *prog_data,
    prog_data->flat_inputs = 0;
 
    nir_foreach_shader_in_variable(var, shader) {
+      /* flat shading */
+      if (var->data.interpolation != INTERP_MODE_FLAT)
+         continue;
+
       if (var->data.per_primitive)
          continue;
 
@@ -9459,11 +9463,7 @@ brw_compute_flat_inputs(struct brw_wm_prog_data *prog_data,
       for (unsigned s = 0; s < slots; s++) {
          int input_index = prog_data->urb_setup[var->data.location + s];
 
-         if (input_index < 0)
-            continue;
-
-         /* flat shading */
-         if (var->data.interpolation == INTERP_MODE_FLAT)
+         if (input_index >= 0)
             prog_data->flat_inputs |= 1 << input_index;
       }
    }



More information about the mesa-commit mailing list