Patches 3-8 Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On 2015-06-03 00:00:58, Iago Toral Quiroga wrote: > From: Kristian Høgsberg <k...@bitplanet.net> > > The same we do for UBO loads with ir_binop_ubo_load. > --- > src/glsl/lower_ubo_reference.cpp | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/glsl/lower_ubo_reference.cpp > b/src/glsl/lower_ubo_reference.cpp > index 4ea4ccb..4341c34 100644 > --- a/src/glsl/lower_ubo_reference.cpp > +++ b/src/glsl/lower_ubo_reference.cpp > @@ -149,6 +149,7 @@ public: > struct gl_shader *shader; > struct gl_uniform_buffer_variable *ubo_var; > ir_rvalue *uniform_block; > + enum ir_expression_operation opcode; > bool progress; > }; > > @@ -252,6 +253,11 @@ lower_ubo_reference_visitor::handle_rvalue(ir_rvalue > **rvalue) > this->uniform_block = index; > } > > + if (shader->UniformBlocks[i].IsShaderStorage) > + this->opcode = ir_binop_ssbo_load; > + else > + this->opcode = ir_binop_ubo_load; > + > struct gl_uniform_block *block = &shader->UniformBlocks[i]; > > this->ubo_var = var->is_interface_instance() > @@ -413,7 +419,7 @@ lower_ubo_reference_visitor::ubo_load(const glsl_type > *type, > { > ir_rvalue *block_ref = this->uniform_block->clone(mem_ctx, NULL); > return new(mem_ctx) > - ir_expression(ir_binop_ubo_load, > + ir_expression(this->opcode, > type, > block_ref, > offset); > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev