diff options
author | Brian Paul <brianp@vmware.com> | 2009-12-11 11:39:53 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-12-11 11:39:55 -0700 |
commit | 8f2a1736635368951c3f30e484ee6137066964d6 (patch) | |
tree | a0f9331deaaf29bcdffee58c3971ff5c15b4a310 /src/gallium/auxiliary | |
parent | 205da96fc64a197b7d1a15010456402030d8893b (diff) |
gallium/util: simplify util_framebuffer_state_equal()
And copy width, height in util_copy_framebuffer_state().
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/util/u_surface.c | 16 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_surface.h | 10 |
2 files changed, 16 insertions, 10 deletions
diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c index a95b887e84..daaa275ef2 100644 --- a/src/gallium/auxiliary/util/u_surface.c +++ b/src/gallium/auxiliary/util/u_surface.c @@ -122,24 +122,27 @@ boolean util_framebuffer_state_equal(const struct pipe_framebuffer_state *dst, const struct pipe_framebuffer_state *src) { - boolean changed = FALSE; unsigned i; + if (dst->width != src->width || + dst->height != src->height) + return FALSE; + for (i = 0; i < Elements(src->cbufs); i++) { if (dst->cbufs[i] != src->cbufs[i]) { - changed = TRUE; + return FALSE; } } if (dst->nr_cbufs != src->nr_cbufs) { - changed = TRUE; + return FALSE; } if (dst->zsbuf != src->zsbuf) { - changed = TRUE; + return FALSE; } - return changed; + return TRUE; } @@ -152,6 +155,9 @@ util_copy_framebuffer_state(struct pipe_framebuffer_state *dst, { unsigned i; + dst->width = src->width; + dst->height = src->height; + for (i = 0; i < Elements(src->cbufs); i++) { pipe_surface_reference(&dst->cbufs[i], src->cbufs[i]); } diff --git a/src/gallium/auxiliary/util/u_surface.h b/src/gallium/auxiliary/util/u_surface.h index a9da9aadcb..3c60df2c3e 100644 --- a/src/gallium/auxiliary/util/u_surface.h +++ b/src/gallium/auxiliary/util/u_surface.h @@ -30,11 +30,7 @@ #include "pipe/p_compiler.h" - - -struct pipe_screen; -struct pipe_texture; -struct pipe_surface; +#include "pipe/p_state.h" /** @@ -75,4 +71,8 @@ util_copy_framebuffer_state(struct pipe_framebuffer_state *dst, const struct pipe_framebuffer_state *src); +extern void +util_unreference_framebuffer_state(struct pipe_framebuffer_state *fb); + + #endif /* U_SURFACE_H */ |