1 Jan 2012 13:04
[PATCH] gallium/translate: implement converting into half floats in the generic path
Marek Olšák <maraeo <at> gmail.com>
2012-01-01 12:04:23 GMT
2012-01-01 12:04:23 GMT
--- .../auxiliary/translate/translate_generic.c | 21 ++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/src/gallium/auxiliary/translate/translate_generic.c b/src/gallium/auxiliary/translate/translate_generic.c index e4e1c86..516a1ef 100644 --- a/src/gallium/auxiliary/translate/translate_generic.c +++ b/src/gallium/auxiliary/translate/translate_generic.c <at> <at> -32,6 +32,7 <at> <at> #include "util/u_memory.h" #include "util/u_format.h" +#include "util/u_half.h" #include "util/u_math.h" #include "pipe/p_state.h" #include "translate.h" <at> <at> -105,6 +106,7 <at> <at> emit_##NAME(const float *attrib, void *ptr) \ #define TO_64_FLOAT(x) ((double) x) #define TO_32_FLOAT(x) (x) +#define TO_16_FLOAT(x) util_float_to_half(x) #define TO_8_USCALED(x) ((unsigned char) x) #define TO_16_USCALED(x) ((unsigned short) x) <at> <at> -135,6 +137,11 <at> <at> ATTRIB( R32G32B32_FLOAT, 3, float, TO_32_FLOAT ) ATTRIB( R32G32_FLOAT, 2, float, TO_32_FLOAT ) ATTRIB( R32_FLOAT, 1, float, TO_32_FLOAT ) +ATTRIB( R16G16B16A16_FLOAT, 4, ushort, TO_16_FLOAT ) +ATTRIB( R16G16B16_FLOAT, 3, ushort, TO_16_FLOAT )(Continue reading)
RSS Feed