[Mesa-dev] [PATCH] mesa: optimize color_buffer_writes_enabled()
Marek Olšák
maraeo at gmail.com
Fri Apr 28 18:36:09 UTC 2017
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Apr 28, 2017 at 5:09 AM, Brian Paul <brianp at vmware.com> wrote:
> Return as soon as we find an existing color channel that's enabled for
> writing. Typically, this allows us to return true on the first loop
> iteration intead of doing four iterations.
>
> No piglit regressions.
> ---
> src/mesa/main/clear.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c
> index a1bb36e..884cf98 100644
> --- a/src/mesa/main/clear.c
> +++ b/src/mesa/main/clear.c
> @@ -115,16 +115,17 @@ color_buffer_writes_enabled(const struct gl_context *ctx, unsigned idx)
> {
> struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[idx];
> GLuint c;
> - GLubyte colorMask = 0;
>
> if (rb) {
> for (c = 0; c < 4; c++) {
> - if (_mesa_format_has_color_component(rb->Format, c))
> - colorMask |= ctx->Color.ColorMask[idx][c];
> + if (ctx->Color.ColorMask[idx][c] &&
> + _mesa_format_has_color_component(rb->Format, c)) {
> + return true;
> + }
> }
> }
>
> - return colorMask != 0;
> + return false;
> }
>
>
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list