nv50: remove previous hack to manage tiled surfaces

This commit is contained in:
Ben Skeggs
2009-01-12 15:19:35 +10:00
parent 515c3d9bc1
commit f935f35287
2 changed files with 1 additions and 33 deletions
-1
View File
@@ -91,7 +91,6 @@ nv50_miptree(struct pipe_texture *pt)
struct nv50_surface {
struct pipe_surface base;
struct pipe_buffer *untiled;
};
static INLINE struct nv50_surface *
+1 -32
View File
@@ -63,48 +63,17 @@ static void *
nv50_surface_map(struct pipe_screen *screen, struct pipe_surface *ps,
unsigned flags )
{
struct nouveau_winsys *nvws = nv50_screen(screen)->nvws;
struct pipe_winsys *ws = screen->winsys;
struct nv50_surface *s = nv50_surface(ps);
struct nv50_surface m = *s;
void *map;
if (!s->untiled) {
s->untiled = ws->buffer_create(ws, 0, 0, ps->buffer->size);
m.base.buffer = s->untiled;
nvws->surface_copy(nvws, &m.base, 0, 0, &s->base, 0, 0,
ps->width, ps->height);
}
/* Map original tiled surface to disallow it being validated while
* untiled mirror is mapped.
*/
ws->buffer_map(ws, ps->buffer, flags);
map = ws->buffer_map(ws, s->untiled, flags);
if (!map)
return NULL;
return map;
return ws->buffer_map(ws, ps->buffer, flags);
}
static void
nv50_surface_unmap(struct pipe_screen *pscreen, struct pipe_surface *ps)
{
struct nouveau_winsys *nvws = nv50_screen(pscreen)->nvws;
struct pipe_winsys *ws = pscreen->winsys;
struct nv50_surface *s = nv50_surface(ps);
struct nv50_surface m = *s;
ws->buffer_unmap(ws, s->untiled);
ws->buffer_unmap(ws, ps->buffer);
m.base.buffer = s->untiled;
nvws->surface_copy(nvws, &s->base, 0, 0, &m.base, 0, 0,
ps->width, ps->height);
pipe_buffer_reference(pscreen, &s->untiled, NULL);
}
void