<p dir="ltr"><br>
On Aug 10, 2015 4:14 AM, "Neil Roberts" <<a href="mailto:neil@linux.intel.com">neil@linux.intel.com</a>> wrote:<br>
><br>
> If we go with this patch perhaps it would be good to remove<br>
> supports_simd16_3src entirely from brw_device_info and any code that is<br>
> referring to it in order to avoid carrying around useless code.<br>
> Currently it seems like it would be quite easy to add a new<br>
> brw_device_info and forget to add supports_simd16_3src and never notice<br>
> that it is redundantly using the fallback.</p>
<p dir="ltr">I would second that.</p>
<p dir="ltr">> This would be sort of a pain for me because my Skylake is still one that<br>
> needs this workaround but I guess I can just upgrade easily enough.<br>
><br>
> Regards,<br>
> - Neil<br>
><br>
> Ben Widawsky <<a href="mailto:benjamin.widawsky@intel.com">benjamin.widawsky@intel.com</a>> writes:<br>
><br>
> > We do not want bug reports from this early stepping of SKL. Few if any were ever<br>
> > shipped outside of Intel to early enabling partners, and none will be sold.<br>
> ><br>
> > There is a functional change here. If you're using new mesa on an old<br>
> > kernel/libdrm, the revid will be -1, and we'll use new SKL values instead of<br>
> > early ones (a hopefully irrelevant improvement IMO).<br>
> ><br>
> > Cc: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
> > Cc: Neil Roberts <<a href="mailto:neil@linux.intel.com">neil@linux.intel.com</a>><br>
> > Signed-off-by: Ben Widawsky <<a href="mailto:ben@bwidawsk.net">ben@bwidawsk.net</a>><br>
> > ---<br>
> >  src/mesa/drivers/dri/i965/brw_device_info.c | 15 +++++++--------<br>
> >  1 file changed, 7 insertions(+), 8 deletions(-)<br>
> ><br>
> > diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c<br>
> > index be517e8..fc89221 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_device_info.c<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_device_info.c<br>
> > @@ -322,10 +322,7 @@ static const struct brw_device_info brw_device_info_chv = {<br>
> >        .max_gs_entries = 640,                        \<br>
> >     }<br>
> ><br>
> > -static const struct brw_device_info brw_device_info_skl_early = {<br>
> > -   GEN9_FEATURES, .gt = 1,<br>
> > -   .supports_simd16_3src = false,<br>
> > -};<br>
> > +#define IS_SKL(devinfo) ((devinfo)->gen == 9 && !(devinfo)->is_broxton)<br>
> ><br>
> >  static const struct brw_device_info brw_device_info_skl_gt1 = {<br>
> >     GEN9_FEATURES, .gt = 1,<br>
> > @@ -376,10 +373,12 @@ brw_get_device_info(int devid, int revision)<br>
> >        return NULL;<br>
> >     }<br>
> ><br>
> > -   if (devinfo->gen == 9 &&<br>
> > -       !devinfo->is_broxton &&<br>
> > -       (revision == 2 || revision == 3 || revision == -1))<br>
> > -      return &brw_device_info_skl_early;<br>
> > +   if (IS_SKL(devinfo) && (revision != -1 && revision <= 3)) {<br>
> > +      fprintf(stderr,<br>
> > +              "i965_dri.so does not support this PCI ID with revision %d.\n",<br>
> > +              revision);<br>
> > +      return NULL;<br>
> > +   }<br>
> ><br>
> >     return devinfo;<br>
> >  }<br>
> > --<br>
> > 2.5.0<br>
</p>