u_inlines: split pipe_surface_init in pipe_surface_reset and *_init

This commit is contained in:
Luca Barbieri 2010-04-18 22:37:32 +02:00
parent 0490116f96
commit eeabe9d179
2 changed files with 10 additions and 3 deletions

View file

@ -122,9 +122,8 @@ pipe_sampler_view_reference(struct pipe_sampler_view **ptr, struct pipe_sampler_
*ptr = view;
}
/* you have to call pipe_reference_init(&ps->reference, 1) yourself if it is just allocated */
static INLINE void
pipe_surface_init(struct pipe_surface* ps, struct pipe_resource *pt,
pipe_surface_reset(struct pipe_surface* ps, struct pipe_resource *pt,
unsigned face, unsigned level, unsigned zslice, unsigned flags)
{
pipe_resource_reference(&ps->texture, pt);
@ -137,6 +136,15 @@ pipe_surface_init(struct pipe_surface* ps, struct pipe_resource *pt,
ps->zslice = zslice;
}
static INLINE void
pipe_surface_init(struct pipe_surface* ps, struct pipe_resource *pt,
unsigned face, unsigned level, unsigned zslice, unsigned flags)
{
ps->texture = 0;
pipe_reference_init(&ps->reference, 1);
pipe_surface_reset(ps, pt, face, level, zslice, flags);
}
/*
* Convenience wrappers for screen buffer functions.
*/

View file

@ -50,7 +50,6 @@ util_surfaces_do_get(struct util_surfaces *us, unsigned surface_struct_size, str
if(!ps)
return NULL;
pipe_reference_init(&ps->reference, 1);
pipe_surface_init(ps, pt, face, level, zslice, flags);
ps->offset = ~0;