diff options
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r-- | src/gallium/drivers/nouveau/nouveau_buffer.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nouveau_context.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nouveau_winsys.h | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c index 653acaa18fe..d2d011346e9 100644 --- a/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c @@ -135,7 +135,7 @@ nouveau_buffer_upload(struct nouveau_context *nv, struct nv04_resource *buf, struct nouveau_bo *bounce = NULL; uint32_t offset; - if (size <= 192) { + if (size <= 192 && (nv->push_data || nv->push_cb)) { if (buf->base.bind & PIPE_BIND_CONSTANT_BUFFER) nv->push_cb(nv, buf->bo, buf->domain, buf->offset, buf->base.width0, start, size / 4, (const uint32_t *)(buf->data + start)); diff --git a/src/gallium/drivers/nouveau/nouveau_context.h b/src/gallium/drivers/nouveau/nouveau_context.h index 4e6085f6935..79efd08fa91 100644 --- a/src/gallium/drivers/nouveau/nouveau_context.h +++ b/src/gallium/drivers/nouveau/nouveau_context.h @@ -3,12 +3,11 @@ #include "pipe/p_context.h" -struct nouveau_pushbuf; - struct nouveau_context { struct pipe_context pipe; struct nouveau_screen *screen; + struct nouveau_client *client; struct nouveau_pushbuf *pushbuf; boolean vbo_dirty; diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h index 9fb865e170d..faaa5243f62 100644 --- a/src/gallium/drivers/nouveau/nouveau_winsys.h +++ b/src/gallium/drivers/nouveau/nouveau_winsys.h @@ -75,6 +75,9 @@ nouveau_screen_transfer_flags(unsigned pipe) } extern struct pipe_screen * +nv30_screen_create(struct nouveau_device *); + +extern struct pipe_screen * nv50_screen_create(struct nouveau_device *); extern struct pipe_screen * |