i965/gen10: emit 3DSTATE_MULTISAMPLE more often.
authorRafael Antognolli <rafael.antognolli@intel.com>
Mon, 2 Oct 2017 18:06:05 +0000 (11:06 -0700)
committerRafael Antognolli <rafael.antognolli@intel.com>
Fri, 1 Dec 2017 19:27:19 +0000 (11:27 -0800)
On CNL, we see multiple multisample failures on piglit tests. By
emitting this extra state, though not documented in the bspec, those
failures seem to go away.

This workaround could be removed if we ever find out a better solution,
but it should be good enough for now.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/genX_state_upload.c

index 8e500d3d28553c55b6ee0c3296840632fd9b6565..dcf497c9183e2e87ae92e89a8bb49cc15ec2f889 100644 (file)
@@ -3298,7 +3298,8 @@ genX(upload_multisample_state)(struct brw_context *brw)
 
 static const struct brw_tracked_state genX(multisample_state) = {
    .dirty = {
-      .mesa = _NEW_MULTISAMPLE,
+      .mesa = _NEW_MULTISAMPLE |
+              (GEN_GEN == 10 ? _NEW_BUFFERS : 0),
       .brw = BRW_NEW_BLORP |
              BRW_NEW_CONTEXT |
              BRW_NEW_NUM_SAMPLES,