summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/nouveau_winsys/nouveau_winsys_pipe.c21
-rw-r--r--src/mesa/pipe/nv40/nv40_fragprog.c2
-rw-r--r--src/mesa/pipe/nv40/nv40_miptree.c2
3 files changed, 16 insertions, 9 deletions
diff --git a/src/mesa/drivers/dri/nouveau_winsys/nouveau_winsys_pipe.c b/src/mesa/drivers/dri/nouveau_winsys/nouveau_winsys_pipe.c
index adbf6b28e8..fdfad4a539 100644
--- a/src/mesa/drivers/dri/nouveau_winsys/nouveau_winsys_pipe.c
+++ b/src/mesa/drivers/dri/nouveau_winsys/nouveau_winsys_pipe.c
@@ -73,7 +73,8 @@ nouveau_surface_release(struct pipe_winsys *ws, struct pipe_surface **s)
}
static struct pipe_buffer_handle *
-nouveau_pipe_bo_create(struct pipe_winsys *pws, unsigned alignment)
+nouveau_pipe_bo_create(struct pipe_winsys *pws, unsigned alignment,
+ unsigned flags, unsigned hint)
{
struct nouveau_pipe_winsys *nvpws = (struct nouveau_pipe_winsys *)pws;
struct nouveau_device *dev = nvpws->nv->nv_screen->device;
@@ -144,7 +145,7 @@ nouveau_pipe_bo_reference(struct pipe_winsys *pws,
}
}
-static void
+static int
nouveau_pipe_bo_data(struct pipe_winsys *pws, struct pipe_buffer_handle *bo,
unsigned size, const void *data, unsigned usage)
{
@@ -155,13 +156,15 @@ nouveau_pipe_bo_data(struct pipe_winsys *pws, struct pipe_buffer_handle *bo,
if (data) {
if (nouveau_bo_map(nvbo, NOUVEAU_BO_WR))
- return;
+ return 1;
memcpy(nvbo->map, data, size);
nouveau_bo_unmap(nvbo);
}
+
+ return 0;
}
-static void
+static int
nouveau_pipe_bo_subdata(struct pipe_winsys *pws, struct pipe_buffer_handle *bo,
unsigned long offset, unsigned long size,
const void *data)
@@ -169,12 +172,14 @@ nouveau_pipe_bo_subdata(struct pipe_winsys *pws, struct pipe_buffer_handle *bo,
struct nouveau_bo *nvbo = (struct nouveau_bo *)bo;
if (nouveau_bo_map(nvbo, NOUVEAU_BO_WR))
- return;
+ return 1;
memcpy(nvbo->map + offset, data, size);
nouveau_bo_unmap(nvbo);
+
+ return 0;
}
-static void
+static int
nouveau_pipe_bo_get_subdata(struct pipe_winsys *pws,
struct pipe_buffer_handle *bo, unsigned long offset,
unsigned long size, void *data)
@@ -182,9 +187,11 @@ nouveau_pipe_bo_get_subdata(struct pipe_winsys *pws,
struct nouveau_bo *nvbo = (struct nouveau_bo *)bo;
if (nouveau_bo_map(nvbo, NOUVEAU_BO_RD))
- return;
+ return 1;
memcpy(data, nvbo->map + offset, size);
nouveau_bo_unmap(nvbo);
+
+ return 0;
}
struct pipe_winsys *
diff --git a/src/mesa/pipe/nv40/nv40_fragprog.c b/src/mesa/pipe/nv40/nv40_fragprog.c
index 8f3eeb1f48..cc3cb97043 100644
--- a/src/mesa/pipe/nv40/nv40_fragprog.c
+++ b/src/mesa/pipe/nv40/nv40_fragprog.c
@@ -695,7 +695,7 @@ nv40_fragprog_bind(struct nv40_context *nv40, struct nv40_fragment_program *fp)
if (!fp->on_hw) {
if (!fp->buffer)
- fp->buffer = ws->buffer_create(ws, 0x100);
+ fp->buffer = ws->buffer_create(ws, 0x100, 0, 0);
#if 0
int i;
diff --git a/src/mesa/pipe/nv40/nv40_miptree.c b/src/mesa/pipe/nv40/nv40_miptree.c
index 45711f064d..3844dd9dda 100644
--- a/src/mesa/pipe/nv40/nv40_miptree.c
+++ b/src/mesa/pipe/nv40/nv40_miptree.c
@@ -68,7 +68,7 @@ nv40_miptree_create(struct pipe_context *pipe, struct pipe_texture **pt)
memcpy(&nv40mt->base, mt, sizeof(struct pipe_texture));
nv40_miptree_layout(nv40mt);
- nv40mt->buffer = ws->buffer_create(ws, PIPE_SURFACE_FLAG_TEXTURE);
+ nv40mt->buffer = ws->buffer_create(ws, 0, PIPE_SURFACE_FLAG_TEXTURE, 0);
if (!nv40mt->buffer) {
free(nv40mt);
return;