[Mesa-dev] [PATCH 2/5] mesa: add api to write subroutine indicies to the program storage.

Alejandro PiƱeiro apinheiro at igalia.com
Thu Aug 11 15:26:02 UTC 2016


On 11/08/16 15:56, Andres Gomez wrote:
> On Tue, 2016-06-07 at 15:25 +1000, Dave Airlie wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This writes the subroutine indicies to the program storage for
>> a stage. This API is intended to be used by drivers to update
>> the uniform storage before uploading to the hw.
>>
>> This isn't the most thread safe effort, but it will be significantly
>> more multi-context safe.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>>  src/mesa/main/shaderapi.c | 10 ++++++++++
>>  src/mesa/main/shaderapi.h |  3 +++
>>  2 files changed, 13 insertions(+)
>>
>> diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
>> index 818a88d..07c581f 100644
>> --- a/src/mesa/main/shaderapi.c
>> +++ b/src/mesa/main/shaderapi.c
>> @@ -2816,6 +2816,16 @@ _mesa_shader_write_subroutine_index(struct gl_context *ctx,
>>     } while(i < sh->NumSubroutineUniformRemapTable);
>>  }
>>  
>> +void
>> +_mesa_shader_write_subroutine_indicies(struct gl_context *ctx,

Instead of "indicies", do you mean "indices"?

>> +                                       gl_shader_stage stage)
>> +{
>> +   if (ctx->_Shader->CurrentProgram[stage] &&
>> +       ctx->_Shader->CurrentProgram[stage]->_LinkedShaders[stage])
>> +      _mesa_shader_write_subroutine_index(ctx,
>> +                                         ctx->_Shader->CurrentProgram[stage]->_LinkedShaders[stage]);
> Last line, not properly indented.
>
>> +}
>> +
>>  static void
>>  _mesa_shader_init_subroutine_defaults(struct gl_context *ctx,
>>                                        struct gl_shader *sh)
>> diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h
>> index b3de5fa..968cf97 100644
>> --- a/src/mesa/main/shaderapi.h
>> +++ b/src/mesa/main/shaderapi.h
>> @@ -69,6 +69,9 @@ _mesa_count_active_attribs(struct gl_shader_program *shProg);
>>  extern size_t
>>  _mesa_longest_attribute_name_length(struct gl_shader_program *shProg);
>>  
>> +extern void
>> +_mesa_shader_write_subroutine_indicies(struct gl_context *ctx,
>> +                                       gl_shader_stage stage);
>>  extern void GLAPIENTRY
>>  _mesa_AttachObjectARB(GLhandleARB, GLhandleARB);
>>  
> Other than the small nitpick, this is:
>
> Reviewed-by: Andres Gomez <agomez at igalia.com>
>



More information about the mesa-dev mailing list