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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev