[Mesa-dev] [PATCH 11/14] mesa: add bind_frag_data_location() helper
Samuel Pitoiset
samuel.pitoiset at gmail.com
Wed Jun 28 08:39:00 UTC 2017
Like you told me in a similar patch, we should keep "if (!name) return;"
in the helper. :-)
I suggest to add a no_error bool to bind_frag_data_location and always
inline it.
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