[Mesa-dev] [PATCH] winsys/radeon: fix nop packet padding v2.
j.glisse at gmail.com
j.glisse at gmail.com
Thu Jul 24 15:28:22 PDT 2014
From: Jerome Glisse <jglisse at redhat.com>
The ucode we got for hawaii does not support 0xffff1000 special nop
packet type 3 and this leads to gpu reading invalid memory. As packet
type 2 still exist just use packet type 2.
Note this only partialy fix hawaii issues and some zbuffer tiling
issues are still present.
Changed since v1:
- use packet type 2 instead of packet 3.
Signed-off-by: Jérôme Glisse <jglisse at redhat.com>
---
src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
index a06ecb2..9ac7d0e 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
@@ -447,13 +447,8 @@ static void radeon_drm_cs_flush(struct radeon_winsys_cs *rcs,
/* pad DMA ring to 8 DWs to meet CP fetch alignment requirements
* r6xx, requires at least 4 dw alignment to avoid a hw bug.
*/
- 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 */
- }
+ while (rcs->cdw & 7)
+ OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
break;
case RING_UVD:
while (rcs->cdw & 15)
--
1.8.3.1
More information about the mesa-dev
mailing list