summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_pack_color.h
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-04-04 19:01:51 +0200
committerMichel Dänzer <daenzer@vmware.com>2009-04-04 19:01:51 +0200
commiteb168e26aa63f11a47d70c4555cae30691a2cd57 (patch)
tree8dcde608f562fc781027b4e0e21263f9f295e70e /src/gallium/auxiliary/util/u_pack_color.h
parentba14b043bc1ab87e8e5e46e6e909a8def9535028 (diff)
gallium: Clean up driver clear() interface.
Only allows clearing currently bound buffers, but colour and depth/stencil in a single call.
Diffstat (limited to 'src/gallium/auxiliary/util/u_pack_color.h')
-rw-r--r--src/gallium/auxiliary/util/u_pack_color.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gallium/auxiliary/util/u_pack_color.h b/src/gallium/auxiliary/util/u_pack_color.h
index e05d032253..4ec7aee192 100644
--- a/src/gallium/auxiliary/util/u_pack_color.h
+++ b/src/gallium/auxiliary/util/u_pack_color.h
@@ -448,17 +448,19 @@ util_pack_z(enum pipe_format format, double z)
static INLINE uint
util_pack_z_stencil(enum pipe_format format, double z, uint s)
{
+ unsigned packed = util_pack_z(format, z);
+
switch (format) {
case PIPE_FORMAT_S8Z24_UNORM:
- return util_pack_z(format, z) | s << 24;
+ packed |= s << 24;
+ break;
case PIPE_FORMAT_Z24S8_UNORM:
- return util_pack_z(format, z) | s;
+ packed |= s;
default:
- debug_print_format("gallium: unhandled format in util_pack_z_stencil()",
- format);
- assert(0);
- return 0;
+ break;
}
+
+ return packed;
}