diff options
author | Brian Paul <brianp@vmware.com> | 2011-08-31 21:22:52 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2011-08-31 21:23:33 -0600 |
commit | 025cf209bca7d57a8ffe2e3010ebf01fa4d797cc (patch) | |
tree | 5969b148b131109bbb5dd4c0f413136934ac46bf /src/mesa/main/colormac.h | |
parent | 6b9e4b6ca7bec9dbafe4f4368f2f33bbeda6cb5c (diff) |
mesa: fix broken store_texel() functions
This fixes the swrast failures for piglit's fbo-generatemipmap-formats
test (for uncompressed formats). At some point down the road this code
will go away so I haven't checked all the other store_texel() functions.
Diffstat (limited to 'src/mesa/main/colormac.h')
-rw-r--r-- | src/mesa/main/colormac.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/main/colormac.h b/src/mesa/main/colormac.h index a328dcd32af..d308c48b6c5 100644 --- a/src/mesa/main/colormac.h +++ b/src/mesa/main/colormac.h @@ -81,6 +81,8 @@ #define UINT_TO_CHAN(i) ((GLchan) ((i) >> 24)) #define CHAN_TO_UBYTE(c) (c) +#define CHAN_TO_USHORT(c) (((c) << 8) | (c)) +#define CHAN_TO_SHORT(c) (((c) << 7) | ((c) >> 1)) #define CHAN_TO_FLOAT(c) UBYTE_TO_FLOAT(c) #define CLAMPED_FLOAT_TO_CHAN(c, f) CLAMPED_FLOAT_TO_UBYTE(c, f) @@ -98,6 +100,8 @@ #define UINT_TO_CHAN(i) ((GLchan) ((i) >> 16)) #define CHAN_TO_UBYTE(c) ((c) >> 8) +#define CHAN_TO_USHORT(c) (c) +#define CHAN_TO_SHORT(c) ((c) >> 1) #define CHAN_TO_FLOAT(c) ((GLfloat) ((c) * (1.0 / CHAN_MAXF))) #define CLAMPED_FLOAT_TO_CHAN(c, f) CLAMPED_FLOAT_TO_USHORT(c, f) @@ -116,6 +120,8 @@ #define UINT_TO_CHAN(i) ((GLfloat) ((i) * (1.0F / 4294967295.0F))) #define CHAN_TO_UBYTE(c) FLOAT_TO_UBYTE(c) +#define CHAN_TO_USHORT(c) ((GLushort) (CLAMP((c), 0.0f, 1.0f) * 65535.0)) +#define CHAN_TO_SHORT(c) ((GLshort) (CLAMP((c), 0.0f, 1.0f) * 32767.0)) #define CHAN_TO_FLOAT(c) (c) #define CLAMPED_FLOAT_TO_CHAN(c, f) c = (f) |