From db37279e0b3620c6be9de6dd96f0f4dac63bb48c Mon Sep 17 00:00:00 2001 From: Maarten Maathuis Date: Mon, 14 Sep 2009 19:42:53 +0200 Subject: nv50: use flush_notify to reduce number of relocs --- src/gallium/drivers/nv50/nv50_context.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gallium/drivers/nv50/nv50_context.c') diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c index 6e8f4f9750..935de8af52 100644 --- a/src/gallium/drivers/nv50/nv50_context.c +++ b/src/gallium/drivers/nv50/nv50_context.c @@ -110,6 +110,9 @@ nv50_create(struct pipe_screen *pscreen, unsigned pctx_id) nv50->pipe.is_texture_referenced = nv50_is_texture_referenced; nv50->pipe.is_buffer_referenced = nv50_is_buffer_referenced; + screen->base.channel->user_private = nv50; + screen->base.channel->flush_notify = nv50_state_flush_notify; + nv50_init_surface_functions(nv50); nv50_init_state_functions(nv50); nv50_init_query_functions(nv50); -- cgit v1.2.3 From 26860a6e2f2a30072594d4f68fbf7db6356bb674 Mon Sep 17 00:00:00 2001 From: Maarten Maathuis Date: Mon, 14 Sep 2009 20:21:56 +0200 Subject: nv50: avoid excessive FIRE_RING - And reduce RING_SPACE to 2, instead of 3. --- src/gallium/drivers/nv50/nv50_context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/gallium/drivers/nv50/nv50_context.c') diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c index 935de8af52..fca078b174 100644 --- a/src/gallium/drivers/nv50/nv50_context.c +++ b/src/gallium/drivers/nv50/nv50_context.c @@ -37,11 +37,12 @@ nv50_flush(struct pipe_context *pipe, unsigned flags, /* We need this in the ddx for reliable composite, not sure what we're * actually flushing. We generate all our own flushes with flags = 0. */ - WAIT_RING(chan, 3); + WAIT_RING(chan, 2); BEGIN_RING(chan, eng2d, 0x0110, 1); OUT_RING (chan, 0); - FIRE_RING(chan); + if (flags & PIPE_FLUSH_FRAME) + FIRE_RING(chan); } static void -- cgit v1.2.3