summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2013-10-30 00:22:01 +0100
committerMarek Olšák <marek.olsak@amd.com>2013-11-04 19:07:56 +0100
commit5e438194757fb7e013ea039dfddd75ae469d8164 (patch)
treef4ae040266933d6ba881a22e924446a561d1346a /src/gallium
parent1b2c6cd205bc35f0409ccf055a77e8ca6eab0db3 (diff)
downloadexternal_mesa3d-5e438194757fb7e013ea039dfddd75ae469d8164.zip
external_mesa3d-5e438194757fb7e013ea039dfddd75ae469d8164.tar.gz
external_mesa3d-5e438194757fb7e013ea039dfddd75ae469d8164.tar.bz2
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.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_cs.c9
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: