On Thu, Mar 10, 2016 at 12:07 AM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > --- > src/gallium/drivers/r600/r600_state_common.c | 30 > ++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/src/gallium/drivers/r600/r600_state_common.c > b/src/gallium/drivers/r600/r600_state_common.c > index e3314bb..40ceb8d 100644 > --- a/src/gallium/drivers/r600/r600_state_common.c > +++ b/src/gallium/drivers/r600/r600_state_common.c > @@ -693,6 +693,26 @@ static void r600_set_sampler_views(struct pipe_context > *pipe, unsigned shader, > } > } > > +static void r600_update_compressed_colortex_mask(struct > r600_samplerview_state *views) > +{ > + uint32_t mask = views->enabled_mask; > + > + while (mask) { > + unsigned i = u_bit_scan(&mask); > + struct pipe_resource *res = views->views[i]->base.texture; > + > + if (res && res->target != PIPE_BUFFER) { > + struct r600_texture *rtex = (struct r600_texture > *)res; > + > + if (rtex->cmask.size) { > + views->compressed_colortex_mask |= 1 << i; > + } else { > + views->compressed_colortex_mask &= ~(1 << i); > + }
r600_set_sampler_views contains the same code. This conditional should be moved to a separate function, so that both functions can use it. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev