summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_inlines.h
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-04-18 14:53:25 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-04-18 16:23:11 +0200
commit24af25df2b0381d359f16abc815c95c0d500598b (patch)
treea03646bbaa614ff95352badca94ad8fec4b45eca /src/gallium/auxiliary/util/u_inlines.h
parent2ac088141a1d150e0468ba5b74a3c8a99ee78124 (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.h15
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.