On Wed, Feb 19, 2014 at 2:04 AM, Kenneth Graunke <kenn...@whitecape.org> wrote: > These enumerations are simply log2 of the number of multisamples shifted > by a bit, so we can calculate them using ffs() in a lot less code. > > Suggested by Eric Anholt. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/gen8_multisample_state.c | 26 > +++------------------- > 1 file changed, 3 insertions(+), 23 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/gen8_multisample_state.c > b/src/mesa/drivers/dri/i965/gen8_multisample_state.c > index 64c7208..bfe0d5b 100644 > --- a/src/mesa/drivers/dri/i965/gen8_multisample_state.c > +++ b/src/mesa/drivers/dri/i965/gen8_multisample_state.c > @@ -33,33 +33,13 @@ > void > gen8_emit_3dstate_multisample(struct brw_context *brw, unsigned num_samples) > { > - uint32_t number_of_multisamples = 0; > + assert(num_samples <= 16); > > - switch (num_samples) { > - case 0: > - case 1: > - number_of_multisamples = MS_NUMSAMPLES_1; > - break; > - case 2: > - number_of_multisamples = MS_NUMSAMPLES_2; > - break; > - case 4: > - number_of_multisamples = MS_NUMSAMPLES_4; > - break; > - case 8: > - number_of_multisamples = MS_NUMSAMPLES_8; > - break; > - case 16: > - number_of_multisamples = MS_NUMSAMPLES_16; > - break; > - default: > - assert(!"Unrecognized num_samples in gen8_emit_3dstate_multisample"); > - break; > - } > + unsigned log2_samples = ffs(MAX2(num_samples, 1)) - 1; > > BEGIN_BATCH(2); > OUT_BATCH(GEN8_3DSTATE_MULTISAMPLE << 16 | (2 - 2)); > - OUT_BATCH(MS_PIXEL_LOCATION_CENTER | number_of_multisamples); > + OUT_BATCH(MS_PIXEL_LOCATION_CENTER | log2_samples << 1); > ADVANCE_BATCH(); > } > > -- > 1.8.4.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
This series is: Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev