On Tue, Jul 29, 2014 at 04:29:23PM -0700, Kenneth Graunke wrote: > Although the Gen4-6 and Gen7+ variants used different structure types, > they didn't use any of the fields - only the size, which is identical. > So both decoders did exactly the same thing. > > Someday we should implement useful decoders for SAMPLER_STATE. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_state_dump.c | 39 > ++++-------------------------- > 1 file changed, 5 insertions(+), 34 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c > b/src/mesa/drivers/dri/i965/brw_state_dump.c > index 9d83859..611998f 100644 > --- a/src/mesa/drivers/dri/i965/brw_state_dump.c > +++ b/src/mesa/drivers/dri/i965/brw_state_dump.c > @@ -255,33 +255,9 @@ static void dump_sampler_state(struct brw_context *brw, > uint32_t offset, uint32_t size) > { > int i; > - struct brw_sampler_state *samp = brw->batch.bo->virtual + offset; > + uint32_t *samp = brw->batch.bo->virtual + offset; > > - assert(brw->gen < 7); > - > - for (i = 0; i < size / sizeof(*samp); i++) { > - char name[20]; > - > - sprintf(name, "WM SAMP%d", i); > - batch_out(brw, name, offset, 0, "filtering\n"); > - batch_out(brw, name, offset, 1, "wrapping, lod\n"); > - batch_out(brw, name, offset, 2, "default color pointer\n"); > - batch_out(brw, name, offset, 3, "chroma key, aniso\n"); > - > - samp++; > - offset += sizeof(*samp); > - } > -} > - > -static void dump_gen7_sampler_state(struct brw_context *brw, > - uint32_t offset, uint32_t size) > -{ > - struct gen7_sampler_state *samp = brw->batch.bo->virtual + offset; > - int i; > - > - assert(brw->gen >= 7); > - > - for (i = 0; i < size / sizeof(*samp); i++) { > + for (i = 0; i < size / 16; i++) {
Here you use 16, but for augmenting the offset "4 * sizeof(uint32_t)". How about using a helper: const int sampler_size = 4 * sizeof(uint32_t); > char name[20]; > > sprintf(name, "WM SAMP%d", i); > @@ -290,12 +266,11 @@ static void dump_gen7_sampler_state(struct brw_context > *brw, > batch_out(brw, name, offset, 2, "default color pointer\n"); > batch_out(brw, name, offset, 3, "chroma key, aniso\n"); > > - samp++; > - offset += sizeof(*samp); > + samp += 4; > + offset += 4 * sizeof(uint32_t); > } > } > > - > static void dump_sf_viewport_state(struct brw_context *brw, > uint32_t offset) > { > @@ -590,11 +565,7 @@ dump_state_batch(struct brw_context *brw) > } > break; > case AUB_TRACE_SAMPLER_STATE: > - if (brw->gen < 7) { > - dump_sampler_state(brw, offset, size); > - } else { > - dump_gen7_sampler_state(brw, offset, size); > - } > + dump_sampler_state(brw, offset, size); > break; > case AUB_TRACE_SAMPLER_DEFAULT_COLOR: > dump_sdc(brw, offset); > -- > 2.0.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev