Mesa (master): winsys/radeon: use type-3 NOPs for CS padding on CIK

Marek Olšák mareko at kemper.freedesktop.org
Mon Nov 4 18:11:06 UTC 2013


Module: Mesa
Branch: master
Commit: 5e438194757fb7e013ea039dfddd75ae469d8164
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e438194757fb7e013ea039dfddd75ae469d8164

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Oct 30 00:22:01 2013 +0100

winsys/radeon: use type-3 NOPs for CS padding on CIK

The type-2 NOPs are said to be unstable. It doesn't make a difference here.

---

 src/gallium/winsys/radeon/drm/radeon_drm_cs.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
index e5723a5..acb12b2 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
@@ -491,8 +491,13 @@ static void radeon_drm_cs_flush(struct radeon_winsys_cs *rcs, unsigned flags, ui
 				    OUT_CS(&cs->base, 0xffff1000); /* type3 nop packet */
 		    }
 	    } else {
-		    while (rcs->cdw & 7)
-			    OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
+		    if (cs->ws->info.chip_class <= SI) {
+			    while (rcs->cdw & 7)
+				    OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
+		    } else {
+			    while (rcs->cdw & 7)
+				    OUT_CS(&cs->base, 0xffff1000); /* type3 nop packet */
+		    }
 	    }
 	    break;
     case RING_UVD:




More information about the mesa-commit mailing list