summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_screen.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-03-12 02:56:10 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-03-12 02:56:10 +1100
commit3250bacd2411d3f1af50135599380b2140238535 (patch)
tree11d07019acc1430a1bd84b54472a83c7225e6cd4 /src/gallium/drivers/nv50/nv50_screen.c
parentb2e48f848496d5e315e536688c8c33dfb1fab7eb (diff)
nv50: create blend stateobj
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_screen.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index f8fd11dc5f..62c23c790c 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -103,6 +103,7 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
struct nv50_screen *screen = CALLOC_STRUCT(nv50_screen);
struct nouveau_stateobj *so;
unsigned tesla_class = 0, ret;
+ int i;
if (!screen)
return NULL;
@@ -146,6 +147,15 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
so = so_new(128, 0);
so_method(so, screen->tesla, NV50TCL_DMA_NOTIFY, 1);
so_data (so, screen->sync->handle);
+ so_method(so, screen->tesla, NV50TCL_DMA_IN_MEMORY0(0),
+ NV50TCL_DMA_IN_MEMORY0__SIZE);
+ for (i = 0; i < NV50TCL_DMA_IN_MEMORY0__SIZE; i++)
+ so_data(so, nvws->channel->vram->handle);
+ so_method(so, screen->tesla, NV50TCL_DMA_IN_MEMORY1(0),
+ NV50TCL_DMA_IN_MEMORY1__SIZE);
+ for (i = 0; i < NV50TCL_DMA_IN_MEMORY1__SIZE; i++)
+ so_data(so, nvws->channel->vram->handle);
+
so_emit(nvws, so);
so_ref(NULL, &so);
nvws->push_flush(nvws->channel, 0);