summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv10
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-03-30 20:32:22 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-03-30 20:40:27 +1000
commitbbefb541ad94382debb0f7a8daa636729799a31a (patch)
tree3f24aa5ffef5111705c05b395134a433d276658b /src/gallium/drivers/nv10
parent03c60e0fb691d39a168a8825ace7150ef3a20e02 (diff)
nouveau: adapt to recent gallium changes
Diffstat (limited to 'src/gallium/drivers/nv10')
-rw-r--r--src/gallium/drivers/nv10/nv10_context.c19
-rw-r--r--src/gallium/drivers/nv10/nv10_state.c18
2 files changed, 12 insertions, 25 deletions
diff --git a/src/gallium/drivers/nv10/nv10_context.c b/src/gallium/drivers/nv10/nv10_context.c
index 2599acf286..14042fb2fb 100644
--- a/src/gallium/drivers/nv10/nv10_context.c
+++ b/src/gallium/drivers/nv10/nv10_context.c
@@ -7,10 +7,10 @@
#include "nv10_screen.h"
static void
-nv10_flush(struct pipe_context *pipe, unsigned flags)
+nv10_flush(struct pipe_context *pipe, unsigned flags,
+ struct pipe_fence_handle **fence)
{
struct nv10_context *nv10 = nv10_context(pipe);
- struct nouveau_winsys *nvws = nv10->nvws;
if (flags & PIPE_FLUSH_TEXTURE_CACHE) {
BEGIN_RING(celsius, 0x1fd8, 1);
@@ -19,18 +19,7 @@ nv10_flush(struct pipe_context *pipe, unsigned flags)
OUT_RING (1);
}
- if (flags & PIPE_FLUSH_WAIT) {
- nvws->notifier_reset(nv10->sync, 0);
- BEGIN_RING(celsius, 0x104, 1);
- OUT_RING (0);
- BEGIN_RING(celsius, 0x100, 1);
- OUT_RING (0);
- }
-
- FIRE_RING();
-
- if (flags & PIPE_FLUSH_WAIT)
- nvws->notifier_wait(nv10->sync, 0, 0, 2000);
+ FIRE_RING(fence);
}
static void
@@ -253,7 +242,7 @@ nv10_init_hwctx(struct nv10_context *nv10, int celsius_class)
OUT_RING (1);
- FIRE_RING ();
+ FIRE_RING (NULL);
return TRUE;
}
diff --git a/src/gallium/drivers/nv10/nv10_state.c b/src/gallium/drivers/nv10/nv10_state.c
index d7c445f1b3..1ff01de106 100644
--- a/src/gallium/drivers/nv10/nv10_state.c
+++ b/src/gallium/drivers/nv10/nv10_state.c
@@ -633,24 +633,22 @@ nv10_set_viewport_state(struct pipe_context *pipe,
}
static void
-nv10_set_vertex_buffer(struct pipe_context *pipe, unsigned index,
- const struct pipe_vertex_buffer *vb)
+nv10_set_vertex_buffers(struct pipe_context *pipe, unsigned count,
+ const struct pipe_vertex_buffer *vb)
{
struct nv10_context *nv10 = nv10_context(pipe);
- nv10->vtxbuf[index] = *vb;
-
+ memcpy(nv10->vtxbuf, vb, sizeof(*vb) * count);
nv10->dirty |= NV10_NEW_ARRAYS;
}
static void
-nv10_set_vertex_element(struct pipe_context *pipe, unsigned index,
- const struct pipe_vertex_element *ve)
+nv10_set_vertex_elements(struct pipe_context *pipe, unsigned count,
+ const struct pipe_vertex_element *ve)
{
struct nv10_context *nv10 = nv10_context(pipe);
- nv10->vtxelt[index] = *ve;
-
+ memcpy(nv10->vtxelt, ve, sizeof(*ve) * count);
nv10->dirty |= NV10_NEW_ARRAYS;
}
@@ -693,7 +691,7 @@ nv10_init_state_functions(struct nv10_context *nv10)
nv10->pipe.set_scissor_state = nv10_set_scissor_state;
nv10->pipe.set_viewport_state = nv10_set_viewport_state;
- nv10->pipe.set_vertex_buffer = nv10_set_vertex_buffer;
- nv10->pipe.set_vertex_element = nv10_set_vertex_element;
+ nv10->pipe.set_vertex_buffers = nv10_set_vertex_buffers;
+ nv10->pipe.set_vertex_elements = nv10_set_vertex_elements;
}