nouveau: support getting "native" bo from winsys

This commit is contained in:
Ben Skeggs 2009-02-05 13:17:12 +10:00
parent ee97bcc66c
commit ae8a7544d1
2 changed files with 10 additions and 0 deletions

View file

@ -57,6 +57,8 @@ struct nouveau_winsys {
unsigned, unsigned, unsigned, unsigned);
int (*surface_fill)(struct nouveau_winsys *, struct pipe_surface *,
unsigned, unsigned, unsigned, unsigned, unsigned);
struct nouveau_bo *(*get_bo)(struct pipe_buffer *);
};
extern struct pipe_screen *

View file

@ -81,6 +81,12 @@ nouveau_pipe_push_flush(struct nouveau_winsys *nvws, unsigned size,
return nouveau_pushbuf_flush(nvws->channel, size);
}
static struct nouveau_bo *
nouveau_pipe_get_bo(struct pipe_buffer *pb)
{
return ((struct nouveau_pipe_buffer *)pb)->bo;
}
struct pipe_context *
nouveau_pipe_create(struct nouveau_context *nv)
{
@ -151,6 +157,8 @@ nouveau_pipe_create(struct nouveau_context *nv)
nvws->surface_copy = nouveau_pipe_surface_copy;
nvws->surface_fill = nouveau_pipe_surface_fill;
nvws->get_bo = nouveau_pipe_get_bo;
ws = nouveau_create_pipe_winsys(nv);
if (!nvc->pscreen)