[Mesa-dev] [PATCH 44/70] i965: stop passing gl_shader_program to brw_nir_setup_glsl_uniforms()

Timothy Arceri timothy.arceri at collabora.com
Fri Nov 11 00:46:26 UTC 2016


We can now just get the data needed from the gl_shader_program_data
pointer in gl_program.
---
 src/mesa/drivers/dri/i965/brw_cs.c             |  4 ++--
 src/mesa/drivers/dri/i965/brw_gs.c             |  2 +-
 src/mesa/drivers/dri/i965/brw_nir.h            |  1 -
 src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp | 14 ++++++--------
 src/mesa/drivers/dri/i965/brw_tcs.c            |  3 +--
 src/mesa/drivers/dri/i965/brw_tes.c            |  3 +--
 src/mesa/drivers/dri/i965/brw_vs.c             |  2 +-
 src/mesa/drivers/dri/i965/brw_wm.c             |  2 +-
 8 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_cs.c b/src/mesa/drivers/dri/i965/brw_cs.c
index 399deb5..21371f5 100644
--- a/src/mesa/drivers/dri/i965/brw_cs.c
+++ b/src/mesa/drivers/dri/i965/brw_cs.c
@@ -103,8 +103,8 @@ brw_codegen_cs_prog(struct brw_context *brw,
    prog_data.base.nr_params = param_count;
    prog_data.base.nr_image_params = cp->program.info.num_images;
 
-   brw_nir_setup_glsl_uniforms(cp->program.nir, prog, &cp->program,
-                               &prog_data.base, true);
+   brw_nir_setup_glsl_uniforms(cp->program.nir, &cp->program,&prog_data.base,
+                               true);
 
    if (unlikely(brw->perf_debug)) {
       start_busy = (brw->batch.last_bo &&
diff --git a/src/mesa/drivers/dri/i965/brw_gs.c b/src/mesa/drivers/dri/i965/brw_gs.c
index 3c6d60f..e9d101d 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.c
+++ b/src/mesa/drivers/dri/i965/brw_gs.c
@@ -124,7 +124,7 @@ brw_codegen_gs_prog(struct brw_context *brw,
    prog_data.base.base.nr_params = param_count;
    prog_data.base.base.nr_image_params = gp->program.info.num_images;
 
-   brw_nir_setup_glsl_uniforms(gp->program.nir, prog, &gp->program,
+   brw_nir_setup_glsl_uniforms(gp->program.nir, &gp->program,
                                &prog_data.base.base,
                                compiler->scalar_stage[MESA_SHADER_GEOMETRY]);
 
diff --git a/src/mesa/drivers/dri/i965/brw_nir.h b/src/mesa/drivers/dri/i965/brw_nir.h
index 3c774d0..4a79b1e 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.h
+++ b/src/mesa/drivers/dri/i965/brw_nir.h
@@ -135,7 +135,6 @@ enum brw_reg_type brw_type_for_nir_type(nir_alu_type type);
 enum glsl_base_type brw_glsl_base_type_for_nir_type(nir_alu_type type);
 
 void brw_nir_setup_glsl_uniforms(nir_shader *shader,
-                                 struct gl_shader_program *shader_prog,
                                  const struct gl_program *prog,
                                  struct brw_stage_prog_data *stage_prog_data,
                                  bool is_scalar);
diff --git a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
index 15a608c..57682e8 100644
--- a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
+++ b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
@@ -68,7 +68,7 @@ brw_nir_setup_glsl_builtin_uniform(nir_variable *var,
 
 static void
 brw_nir_setup_glsl_uniform(gl_shader_stage stage, nir_variable *var,
-                           struct gl_shader_program *shader_prog,
+                           const struct gl_program *prog,
                            struct brw_stage_prog_data *stage_prog_data,
                            bool is_scalar)
 {
@@ -81,9 +81,9 @@ brw_nir_setup_glsl_uniform(gl_shader_stage stage, nir_variable *var,
     * with our name, or the prefix of a component that starts with our name.
     */
    unsigned uniform_index = var->data.driver_location / 4;
-   for (unsigned u = 0; u < shader_prog->data->NumUniformStorage; u++) {
+   for (unsigned u = 0; u < prog->sh.data->NumUniformStorage; u++) {
       struct gl_uniform_storage *storage =
-         &shader_prog->data->UniformStorage[u];
+         &prog->sh.data->UniformStorage[u];
 
       if (storage->builtin)
          continue;
@@ -130,9 +130,7 @@ brw_nir_setup_glsl_uniform(gl_shader_stage stage, nir_variable *var,
 }
 
 void
-brw_nir_setup_glsl_uniforms(nir_shader *shader,
-                            struct gl_shader_program *shader_prog,
-                            const struct gl_program *prog,
+brw_nir_setup_glsl_uniforms(nir_shader *shader, const struct gl_program *prog,
                             struct brw_stage_prog_data *stage_prog_data,
                             bool is_scalar)
 {
@@ -146,8 +144,8 @@ brw_nir_setup_glsl_uniforms(nir_shader *shader,
          brw_nir_setup_glsl_builtin_uniform(var, prog, stage_prog_data,
                                             is_scalar);
       } else {
-         brw_nir_setup_glsl_uniform(shader->stage, var, shader_prog,
-                                    stage_prog_data, is_scalar);
+         brw_nir_setup_glsl_uniform(shader->stage, var, prog, stage_prog_data,
+                                    is_scalar);
       }
    }
 }
diff --git a/src/mesa/drivers/dri/i965/brw_tcs.c b/src/mesa/drivers/dri/i965/brw_tcs.c
index ebb7638..30e6e9b 100644
--- a/src/mesa/drivers/dri/i965/brw_tcs.c
+++ b/src/mesa/drivers/dri/i965/brw_tcs.c
@@ -218,8 +218,7 @@ brw_codegen_tcs_prog(struct brw_context *brw,
                        tcp->program.info.num_images);
       prog_data.base.base.nr_image_params = tcp->program.info.num_images;
 
-      brw_nir_setup_glsl_uniforms(nir, shader_prog, &tcp->program,
-                                  &prog_data.base.base,
+      brw_nir_setup_glsl_uniforms(nir, &tcp->program, &prog_data.base.base,
                                   compiler->scalar_stage[MESA_SHADER_TESS_CTRL]);
    } else {
       /* Upload the Patch URB Header as the first two uniforms.
diff --git a/src/mesa/drivers/dri/i965/brw_tes.c b/src/mesa/drivers/dri/i965/brw_tes.c
index 39f43295..2090a0e 100644
--- a/src/mesa/drivers/dri/i965/brw_tes.c
+++ b/src/mesa/drivers/dri/i965/brw_tes.c
@@ -165,8 +165,7 @@ brw_codegen_tes_prog(struct brw_context *brw,
       ((1 << tep->program.CullDistanceArraySize) - 1) <<
       tep->program.ClipDistanceArraySize;
 
-   brw_nir_setup_glsl_uniforms(nir, shader_prog, &tep->program,
-                               &prog_data.base.base,
+   brw_nir_setup_glsl_uniforms(nir, &tep->program, &prog_data.base.base,
                                compiler->scalar_stage[MESA_SHADER_TESS_EVAL]);
 
    int st_index = -1;
diff --git a/src/mesa/drivers/dri/i965/brw_vs.c b/src/mesa/drivers/dri/i965/brw_vs.c
index 36265fc5..f0795cb 100644
--- a/src/mesa/drivers/dri/i965/brw_vs.c
+++ b/src/mesa/drivers/dri/i965/brw_vs.c
@@ -188,7 +188,7 @@ brw_codegen_vs_prog(struct brw_context *brw,
    stage_prog_data->nr_params = param_count;
 
    if (prog) {
-      brw_nir_setup_glsl_uniforms(vp->program.nir, prog, &vp->program,
+      brw_nir_setup_glsl_uniforms(vp->program.nir, &vp->program,
                                   &prog_data.base.base,
                                   compiler->scalar_stage[MESA_SHADER_VERTEX]);
    } else {
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index dc7cb76..fd6a622 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -175,7 +175,7 @@ brw_codegen_wm_prog(struct brw_context *brw,
    prog_data.base.nr_params = param_count;
 
    if (prog) {
-      brw_nir_setup_glsl_uniforms(fp->program.nir, prog, &fp->program,
+      brw_nir_setup_glsl_uniforms(fp->program.nir, &fp->program,
                                   &prog_data.base, true);
    } else {
       brw_nir_setup_arb_uniforms(fp->program.nir, &fp->program,
-- 
2.7.4



More information about the mesa-dev mailing list