> -----Original Message----- > From: ibmir...@gmail.com [mailto:ibmir...@gmail.com] On Behalf Of Ilia > Mirkin > Sent: Tuesday, November 29, 2016 1:54 PM > To: Kyriazis, George <george.kyria...@intel.com> > Cc: mesa-dev@lists.freedesktop.org > Subject: Re: [Mesa-dev] [PATCH] swr: Templetize std::max to work on > windows > > How about just making 'layers' unsigned? (Hm, I wonder why this didn't > trigger issues with gcc... maybe it should be +1u instead of +1?) > Could do that, too, but there are other places in our code that use templetized versions of std::max.
I guess gcc prioritizes implicit casts... +1u does not help, since the last_layer/first_layer fields are already unsigned. It's the int vs unsigned type mismatch that caused the issue. George > On Tue, Nov 29, 2016 at 2:46 PM, George Kyriazis > <george.kyria...@intel.com> wrote: > > --- > > src/gallium/drivers/swr/swr_clear.cpp | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/src/gallium/drivers/swr/swr_clear.cpp > > b/src/gallium/drivers/swr/swr_clear.cpp > > index f59179f..e752ee0 100644 > > --- a/src/gallium/drivers/swr/swr_clear.cpp > > +++ b/src/gallium/drivers/swr/swr_clear.cpp > > @@ -46,20 +46,20 @@ swr_clear(struct pipe_context *pipe, > > for (unsigned i = 0; i < fb->nr_cbufs; ++i) > > if (fb->cbufs[i] && (buffers & (PIPE_CLEAR_COLOR0 << i))) { > > clearMask |= (SWR_ATTACHMENT_COLOR0_BIT << i); > > - layers = std::max(layers, fb->cbufs[i]->u.tex.last_layer - > > + layers = std::max<int>(layers, > > + fb->cbufs[i]->u.tex.last_layer - > > fb->cbufs[i]->u.tex.first_layer + 1); > > } > > } > > > > if (buffers & PIPE_CLEAR_DEPTH && fb->zsbuf) { > > clearMask |= SWR_ATTACHMENT_DEPTH_BIT; > > - layers = std::max(layers, fb->zsbuf->u.tex.last_layer - > > + layers = std::max<int>(layers, fb->zsbuf->u.tex.last_layer - > > fb->zsbuf->u.tex.first_layer + 1); > > } > > > > if (buffers & PIPE_CLEAR_STENCIL && fb->zsbuf) { > > clearMask |= SWR_ATTACHMENT_STENCIL_BIT; > > - layers = std::max(layers, fb->zsbuf->u.tex.last_layer - > > + layers = std::max<int>(layers, fb->zsbuf->u.tex.last_layer - > > fb->zsbuf->u.tex.first_layer + 1); > > } > > > > -- > > 2.7.4 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev