diff options
author | Roland Scheidegger <sroland@vmware.com> | 2010-08-23 17:55:16 +0200 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2010-08-23 17:55:16 +0200 |
commit | c2f074d8a4b93f3f3a81311f9a114b11bc5f80d8 (patch) | |
tree | d389c7e693eac270d3bca424642c17df629d7ec5 /src/gallium/auxiliary/util/u_pack_color.h | |
parent | c907b947130c884de09e48e1ecbeecc9afc9f75b (diff) |
util: fix util_fill_rect to take util_color instead of u32 param
util_fill_rect could not handle formats with more than 32 bits,
since the fill color was a uint32_t value. Fix this by using
a util_color union instead, and also expand the union so it
works with formats which have up to 256 bits (the max of any
format currently defined).
Diffstat (limited to 'src/gallium/auxiliary/util/u_pack_color.h')
-rw-r--r-- | src/gallium/auxiliary/util/u_pack_color.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_pack_color.h b/src/gallium/auxiliary/util/u_pack_color.h index 5f113f742b..aae8b8bdf1 100644 --- a/src/gallium/auxiliary/util/u_pack_color.h +++ b/src/gallium/auxiliary/util/u_pack_color.h @@ -42,12 +42,18 @@ #include "util/u_math.h" - +/** + * Helper union for packing pixel values. + * Will often contain values in formats which are too complex to be described + * in simple terms, hence might just effectively contain a number of bytes. + * Must be big enough to hold data for all formats (currently 256 bits). + */ union util_color { ubyte ub; ushort us; uint ui; float f[4]; + double d[4]; }; /** |