[Mesa-dev] [PATCH 1/2] winsys/radeon: use type-3 NOPs for CS padding on CIK

Marek Olšák maraeo at gmail.com
Wed Oct 30 00:45:48 CET 2013


From: Marek Olšák <marek.olsak at amd.com>

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 file 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:
-- 
1.8.1.2



More information about the mesa-dev mailing list