diff options
author | Luca Barbieri <[email protected]> | 2010-04-18 14:53:25 +0200 |
---|---|---|
committer | Luca Barbieri <[email protected]> | 2010-04-18 16:23:11 +0200 |
commit | 24af25df2b0381d359f16abc815c95c0d500598b (patch) | |
tree | a03646bbaa614ff95352badca94ad8fec4b45eca /src/gallium/auxiliary/util/u_inlines.h | |
parent | 2ac088141a1d150e0468ba5b74a3c8a99ee78124 (diff) |
u_inlines: add function to initialize pipe_surface
Diffstat (limited to 'src/gallium/auxiliary/util/u_inlines.h')
-rw-r--r-- | src/gallium/auxiliary/util/u_inlines.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index c2f4f05990b..b2a0408a60e 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -35,6 +35,7 @@ #include "util/u_debug.h" #include "util/u_atomic.h" #include "util/u_box.h" +#include "util/u_math.h" #ifdef __cplusplus @@ -121,6 +122,20 @@ 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, + unsigned face, unsigned level, unsigned zslice, unsigned flags) +{ + pipe_resource_reference(&ps->texture, pt); + ps->format = pt->format; + ps->width = u_minify(pt->width0, level); + ps->height = u_minify(pt->height0, level); + ps->usage = flags; + ps->face = face; + ps->level = level; + ps->zslice = zslice; +} /* * Convenience wrappers for screen buffer functions. |