nv50: crappy state validate/emit function

Just for testing stateobjs to make sure they don't hang the engine.
This commit is contained in:
Ben Skeggs 2008-03-12 02:59:20 +11:00
parent 3250bacd24
commit 9c29512154
4 changed files with 25 additions and 0 deletions

View file

@ -11,6 +11,7 @@ DRIVER_SOURCES = \
nv50_query.c \
nv50_screen.c \
nv50_state.c \
nv50_state_validate.c \
nv50_surface.c \
nv50_vbo.c

View file

@ -70,4 +70,6 @@ extern boolean nv50_draw_elements(struct pipe_context *pipe,
extern void nv50_clear(struct pipe_context *pipe, struct pipe_surface *ps,
unsigned clearValue);
extern boolean nv50_state_validate(struct nv50_context *nv50);
#endif

View file

@ -0,0 +1,14 @@
#include "nv50_context.h"
#include "nouveau/nouveau_stateobj.h"
boolean
nv50_state_validate(struct nv50_context *nv50)
{
struct nouveau_winsys *nvws = nv50->screen->nvws;
if (nv50->dirty & NV50_NEW_BLEND)
so_emit(nvws, nv50->blend->so);
return TRUE;
}

View file

@ -9,6 +9,10 @@ boolean
nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start,
unsigned count)
{
struct nv50_context *nv50 = nv50_context(pipe);
nv50_state_validate(nv50);
NOUVEAU_ERR("unimplemented\n");
return TRUE;
}
@ -18,6 +22,10 @@ nv50_draw_elements(struct pipe_context *pipe,
struct pipe_buffer *indexBuffer, unsigned indexSize,
unsigned mode, unsigned start, unsigned count)
{
struct nv50_context *nv50 = nv50_context(pipe);
nv50_state_validate(nv50);
NOUVEAU_ERR("unimplemented\n");
return TRUE;
}