[Mesa-dev] [RFC PATCH 1/5] i965/eu: set correct execution size in brw_NOP
Iago Toral
itoral at igalia.com
Thu Dec 10 00:19:22 PST 2015
On Wed, 2015-12-09 at 10:38 -0800, Matt Turner wrote:
> On Wed, Dec 9, 2015 at 4:15 AM, Iago Toral Quiroga <itoral at igalia.com> wrote:
> > ---
> > src/mesa/drivers/dri/i965/brw_eu_emit.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > index f8c0f80..9543d5e 100644
> > --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > @@ -1256,6 +1256,7 @@ brw_F16TO32(struct brw_codegen *p, struct brw_reg dst, struct brw_reg src)
> > void brw_NOP(struct brw_codegen *p)
> > {
> > brw_inst *insn = next_insn(p, BRW_OPCODE_NOP);
> > + brw_inst_set_exec_size(p->devinfo, insn, BRW_EXECUTE_4);
>
> I don't follow this change. Was this implicitly set before?
Yes, brw_NOP's uses brw_vec4_grf() for both dst and src0, so the code in
brw_set_dest will set an execution size of 4 (otherwise we hit the
assertion in validate_reg that checks execsize >= width). I have changed
this to use brw_vec1_grf and an execsize of 1 and it seems to work fine
though, so I'll merge that change in the patch.
Thanks Matt!
Iago
> At least in newer documentation, NOP is defined to have nearly all
> fields 0 which would mean execution size must be 1.
>
More information about the mesa-dev
mailing list