* Do 3D/trilinear interpolation of float values.
* \sa lerp_2d
*/
-static inline GLfloat
+static GLfloat
lerp_3d(GLfloat a, GLfloat b, GLfloat c,
GLfloat v000, GLfloat v100, GLfloat v010, GLfloat v110,
GLfloat v001, GLfloat v101, GLfloat v011, GLfloat v111)
/**
* Do linear interpolation of colors.
*/
-static inline void
+static void
lerp_rgba(GLfloat result[4], GLfloat t, const GLfloat a[4], const GLfloat b[4])
{
result[0] = LERP(t, a[0], b[0]);
/**
* Do bilinear interpolation of colors.
*/
-static inline void
+static void
lerp_rgba_2d(GLfloat result[4], GLfloat a, GLfloat b,
const GLfloat t00[4], const GLfloat t10[4],
const GLfloat t01[4], const GLfloat t11[4])
/**
* Do trilinear interpolation of colors.
*/
-static inline void
+static void
lerp_rgba_3d(GLfloat result[4], GLfloat a, GLfloat b, GLfloat c,
const GLfloat t000[4], const GLfloat t100[4],
const GLfloat t010[4], const GLfloat t110[4],
* i0, i1 = returns two nearest texel indexes
* weight = returns blend factor between texels
*/
-static inline void
+static void
linear_texel_locations(GLenum wrapMode,
const struct gl_texture_image *img,
GLint size, GLfloat s,
/**
* Used to compute texel location for nearest sampling.
*/
-static inline GLint
+static GLint
nearest_texel_location(GLenum wrapMode,
const struct gl_texture_image *img,
GLint size, GLfloat s)
/* Power of two image sizes only */
-static inline void
+static void
linear_repeat_texel_location(GLuint size, GLfloat s,
GLint *i0, GLint *i1, GLfloat *weight)
{
/**
* Do clamp/wrap for a texture rectangle coord, GL_NEAREST filter mode.
*/
-static inline GLint
+static GLint
clamp_rect_coord_nearest(GLenum wrapMode, GLfloat coord, GLint max)
{
switch (wrapMode) {
/**
* As above, but GL_LINEAR filtering.
*/
-static inline void
+static void
clamp_rect_coord_linear(GLenum wrapMode, GLfloat coord, GLint max,
GLint *i0out, GLint *i1out, GLfloat *weight)
{
/**
* Compute slice/image to use for 1D or 2D array texture.
*/
-static inline GLint
+static GLint
tex_array_slice(GLfloat coord, GLsizei size)
{
GLint slice = IFLOOR(coord + 0.5f);
* Compute nearest integer texcoords for given texobj and coordinate.
* NOTE: only used for depth texture sampling.
*/
-static inline void
+static void
nearest_texcoord(const struct gl_sampler_object *samp,
const struct gl_texture_object *texObj,
GLuint level,
* Compute linear integer texcoords for given texobj and coordinate.
* NOTE: only used for depth texture sampling.
*/
-static inline void
+static void
linear_texcoord(const struct gl_sampler_object *samp,
const struct gl_texture_object *texObj,
GLuint level,
* For linear interpolation between mipmap levels N and N+1, this function
* computes N.
*/
-static inline GLint
+static GLint
linear_mipmap_level(const struct gl_texture_object *tObj, GLfloat lambda)
{
if (lambda < 0.0F)
/**
* Compute the nearest mipmap level to take texels from.
*/
-static inline GLint
+static GLint
nearest_mipmap_level(const struct gl_texture_object *tObj, GLfloat lambda)
{
GLfloat l;
* will be minified, magnified, or split between the two. This function
* determines the subranges in [0, n-1] that are to be minified or magnified.
*/
-static inline void
+static void
compute_min_mag_ranges(const struct gl_sampler_object *samp,
GLuint n, const GLfloat lambda[],
GLuint *minStart, GLuint *minEnd,
* the base texture format. Ex: if the texture base format it GL_ALPHA,
* we return (0,0,0,BorderAlpha).
*/
-static inline void
+static void
get_border_color(const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
GLfloat rgba[4])
/**
* Put z into texel according to GL_DEPTH_MODE.
*/
-static inline void
+static void
apply_depth_mode(GLenum depthMode, GLfloat z, GLfloat texel[4])
{
switch (depthMode) {
/**
* Return the texture sample for coordinate (s) using GL_NEAREST filter.
*/
-static inline void
+static void
sample_1d_nearest(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
/**
* Return the texture sample for coordinate (s) using GL_LINEAR filter.
*/
-static inline void
+static void
sample_1d_linear(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
/**
* Return the texture sample for coordinate (s,t) using GL_NEAREST filter.
*/
-static inline void
+static void
sample_2d_nearest(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
* Return the texture sample for coordinate (s,t) using GL_LINEAR filter.
* New sampling code contributed by Lynn Quam <quam@ai.sri.com>.
*/
-static inline void
+static void
sample_2d_linear(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
* As above, but we know WRAP_S == REPEAT and WRAP_T == REPEAT.
* We don't have to worry about the texture border.
*/
-static inline void
+static void
sample_2d_linear_repeat(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
* Returns the index of the specified texture object in the
* gl_context texture unit array.
*/
-static inline GLuint
+static GLuint
texture_unit_index(const struct gl_context *ctx,
const struct gl_texture_object *tObj)
{
/**
* Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter.
*/
-static inline void
+static void
sample_3d_nearest(struct gl_context *ctx,
const struct gl_sampler_object *samp,
const struct gl_texture_image *img,
/**
* Compare texcoord against depth sample. Return 1.0 or 0.0 value.
*/
-static inline GLfloat
+static GLfloat
shadow_compare(GLenum function, GLfloat coord, GLfloat depthSample)
{
switch (function) {
/**
* Compare texcoord against four depth samples.
*/
-static inline GLfloat
+static GLfloat
shadow_compare4(GLenum function, GLfloat coord,
GLfloat depth00, GLfloat depth01,
GLfloat depth10, GLfloat depth11,