3 * Mesa 3-D graphics library
6 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
15 * The above copyright notice and this permission notice shall be included
16 * in all copies or substantial portions of the Software.
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
22 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 #include "main/mtypes.h"
36 #define _MESA_INIT_CONVOLVE_FUNCTIONS(driver, impl) \
38 (driver)->CopyConvolutionFilter1D = impl ## CopyConvolutionFilter1D; \
39 (driver)->CopyConvolutionFilter2D = impl ## CopyConvolutionFilter2D; \
42 extern void GLAPIENTRY
43 _mesa_ConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width,
44 GLenum format, GLenum type, const GLvoid *image);
46 extern void GLAPIENTRY
47 _mesa_ConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width,
48 GLsizei height, GLenum format, GLenum type,
51 extern void GLAPIENTRY
52 _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
54 extern void GLAPIENTRY
55 _mesa_ConvolutionParameterfv(GLenum target, GLenum pname,
56 const GLfloat *params);
58 extern void GLAPIENTRY
59 _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint params);
61 extern void GLAPIENTRY
62 _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
64 extern void GLAPIENTRY
65 _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalformat,
66 GLint x, GLint y, GLsizei width);
68 extern void GLAPIENTRY
69 _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalformat,
70 GLint x, GLint y, GLsizei width, GLsizei height);
72 extern void GLAPIENTRY
73 _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
76 extern void GLAPIENTRY
77 _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
79 extern void GLAPIENTRY
80 _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
82 extern void GLAPIENTRY
83 _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
84 GLvoid *row, GLvoid *column, GLvoid *span);
86 extern void GLAPIENTRY
87 _mesa_SeparableFilter2D(GLenum target, GLenum internalformat,
88 GLsizei width, GLsizei height,
89 GLenum format, GLenum type,
90 const GLvoid *row, const GLvoid *column);
94 _mesa_convolve_1d_image(const GLcontext *ctx, GLsizei *width,
95 const GLfloat *srcImage, GLfloat *dstImage);
98 _mesa_convolve_2d_image(const GLcontext *ctx, GLsizei *width, GLsizei *height,
99 const GLfloat *srcImage, GLfloat *dstImage);
102 _mesa_convolve_sep_image(const GLcontext *ctx,
103 GLsizei *width, GLsizei *height,
104 const GLfloat *srcImage, GLfloat *dstImage);
107 _mesa_adjust_image_for_convolution(const GLcontext *ctx, GLuint dimensions,
108 GLsizei *width, GLsizei *height);
111 _mesa_init_convolve_dispatch(struct _glapi_table *disp);
113 #else /* FEATURE_convolve */
115 #define _MESA_INIT_CONVOLVE_FUNCTIONS(driver, impl) do { } while (0)
118 _mesa_convolve_1d_image(const GLcontext *ctx, GLsizei *width,
119 const GLfloat *srcImage, GLfloat *dstImage)
125 _mesa_convolve_2d_image(const GLcontext *ctx, GLsizei *width, GLsizei *height,
126 const GLfloat *srcImage, GLfloat *dstImage)
134 _mesa_convolve_sep_image(const GLcontext *ctx,
135 GLsizei *width, GLsizei *height,
136 const GLfloat *srcImage, GLfloat *dstImage)
143 _mesa_adjust_image_for_convolution(const GLcontext *ctx, GLuint dimensions,
144 GLsizei *width, GLsizei *height)
149 _mesa_init_convolve_dispatch(struct _glapi_table *disp)
153 #endif /* FEATURE_convolve */
155 #endif /* CONVOLVE_H */