Преглед изворни кода

mesa: Move [UN]CLAMPED_FLOAT_TO_UBYTE from imports.h to macros.h.

The other similar integer/float conversion macros are in macros.h.
tags/mesa-7.9-rc1
Vinson Lee пре 15 година
родитељ
комит
343b38a692

+ 1
- 0
src/mesa/drivers/dri/r128/r128_state.c Прегледај датотеку

@@ -42,6 +42,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "main/context.h"
#include "main/enums.h"
#include "main/colormac.h"
#include "main/macros.h"
#include "swrast/swrast.h"
#include "vbo/vbo.h"
#include "tnl/tnl.h"

+ 1
- 0
src/mesa/drivers/dri/r128/r128_tex.c Прегледај датотеку

@@ -44,6 +44,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "main/texobj.h"
#include "main/imports.h"
#include "main/texobj.h"
#include "main/macros.h"

#include "xmlpool.h"


+ 1
- 0
src/mesa/drivers/dri/sis/sis_state.c Прегледај датотеку

@@ -37,6 +37,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "sis_lock.h"

#include "main/context.h"
#include "main/macros.h"
#include "swrast/swrast.h"
#include "vbo/vbo.h"
#include "tnl/tnl.h"

+ 0
- 36
src/mesa/main/imports.h Прегледај датотеку

@@ -444,42 +444,6 @@ _mesa_next_pow_two_64(uint64_t x)
}


/***
*** UNCLAMPED_FLOAT_TO_UBYTE: clamp float to [0,1] and map to ubyte in [0,255]
*** CLAMPED_FLOAT_TO_UBYTE: map float known to be in [0,1] to ubyte in [0,255]
***/
#if defined(USE_IEEE) && !defined(DEBUG)
#define IEEE_0996 0x3f7f0000 /* 0.996 or so */
/* This function/macro is sensitive to precision. Test very carefully
* if you change it!
*/
#define UNCLAMPED_FLOAT_TO_UBYTE(UB, F) \
do { \
fi_type __tmp; \
__tmp.f = (F); \
if (__tmp.i < 0) \
UB = (GLubyte) 0; \
else if (__tmp.i >= IEEE_0996) \
UB = (GLubyte) 255; \
else { \
__tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; \
UB = (GLubyte) __tmp.i; \
} \
} while (0)
#define CLAMPED_FLOAT_TO_UBYTE(UB, F) \
do { \
fi_type __tmp; \
__tmp.f = (F) * (255.0F/256.0F) + 32768.0F; \
UB = (GLubyte) __tmp.i; \
} while (0)
#else
#define UNCLAMPED_FLOAT_TO_UBYTE(ub, f) \
ub = ((GLubyte) IROUND(CLAMP((f), 0.0F, 1.0F) * 255.0F))
#define CLAMPED_FLOAT_TO_UBYTE(ub, f) \
ub = ((GLubyte) IROUND((f) * 255.0F))
#endif


/**
* Return 1 if this is a little endian machine, 0 if big endian.
*/

+ 35
- 0
src/mesa/main/macros.h Прегледај датотеку

@@ -130,6 +130,41 @@ extern GLfloat _mesa_ubyte_to_float_color_tab[256];
#define UNCLAMPED_FLOAT_TO_SHORT(s, f) \
s = ( (GLshort) IROUND( CLAMP((f), -1.0F, 1.0F) * 32767.0F) )

/***
*** UNCLAMPED_FLOAT_TO_UBYTE: clamp float to [0,1] and map to ubyte in [0,255]
*** CLAMPED_FLOAT_TO_UBYTE: map float known to be in [0,1] to ubyte in [0,255]
***/
#if defined(USE_IEEE) && !defined(DEBUG)
#define IEEE_0996 0x3f7f0000 /* 0.996 or so */
/* This function/macro is sensitive to precision. Test very carefully
* if you change it!
*/
#define UNCLAMPED_FLOAT_TO_UBYTE(UB, F) \
do { \
fi_type __tmp; \
__tmp.f = (F); \
if (__tmp.i < 0) \
UB = (GLubyte) 0; \
else if (__tmp.i >= IEEE_0996) \
UB = (GLubyte) 255; \
else { \
__tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; \
UB = (GLubyte) __tmp.i; \
} \
} while (0)
#define CLAMPED_FLOAT_TO_UBYTE(UB, F) \
do { \
fi_type __tmp; \
__tmp.f = (F) * (255.0F/256.0F) + 32768.0F; \
UB = (GLubyte) __tmp.i; \
} while (0)
#else
#define UNCLAMPED_FLOAT_TO_UBYTE(ub, f) \
ub = ((GLubyte) IROUND(CLAMP((f), 0.0F, 1.0F) * 255.0F))
#define CLAMPED_FLOAT_TO_UBYTE(ub, f) \
ub = ((GLubyte) IROUND((f) * 255.0F))
#endif

/*@}*/



Loading…
Откажи
Сачувај