nv50,nvc0: avoid unnecessary flushes
Relocations don't consume pushbuffer space, so there is no need to ensure there is any space in pushbuffer.
This commit is contained in:
@@ -205,7 +205,7 @@ nv50_bufctx_emit_relocs(struct nv50_context *nv50)
|
||||
n = nv50->residents_size / sizeof(struct resident);
|
||||
n += NV50_SCREEN_RESIDENT_BO_COUNT;
|
||||
|
||||
MARK_RING(nv50->screen->base.channel, n, n);
|
||||
MARK_RING(nv50->screen->base.channel, 0, n);
|
||||
|
||||
for (ctx = 0; ctx < NV50_BUFCTX_COUNT; ++ctx) {
|
||||
array = &nv50->residents[ctx];
|
||||
|
||||
@@ -641,7 +641,7 @@ nv50_screen_make_buffers_resident(struct nv50_screen *screen)
|
||||
|
||||
const unsigned flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD;
|
||||
|
||||
MARK_RING(chan, 5, 5);
|
||||
MARK_RING(chan, 0, 5);
|
||||
nouveau_bo_validate(chan, screen->code, flags);
|
||||
nouveau_bo_validate(chan, screen->uniforms, flags);
|
||||
nouveau_bo_validate(chan, screen->txc, flags);
|
||||
|
||||
@@ -209,7 +209,7 @@ nvc0_bufctx_emit_relocs(struct nvc0_context *nvc0)
|
||||
n = nvc0->residents_size / sizeof(struct resident);
|
||||
n += NVC0_SCREEN_RESIDENT_BO_COUNT;
|
||||
|
||||
MARK_RING(nvc0->screen->base.channel, n, n);
|
||||
MARK_RING(nvc0->screen->base.channel, 0, n);
|
||||
|
||||
for (ctx = 0; ctx < NVC0_BUFCTX_COUNT; ++ctx) {
|
||||
array = &nvc0->residents[ctx];
|
||||
|
||||
@@ -659,7 +659,7 @@ nvc0_screen_make_buffers_resident(struct nvc0_screen *screen)
|
||||
|
||||
const unsigned flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD;
|
||||
|
||||
MARK_RING(chan, 5, 5);
|
||||
MARK_RING(chan, 0, 5);
|
||||
nouveau_bo_validate(chan, screen->text, flags);
|
||||
nouveau_bo_validate(chan, screen->uniforms, flags);
|
||||
nouveau_bo_validate(chan, screen->txc, flags);
|
||||
|
||||
Reference in New Issue
Block a user