Re: [Mesa-dev] [PATCH 11/14] mesa: add bind_frag_data_location() helper
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 PitoisetOn 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 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 11/14] mesa: add bind_frag_data_location() helper
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 PitoisetOn 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 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 11/14] mesa: add bind_frag_data_location() helper
--- 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 -- 2.9.4 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev