From 2d10eb5ed8e360f8c5ddf2e29e60f7059a53a6e6 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Thu, 26 Oct 2017 11:02:36 -0700 Subject: [PATCH] i965/gen10: Don't set Smooth Point Enable in 3DSTATE_SF if num_samples > 1 Signed-off-by: Anuj Phogat Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/genX_state_upload.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c index b7a6cd73619..ca081de2243 100644 --- a/src/mesa/drivers/dri/i965/genX_state_upload.c +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c @@ -1626,6 +1626,16 @@ genX(upload_sf)(struct brw_context *brw) sf.SmoothPointEnable = true; #endif +#if GEN_GEN == 10 + /* _NEW_BUFFERS + * Smooth Point Enable bit MUST not be set when NUM_MULTISAMPLES > 1. + */ + const bool multisampled_fbo = + _mesa_geometric_samples(ctx->DrawBuffer) > 1; + if (multisampled_fbo) + sf.SmoothPointEnable = false; +#endif + #if GEN_IS_G4X || GEN_GEN >= 5 sf.AALineDistanceMode = AALINEDISTANCE_TRUE; #endif @@ -1681,7 +1691,8 @@ static const struct brw_tracked_state genX(sf_state) = { _NEW_POINT | _NEW_PROGRAM | (GEN_GEN >= 6 ? _NEW_MULTISAMPLE : 0) | - (GEN_GEN <= 7 ? _NEW_BUFFERS | _NEW_POLYGON : 0), + (GEN_GEN <= 7 ? _NEW_BUFFERS | _NEW_POLYGON : 0) | + (GEN_GEN == 10 ? _NEW_BUFFERS : 0), .brw = BRW_NEW_BLORP | BRW_NEW_VUE_MAP_GEOM_OUT | (GEN_GEN <= 5 ? BRW_NEW_BATCH | -- 2.30.2