[Mesa-dev] [PATCH] i965: Set point rasterization rule to UPPER_RIGHT on Gen6-7.5.

Rafael Antognolli rafael.antognolli at intel.com
Thu Apr 27 17:29:28 UTC 2017


Makes sense to me.

Reviewed-by: Rafael Antognolli <rafael.antognolli at intel.com>

On Wed, Apr 26, 2017 at 11:14:47PM -0700, Kenneth Graunke wrote:
> Gen4-5 and Gen8+ already set this, but Gen6-7.5 did not.  We ought to
> be consistent - the answer depends on the API, not the hardware generation.
> 
> The Sandybridge PRM says about RASTRULE_UPPER_RIGHT:
> 
>    "To match OpenGL point rasterization rules (round to +infinity, where
>     this is the upper right direction wrt OpenGL screen origin of lower
>     left).
> 
> So this is likely the one we should use.
> ---
>  src/mesa/drivers/dri/i965/gen6_wm_state.c | 2 ++
>  src/mesa/drivers/dri/i965/gen7_wm_state.c | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c
> index aabae70d10b..2fb2a333853 100644
> --- a/src/mesa/drivers/dri/i965/gen6_wm_state.c
> +++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c
> @@ -199,6 +199,8 @@ gen6_upload_wm_state(struct brw_context *brw,
>        dw6 |= GEN6_WM_MSDISPMODE_PERSAMPLE;
>     }
>  
> +   dw6 |= GEN6_WM_POINT_RASTRULE_UPPER_RIGHT;
> +
>     /* From the SNB PRM, volume 2 part 1, page 281:
>      * "If the PS kernel does not need the Position XY Offsets
>      * to compute a Position XY value, then this field should be
> diff --git a/src/mesa/drivers/dri/i965/gen7_wm_state.c b/src/mesa/drivers/dri/i965/gen7_wm_state.c
> index 1c33db4d3b5..5efe55a0088 100644
> --- a/src/mesa/drivers/dri/i965/gen7_wm_state.c
> +++ b/src/mesa/drivers/dri/i965/gen7_wm_state.c
> @@ -51,6 +51,7 @@ upload_wm_state(struct brw_context *brw)
>     dw1 |= GEN7_WM_STATISTICS_ENABLE;
>     dw1 |= GEN7_WM_LINE_AA_WIDTH_1_0;
>     dw1 |= GEN7_WM_LINE_END_CAP_AA_WIDTH_0_5;
> +   dw1 |= GEN7_WM_POINT_RASTRULE_UPPER_RIGHT;
>  
>     /* _NEW_LINE */
>     if (ctx->Line.StippleFlag)
> -- 
> 2.12.2
> 
> _______________________________________________
> 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