Merge remote branch 'origin/nv50-compiler'
[mesa.git] / src / mesa / main / convolve.h
1
2 /*
3 * Mesa 3-D graphics library
4 * Version: 3.5
5 *
6 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
7 *
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:
14 *
15 * The above copyright notice and this permission notice shall be included
16 * in all copies or substantial portions of the Software.
17 *
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.
24 */
25
26
27 #ifndef CONVOLVE_H
28 #define CONVOLVE_H
29
30
31 #include "main/mtypes.h"
32
33
34 #if FEATURE_convolve
35
36 extern void GLAPIENTRY
37 _mesa_ConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width,
38 GLenum format, GLenum type, const GLvoid *image);
39
40 extern void GLAPIENTRY
41 _mesa_ConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width,
42 GLsizei height, GLenum format, GLenum type,
43 const GLvoid *image);
44
45 extern void
46 _mesa_convolve_1d_image(const GLcontext *ctx, GLsizei *width,
47 const GLfloat *srcImage, GLfloat *dstImage);
48
49 extern void
50 _mesa_convolve_2d_image(const GLcontext *ctx, GLsizei *width, GLsizei *height,
51 const GLfloat *srcImage, GLfloat *dstImage);
52
53 extern void
54 _mesa_convolve_sep_image(const GLcontext *ctx,
55 GLsizei *width, GLsizei *height,
56 const GLfloat *srcImage, GLfloat *dstImage);
57
58 extern void
59 _mesa_adjust_image_for_convolution(const GLcontext *ctx, GLuint dimensions,
60 GLsizei *width, GLsizei *height);
61
62 extern void
63 _mesa_init_convolve_dispatch(struct _glapi_table *disp);
64
65 #else /* FEATURE_convolve */
66
67 #include "main/compiler.h"
68
69 static INLINE void GLAPIENTRY
70 _mesa_ConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width,
71 GLenum format, GLenum type, const GLvoid *image)
72 {
73 ASSERT_NO_FEATURE();
74 }
75
76 static INLINE void GLAPIENTRY
77 _mesa_ConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width,
78 GLsizei height, GLenum format, GLenum type,
79 const GLvoid *image)
80 {
81 ASSERT_NO_FEATURE();
82 }
83
84 static INLINE void
85 _mesa_convolve_1d_image(const GLcontext *ctx, GLsizei *width,
86 const GLfloat *srcImage, GLfloat *dstImage)
87 {
88 ASSERT_NO_FEATURE();
89 }
90
91 static INLINE void
92 _mesa_convolve_2d_image(const GLcontext *ctx, GLsizei *width, GLsizei *height,
93 const GLfloat *srcImage, GLfloat *dstImage)
94 {
95 ASSERT_NO_FEATURE();
96 }
97
98
99 static INLINE void
100 _mesa_convolve_sep_image(const GLcontext *ctx,
101 GLsizei *width, GLsizei *height,
102 const GLfloat *srcImage, GLfloat *dstImage)
103 {
104 ASSERT_NO_FEATURE();
105 }
106
107 static INLINE void
108 _mesa_adjust_image_for_convolution(const GLcontext *ctx, GLuint dimensions,
109 GLsizei *width, GLsizei *height)
110 {
111 }
112
113 static INLINE void
114 _mesa_init_convolve_dispatch(struct _glapi_table *disp)
115 {
116 }
117
118 #endif /* FEATURE_convolve */
119
120 #endif /* CONVOLVE_H */