<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Oct 30, 2017 at 10:40 AM, Rafael Antognolli <span dir="ltr"><<a href="mailto:rafael.antognolli@intel.com" target="_blank">rafael.antognolli@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Oct 05, 2017 at 10:53:42AM -0700, Anuj Phogat wrote:<br>
> On Wed, Oct 4, 2017 at 9:29 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> > On Wed, Oct 4, 2017 at 3:11 PM, Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>> wrote:<br>
> >><br>
> >> On Mon, Oct 2, 2017 at 7:46 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
> >> wrote:<br>
> >> > On Mon, Oct 2, 2017 at 4:08 PM, Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br>
> >> > wrote:<br>
> >> >><br>
> >> >> Cc: <a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.<wbr>org</a><br>
> >> >> Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br>
> >> >> ---<br>
> >> >>  src/mesa/drivers/dri/i965/brw_<wbr>state_upload.c | 7 +++++--<br>
> >> >>  1 file changed, 5 insertions(+), 2 deletions(-)<br>
> >> >><br>
> >> >> diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_state_upload.c<br>
> >> >> b/src/mesa/drivers/dri/i965/<wbr>brw_state_upload.c<br>
> >> >> index a1bf54dc72..c224355a2b 100644<br>
> >> >> --- a/src/mesa/drivers/dri/i965/<wbr>brw_state_upload.c<br>
> >> >> +++ b/src/mesa/drivers/dri/i965/<wbr>brw_state_upload.c<br>
> >> >> @@ -88,8 +88,11 @@ brw_upload_initial_gpu_state(<wbr>struct brw_context<br>
> >> >> *brw)<br>
> >> >>     if (devinfo->gen == 10) {<br>
> >> >>        BEGIN_BATCH(2);<br>
> >> >>        OUT_BATCH(_3DSTATE_3D_MODE  << 16 | (2 - 2));<br>
> >> >> -      OUT_BATCH(GEN10_FLOAT_BLEND_<wbr>OPTIMIZATION_ENABLE << 16 |<br>
> >> >> -                GEN10_FLOAT_BLEND_<wbr>OPTIMIZATION_ENABLE);<br>
> >> >> +      /* From gen10 workaround table in h/w specs:<br>
> >> >> +       * "On 3DSTATE_3D_MODE, driver must always program bits 31:16 of<br>
> >> >> DW1<br>
> >> >> +       *  a value of 0xFFFF"<br>
> >> >> +       */<br>
> >> >> +      OUT_BATCH(0xFFFF << 16 | GEN10_FLOAT_BLEND_<wbr>OPTIMIZATION_ENABLE);<br>
> >> ><br>
> >> ><br>
> >> > Bits 31:16 are the mask bits.  By programming them to 0xFFFF, you're<br>
> >> > making<br>
> >> > it write the entire register and not just the float blend optimization<br>
> >> > enable bit.  If we're going to do that, we need to figure out what<br>
> >> > values we<br>
> >> > want in the other fields and always set them along with the float blend<br>
> >> > optimization enable bit.<br>
> >> ><br>
> >> Right. After looking at all other fields, I don't think we want to set<br>
> >> any of them except one. That field is "Slice Hashing Table Enable" which<br>
> >> says:<br>
> >> "For gen10, when the total number of subslices enabled is 6,8,10, or<br>
> >> 12, slice hashing table must be enabled."<br>
> >><br>
> >> I have no idea about slice hashing tables and I think enabling it<br>
> >> should be handled in a separate patch anyways.<br>
> ><br>
> ><br>
> > What I wonder is what we're using today.  I don't think mesa is actually<br>
> > setting anything other than the default right now but Ken was looking into<br>
> > it at one point.<br>
> Right. Mesa is not setting anything and default values are all zero.<br>
<br>
</div></div>If Jason is fine with that, patches 3 and 4 are<br>
<br>
Reviewed-by: Rafael Antognolli <<a href="mailto:rafael.antognolli@intel.com">rafael.antognolli@intel.com</a>><br>
</blockquote></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm fine with it so long as we improve the comment a bit.  In particular, how about something like this at the end:</div><div class="gmail_extra"><br></div><div class="gmail_extra">"This means that we end up setting the entire 3D_MODE state and not just the float blend optimization.  The other bits in this register control things such as slice hashing and we want the default values of zero."<br></div></div>