nvc0: fix mp_stack_bo relocation
Fixes a PT_NOT_PRESENT error cause by: - allocating in VRAM - emitting GART relocs to 0x17bc/0x17c0, moving the buffer - telling the bufmgr that the buffer should be in VRAM when we use it, but not correcting the value sent to 0x17bc/0x17c0. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
@@ -503,8 +503,8 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
|
||||
goto fail;
|
||||
|
||||
BEGIN_RING(chan, RING_3D_(0x17bc), 3);
|
||||
OUT_RELOCh(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_GART | NOUVEAU_BO_RDWR);
|
||||
OUT_RELOCl(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_GART | NOUVEAU_BO_RDWR);
|
||||
OUT_RELOCh(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR);
|
||||
OUT_RELOCl(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR);
|
||||
OUT_RING (chan, 1);
|
||||
|
||||
ret = nouveau_bo_new(dev, NOUVEAU_BO_VRAM, 1 << 17, 1 << 17, &screen->txc);
|
||||
|
||||
Reference in New Issue
Block a user