[Mesa-dev] [PATCH 11/14] mesa: add bind_frag_data_location() helper
Timothy Arceri
tarceri at itsqueeze.com
Wed Jun 28 09:24:04 UTC 2017
On 28/06/17 18:39, Samuel Pitoiset wrote:
> Like you told me in a similar patch, we should keep "if (!name) return;"
> in the helper. :-)
Whoops. Yes I definitely meant to add that here. Thanks :)
>
> I suggest to add a no_error bool to bind_frag_data_location and always
> inline it.
ok
>
> With that fixed, patch is:
>
> Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>
> On 06/28/2017 08:13 AM, Timothy Arceri wrote:
>> ---
>> src/mesa/main/shader_query.cpp | 30 +++++++++++++++++++-----------
>> 1 file changed, 19 insertions(+), 11 deletions(-)
>>
>> diff --git a/src/mesa/main/shader_query.cpp
>> b/src/mesa/main/shader_query.cpp
>> index 6efbc37..d571846 100644
>> --- a/src/mesa/main/shader_query.cpp
>> +++ b/src/mesa/main/shader_query.cpp
>> @@ -233,6 +233,24 @@ _mesa_longest_attribute_name_length(struct
>> gl_shader_program *shProg)
>> return longest;
>> }
>> +void static
>> +bind_frag_data_location(struct gl_shader_program *const shProg,
>> + const char *name, unsigned colorNumber,
>> + unsigned index)
>> +{
>> + /* Replace the current value if it's already in the list. Add
>> + * FRAG_RESULT_DATA0 because that's how the linker differentiates
>> + * between built-in attributes and user-defined attributes.
>> + */
>> + shProg->FragDataBindings->put(colorNumber + FRAG_RESULT_DATA0, name);
>> + shProg->FragDataIndexBindings->put(index, name);
>> +
>> + /*
>> + * Note that this binding won't go into effect until
>> + * glLinkProgram is called again.
>> + */
>> +}
>> +
>> void GLAPIENTRY
>> _mesa_BindFragDataLocation(GLuint program, GLuint colorNumber,
>> const GLchar *name)
>> @@ -274,17 +292,7 @@ _mesa_BindFragDataLocationIndexed(GLuint program,
>> GLuint colorNumber,
>> return;
>> }
>> - /* Replace the current value if it's already in the list. Add
>> - * FRAG_RESULT_DATA0 because that's how the linker differentiates
>> - * between built-in attributes and user-defined attributes.
>> - */
>> - shProg->FragDataBindings->put(colorNumber + FRAG_RESULT_DATA0, name);
>> - shProg->FragDataIndexBindings->put(index, name);
>> - /*
>> - * Note that this binding won't go into effect until
>> - * glLinkProgram is called again.
>> - */
>> -
>> + bind_frag_data_location(shProg, name, colorNumber, index);
>> }
>> GLint GLAPIENTRY
>>
More information about the mesa-dev
mailing list