nv50: move surface_map/unmap into nv50_surface.c

This commit is contained in:
Ben Skeggs 2008-06-17 23:43:38 +10:00
parent fd7412a7f1
commit 65ad8176ca
3 changed files with 35 additions and 27 deletions

View file

@ -118,28 +118,6 @@ nv50_screen_get_paramf(struct pipe_screen *pscreen, int param)
}
}
static void *
nv50_surface_map(struct pipe_screen *screen, struct pipe_surface *surface,
unsigned flags )
{
struct pipe_winsys *ws = screen->winsys;
void *map;
map = ws->buffer_map(ws, surface->buffer, flags);
if (!map)
return NULL;
return map + surface->offset;
}
static void
nv50_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)
{
struct pipe_winsys *ws = screen->winsys;
ws->buffer_unmap(ws, surface->buffer);
}
static void
nv50_screen_destroy(struct pipe_screen *pscreen)
{
@ -309,10 +287,8 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)
screen->pipe.is_format_supported = nv50_screen_is_format_supported;
screen->pipe.surface_map = nv50_surface_map;
screen->pipe.surface_unmap = nv50_surface_unmap;
nv50_screen_init_miptree_functions(&screen->pipe);
nv50_surface_init_screen_functions(&screen->pipe);
return &screen->pipe;
}

View file

@ -26,4 +26,6 @@ nv50_screen(struct pipe_screen *screen)
return (struct nv50_screen *)screen;
}
void nv50_surface_init_screen_functions(struct pipe_screen *);
#endif

View file

@ -57,9 +57,39 @@ nv50_surface_fill(struct pipe_context *pipe, struct pipe_surface *dest,
nvws->surface_fill(nvws, dest, destx, desty, width, height, value);
}
static void *
nv50_surface_map(struct pipe_screen *screen, struct pipe_surface *surface,
unsigned flags )
{
struct pipe_winsys *ws = screen->winsys;
void *map;
map = ws->buffer_map(ws, surface->buffer, flags);
if (!map)
return NULL;
return map + surface->offset;
}
static void
nv50_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)
{
struct pipe_winsys *ws = screen->winsys;
ws->buffer_unmap(ws, surface->buffer);
}
void
nv50_init_surface_functions(struct nv50_context *nv50)
{
nv50->pipe.surface_copy = nv50_surface_copy;
nv50->pipe.surface_fill = nv50_surface_fill;
nv50->pipe.surface_copy = nv50_surface_copy;
nv50->pipe.surface_fill = nv50_surface_fill;
}
void
nv50_surface_init_screen_functions(struct pipe_screen *pscreen)
{
pscreen->surface_map = nv50_surface_map;
pscreen->surface_unmap = nv50_surface_unmap;
}