On Fri, Sep 22, 2017 at 11:24:08AM +0200, Lucas Stach wrote: > util_pack_color may leave undefined values in the upper half of the packed > integer. As our hardware needs the upper 16 bits to mirror the lower 16bits, > this breaks clears of those formats if the undefined values aren't masked off. > > I've only observed the issue with R5G6B5_UNORM surfaces, other 16bpp > formats seem to work fine.
Reviewed-by: Wladimir J. van der Laan <laa...@gmail.com> > > Fixes: d6aa2ba2b2 (etnaviv: replace translate_clear_color with > util_pack_color) > Cc: mesa-sta...@lists.freedesktop.org > Signed-off-by: Lucas Stach <l.st...@pengutronix.de> > --- > src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c > b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c > index 971403c45476..c85ada926699 100644 > --- a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c > +++ b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c > @@ -106,7 +106,7 @@ pack_rgba(enum pipe_format format, const float *rgba) > union util_color uc; > util_pack_color(rgba, format, &uc); > if (util_format_get_blocksize(format) == 2) > - return uc.ui[0] << 16 | uc.ui[0]; > + return uc.ui[0] << 16 | (uc.ui[0] & 0xffff); > else > return uc.ui[0]; > } > -- > 2.11.0 > > _______________________________________________ > etnaviv mailing list > etna...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/etnaviv _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev