[Mesa-dev] [PATCH v2 4/4] i965/gen10: Implement Wa3DStateMode
Anuj Phogat
anuj.phogat at gmail.com
Fri Nov 3 01:06:14 UTC 2017
On Thu, Nov 2, 2017 at 11:26 AM, Nanley Chery <nanleychery at gmail.com> wrote:
> On Wed, Nov 01, 2017 at 03:52:15PM -0700, Anuj Phogat wrote:
>> V2: Remove the bits enabling Float blend optimization. It is
>> enabled through CACHE_MODE_SS register.
>> Update the comment.
>>
>> This workaround doesn't fix any of the piglit hangs we've seen
>> on CNL.
>>
>
> I haven't seen this format in the git logs before..
>
>> Cc: Nanley Chery <nanley.g.chery at intel.com>
>> Cc: Jason Ekstrand <jason at jlekstrand.net>
>> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
>> Reviewed-by: Rafael Antognolli <rafael.antognolli at intel.com>
>> ---
>> src/mesa/drivers/dri/i965/brw_defines.h | 2 ++
>> src/mesa/drivers/dri/i965/brw_state_upload.c | 12 ++++++++++++
>> 2 files changed, 14 insertions(+)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h
>> index 3008a1b8a7..1c2f06546e 100644
>> --- a/src/mesa/drivers/dri/i965/brw_defines.h
>> +++ b/src/mesa/drivers/dri/i965/brw_defines.h
>> @@ -1333,6 +1333,8 @@ enum brw_pixel_shader_coverage_mask_mode {
>> /* DW2: start address */
>> /* DW3: end address. */
>>
>> +#define _3DSTATE_3D_MODE 0x791e
>> +
>> #define CMD_MI_FLUSH 0x0200
>>
>> # define BLT_X_SHIFT 0
>> diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
>> index 7df06a6e4d..76c137c90e 100644
>> --- a/src/mesa/drivers/dri/i965/brw_state_upload.c
>> +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
>> @@ -89,6 +89,18 @@ brw_upload_initial_gpu_state(struct brw_context *brw)
>> brw_load_register_imm32(brw, GEN10_CACHE_MODE_SS,
>> REG_MASK(GEN10_FLOAT_BLEND_OPTIMIZATION_ENABLE) |
>> GEN10_FLOAT_BLEND_OPTIMIZATION_ENABLE);
>> +
>> + /* From gen10 workaround table in h/w specs:
>> + * "On 3DSTATE_3D_MODE, driver must always program bits 31:16 of DW1
>> + * a value of 0xFFFF"
>> + * This means that we end up setting the entire 3D_MODE state. Bits
>> + * in this register control things such as slice hashing and we want
>> + * the default values of zero at the moment.
> ^ Extra space for the last 3 lines here.
>
> To fit in with similar messages in the codebase, maybe format it like this:
>
> /* From gen10 workaround table in h/w specs:
> *
> * "On 3DSTATE_3D_MODE, driver must always program bits 31:16 of DW1
> * a value of 0xFFFF"
> *
> * This means that we end up setting the entire 3D_MODE state. Bits
> * in this register control things such as slice hashing and we want
> * the default values of zero at the moment.
> */
>
> With the commit message and space fixed, this patch is
> Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
>
Fixed locally.
>> + */
>> + BEGIN_BATCH(2);
>> + OUT_BATCH(_3DSTATE_3D_MODE << 16 | (2 - 2));
>> + OUT_BATCH(0xFFFF << 16);
>> + ADVANCE_BATCH();
>> }
>>
>> if (devinfo->gen >= 8) {
>> --
>> 2.13.5
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list