X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmath%2Fm_translate.h;h=c677682d5060d616f8777b384d68190284fc2339;hb=25da8e66f8f9b5a6a20ba95412e80b1f422f48d0;hp=f15bb77e2d3730d142f90051810589bfb0de479c;hpb=22144ab7552f0799bcfca506bf4ffa7f70a06649;p=mesa.git diff --git a/src/mesa/math/m_translate.h b/src/mesa/math/m_translate.h index f15bb77e2d3..c677682d506 100644 --- a/src/mesa/math/m_translate.h +++ b/src/mesa/math/m_translate.h @@ -1,10 +1,8 @@ -/* $Id: m_translate.h,v 1.6 2001/03/12 00:48:41 gareth Exp $ */ - /* * Mesa 3-D graphics library - * Version: 3.5 + * Version: 6.5.1 * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -28,9 +26,24 @@ #ifndef _M_TRANSLATE_H_ #define _M_TRANSLATE_H_ -#include "config.h" -#include "mtypes.h" /* hack for GLchan */ - +#include "main/config.h" +#include "main/mtypes.h" /* hack for GLchan */ + + +/** + * Array translation. + * For example, convert array of GLushort[3] to GLfloat[4]. + * The function name specifies the destination format/size. + * \param to the destination address + * \param ptr the source address + * \param stride the source stride (in bytes) between elements + * \param type the source datatype (GL_SHORT, GL_UNSIGNED_INT, etc) + * \param size number of values per element in source array (1,2,3 or 4) + * \param start first element in source array to convert + * \param n number of elements to convert + * + * Note: "element" means a tuple like GLfloat[3] or GLubyte[4]. + */ extern void _math_trans_1f(GLfloat *to, @@ -78,6 +91,7 @@ extern void _math_trans_4us(GLushort (*to)[4], GLuint start, GLuint n ); +/** Convert to floats w/out normalization (i.e. just cast) */ extern void _math_trans_4f(GLfloat (*to)[4], CONST void *ptr, GLuint stride, @@ -86,7 +100,16 @@ extern void _math_trans_4f(GLfloat (*to)[4], GLuint start, GLuint n ); -extern void _math_trans_3f(GLfloat (*to)[3], +/** Convert to normalized floats in [0,1] or [-1, 1] */ +extern void _math_trans_4fn(GLfloat (*to)[4], + CONST void *ptr, + GLuint stride, + GLenum type, + GLuint size, + GLuint start, + GLuint n ); + +extern void _math_trans_3fn(GLfloat (*to)[3], CONST void *ptr, GLuint stride, GLenum type,