1/*
2 * Mesa 3-D graphics library
3 *
4 * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 * OTHER DEALINGS IN THE SOFTWARE.
23 */
24
25
26/*
27 * Image convolution functions.
28 *
29 * Notes: filter kernel elements are indexed by <n> and <m> as in
30 * the GL spec.
31 */
32
33
34#include "glheader.h"
35#include "context.h"
36#include "convolve.h"
37#include "main/dispatch.h"
38
39
40void GLAPIENTRY
41_mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
42{
43   GET_CURRENT_CONTEXT(ctx);
44
45   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionFilter1D");
46}
47
48void GLAPIENTRY
49_mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
50{
51   GET_CURRENT_CONTEXT(ctx);
52
53   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionFilter2D");
54}
55
56
57void GLAPIENTRY
58_mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
59{
60   GET_CURRENT_CONTEXT(ctx);
61
62   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionParameterf");
63}
64
65
66void GLAPIENTRY
67_mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
68{
69   GET_CURRENT_CONTEXT(ctx);
70
71   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionParameterfv");
72}
73
74
75void GLAPIENTRY
76_mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
77{
78   GET_CURRENT_CONTEXT(ctx);
79
80   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionParameteri");
81}
82
83
84void GLAPIENTRY
85_mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
86{
87   GET_CURRENT_CONTEXT(ctx);
88
89   _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionParameteriv");
90}
91
92
93void GLAPIENTRY
94_mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width)
95{
96   GET_CURRENT_CONTEXT(ctx);
97
98   _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyConvolutionFilter1D");
99}
100
101
102void GLAPIENTRY
103_mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height)
104{
105   GET_CURRENT_CONTEXT(ctx);
106
107   _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyConvolutionFilter2D");
108}
109
110
111void GLAPIENTRY
112_mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type,
113                               GLsizei bufSize, GLvoid *image)
114{
115   GET_CURRENT_CONTEXT(ctx);
116
117   _mesa_error(ctx, GL_INVALID_OPERATION, "glGetConvolutionFilter");
118}
119
120
121void GLAPIENTRY
122_mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
123                           GLvoid *image)
124{
125   _mesa_GetnConvolutionFilterARB(target, format, type, INT_MAX, image);
126}
127
128
129void GLAPIENTRY
130_mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
131{
132   GET_CURRENT_CONTEXT(ctx);
133
134   _mesa_error(ctx, GL_INVALID_OPERATION, "glGetConvolutionParameterfv");
135}
136
137
138void GLAPIENTRY
139_mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
140{
141   GET_CURRENT_CONTEXT(ctx);
142
143   _mesa_error(ctx, GL_INVALID_OPERATION, "glGetConvolutionParameteriv");
144}
145
146
147void GLAPIENTRY
148_mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type,
149                             GLsizei rowBufSize, GLvoid *row,
150                             GLsizei columnBufSize,  GLvoid *column,
151                             GLvoid *span)
152{
153   GET_CURRENT_CONTEXT(ctx);
154
155   _mesa_error(ctx, GL_INVALID_OPERATION, "glGetSeparableFilter");
156}
157
158
159void GLAPIENTRY
160_mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
161                         GLvoid *row, GLvoid *column, GLvoid *span)
162{
163   _mesa_GetnSeparableFilterARB(target, format, type, INT_MAX, row,
164                                INT_MAX, column, span);
165}
166
167
168void GLAPIENTRY
169_mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
170{
171   GET_CURRENT_CONTEXT(ctx);
172
173   _mesa_error(ctx, GL_INVALID_OPERATION, "glSeparableFilter2D");
174}
175