[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