<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 4, 2017 at 3:11 PM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.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 Mon, Oct 2, 2017 at 7:46 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> 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>> 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 *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 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 values we<br>
> want in the other fields and always set them along with the float blend<br>
> optimization enable bit.<br>
><br>
</div></div>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 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>
</blockquote></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">What I wonder is what we're using today.  I don't think mesa is actually setting anything other than the default right now but Ken was looking into it at one point.<br></div></div>