[Mesa-dev] [PATCH 11/11] i965/nir: Simplify uniform setup
Jason Ekstrand
jason at jlekstrand.net
Wed Sep 30 18:41:15 PDT 2015
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 19 ++++++++-----------
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 21 ++++++++-------------
2 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index 829c663..eb0fe7b 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
@@ -185,20 +185,17 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
if (shader_prog) {
brw_nir_setup_glsl_uniforms(shader, shader_prog, prog,
stage_prog_data, true);
-
- foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
- /* UBO's and atomics don't take up space in the uniform file */
- if (var->interface_type != NULL || var->type->contains_atomic())
- continue;
-
- if(type_size_scalar(var->type) > 0)
- param_size[var->data.driver_location] = type_size_scalar(var->type);
- }
} else {
brw_nir_setup_arb_uniforms(shader, prog, stage_prog_data);
+ }
+
+ foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
+ /* UBO's and atomics don't take up space in the uniform file */
+ if (var->interface_type != NULL || var->type->contains_atomic())
+ continue;
- if(prog->Parameters->NumParameters > 0)
- param_size[0] = prog->Parameters->NumParameters * 4;
+ if (type_size_scalar(var->type) > 0)
+ param_size[var->data.driver_location] = type_size_scalar(var->type);
}
}
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
index 36bb35f..8274d48 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
@@ -139,22 +139,17 @@ vec4_visitor::nir_setup_uniforms(nir_shader *shader)
if (shader_prog) {
brw_nir_setup_glsl_uniforms(shader, shader_prog, prog,
stage_prog_data, false);
-
- foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
- /* UBO's, atomics and samplers don't take up space in the
- uniform file */
- if (var->interface_type != NULL || var->type->contains_atomic() ||
- type_size_vec4(var->type) == 0) {
- continue;
- }
-
- uniform_size[var->data.driver_location] = type_size_vec4(var->type);
- }
} else {
brw_nir_setup_arb_uniforms(shader, prog, stage_prog_data);
+ }
+
+ foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
+ /* UBO's and atomics don't take up space in the uniform file */
+ if (var->interface_type != NULL || var->type->contains_atomic())
+ continue;
- if(prog->Parameters->NumParameters > 0)
- uniform_size[0] = prog->Parameters->NumParameters;
+ if (type_size_vec4(var->type) > 0)
+ uniform_size[var->data.driver_location] = type_size_vec4(var->type);
}
}
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list