[Mesa-dev] [PATCH v2 08/82] glsl: lower SSBO reads to ir_binop_ssbo_load expressions

Samuel Iglesias Gonsálvez siglesias at igalia.com
Mon Jun 8 23:19:06 PDT 2015



On 08/06/15 23:25, Jordan Justen wrote:
> Patches 3-8 Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
> 

Thanks Jordan!

Sam

> On 2015-06-03 00:00:58, Iago Toral Quiroga wrote:
>> From: Kristian Høgsberg <krh at 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 at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list