On the "this is silly, I should really fix it" list forever... Reviewed-by: Chris Forbes <chr...@ijw.co.nz>
On Fri, Apr 24, 2015 at 6:02 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > Previously, sampler messages were decoded as > > sampler (1, 0, 2, 2) mlen 6 rlen 8 { align1 1H }; > > I don't know how much time we've collectly wasted trying to read this > format. I can never recall which number is the surface index, sampler > index, message type, or...whatever that other number is. Figuring out > the message name from the numerical code is also painful. > > Now they decode as: > > sampler sample_l SIMD16 Surface = 1 Sampler = 0 mlen 6 rlen 8 { align1 1H }; > > This is easy to read at a glance, and matches the format I used for > render target formats. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Cc: matts...@gmail.com > --- > src/mesa/drivers/dri/i965/brw_disasm.c | 38 > ++++++++++++++++++++++++++++++---- > 1 file changed, 34 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c > b/src/mesa/drivers/dri/i965/brw_disasm.c > index d1078c0..95e262a 100644 > --- a/src/mesa/drivers/dri/i965/brw_disasm.c > +++ b/src/mesa/drivers/dri/i965/brw_disasm.c > @@ -579,6 +579,34 @@ static const char *const urb_complete[2] = { > [1] = "complete" > }; > > +static const char *const gen5_sampler_msg_type[] = { > + [GEN5_SAMPLER_MESSAGE_SAMPLE] = "sample", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS] = "sample_b", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_LOD] = "sample_l", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE] = "sample_c", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_DERIVS] = "sample_d", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE] = "sample_b_c", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE] = "sample_l_c", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_LD] = "ld", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_GATHER4] = "gather4", > + [GEN5_SAMPLER_MESSAGE_LOD] = "lod", > + [GEN5_SAMPLER_MESSAGE_SAMPLE_RESINFO] = "resinfo", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_GATHER4_C] = "gather4_c", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_GATHER4_PO] = "gather4_po", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_GATHER4_PO_C] = "gather4_po_c", > + [HSW_SAMPLER_MESSAGE_SAMPLE_DERIV_COMPARE] = "sample_d_c", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_LD_MCS] = "ld_mcs", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_LD2DMS] = "ld2dms", > + [GEN7_SAMPLER_MESSAGE_SAMPLE_LD2DSS] = "ld2dss", > +}; > + > +static const char *const gen5_sampler_simd_mode[4] = { > + [BRW_SAMPLER_SIMD_MODE_SIMD4X2] = "SIMD4x2", > + [BRW_SAMPLER_SIMD_MODE_SIMD8] = "SIMD8", > + [BRW_SAMPLER_SIMD_MODE_SIMD16] = "SIMD16", > + [BRW_SAMPLER_SIMD_MODE_SIMD32_64] = "SIMD32/64", > +}; > + > static const char *const sampler_target_format[4] = { > [0] = "F", > [2] = "UD", > @@ -1374,11 +1402,13 @@ brw_disassemble_inst(FILE *file, const struct > brw_device_info *devinfo, > break; > case BRW_SFID_SAMPLER: > if (devinfo->gen >= 5) { > - format(file, " (%ld, %ld, %ld, %ld)", > + err |= control(file, "sampler message", gen5_sampler_msg_type, > + brw_inst_sampler_msg_type(devinfo, inst), > &space); > + err |= control(file, "sampler simd mode", > gen5_sampler_simd_mode, > + brw_inst_sampler_simd_mode(devinfo, inst), > &space); > + format(file, " Surface = %ld Sampler = %ld", > brw_inst_binding_table_index(devinfo, inst), > - brw_inst_sampler(devinfo, inst), > - brw_inst_sampler_msg_type(devinfo, inst), > - brw_inst_sampler_simd_mode(devinfo, inst)); > + brw_inst_sampler(devinfo, inst)); > } else { > format(file, " (%ld, %ld, %ld, ", > brw_inst_binding_table_index(devinfo, inst), > -- > 2.3.5 > > _______________________________________________ > 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