[Mesa-dev] [PATCH v2 4/4] i965/gen10: Implement Wa3DStateMode

Nanley Chery nanleychery at gmail.com
Thu Nov 2 18:26:40 UTC 2017


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>

> +       */
> +      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