2 * Mesa 3-D graphics library
5 * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions:
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #include "bufferobj.h"
29 #include "histogram.h"
31 #include "mfeatures.h"
32 #include "main/dispatch.h"
37 /**********************************************************************
42 /* this is defined below */
43 static void GLAPIENTRY _mesa_ResetMinmax(GLenum target);
46 static void GLAPIENTRY
47 _mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format,
48 GLenum type, GLsizei bufSize, GLvoid *values)
50 GET_CURRENT_CONTEXT(ctx);
52 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmax");
56 static void GLAPIENTRY
57 _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type,
60 _mesa_GetnMinmaxARB(target, reset, format, type, INT_MAX, values);
64 static void GLAPIENTRY
65 _mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format,
66 GLenum type, GLsizei bufSize, GLvoid *values)
68 GET_CURRENT_CONTEXT(ctx);
70 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogram");
74 static void GLAPIENTRY
75 _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type,
78 _mesa_GetnHistogramARB(target, reset, format, type, INT_MAX, values);
82 static void GLAPIENTRY
83 _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
85 GET_CURRENT_CONTEXT(ctx);
87 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameterfv");
91 static void GLAPIENTRY
92 _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
94 GET_CURRENT_CONTEXT(ctx);
96 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameteriv");
100 static void GLAPIENTRY
101 _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
103 GET_CURRENT_CONTEXT(ctx);
105 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameterfv");
109 static void GLAPIENTRY
110 _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
112 GET_CURRENT_CONTEXT(ctx);
114 _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameteriv");
118 static void GLAPIENTRY
119 _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink)
121 GET_CURRENT_CONTEXT(ctx);
123 _mesa_error(ctx, GL_INVALID_OPERATION, "glHistogram");
127 static void GLAPIENTRY
128 _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
130 GET_CURRENT_CONTEXT(ctx);
132 _mesa_error(ctx, GL_INVALID_OPERATION, "glMinmax");
136 static void GLAPIENTRY
137 _mesa_ResetHistogram(GLenum target)
139 GET_CURRENT_CONTEXT(ctx);
141 _mesa_error(ctx, GL_INVALID_OPERATION, "glResetHistogram");
145 static void GLAPIENTRY
146 _mesa_ResetMinmax(GLenum target)
148 GET_CURRENT_CONTEXT(ctx);
150 _mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax");
155 _mesa_init_histogram_dispatch(struct _glapi_table *disp)
157 SET_GetHistogram(disp, _mesa_GetHistogram);
158 SET_GetHistogramParameterfv(disp, _mesa_GetHistogramParameterfv);
159 SET_GetHistogramParameteriv(disp, _mesa_GetHistogramParameteriv);
160 SET_GetMinmax(disp, _mesa_GetMinmax);
161 SET_GetMinmaxParameterfv(disp, _mesa_GetMinmaxParameterfv);
162 SET_GetMinmaxParameteriv(disp, _mesa_GetMinmaxParameteriv);
163 SET_Histogram(disp, _mesa_Histogram);
164 SET_Minmax(disp, _mesa_Minmax);
165 SET_ResetHistogram(disp, _mesa_ResetHistogram);
166 SET_ResetMinmax(disp, _mesa_ResetMinmax);
168 /* GL_ARB_robustness */
169 SET_GetnHistogramARB(disp, _mesa_GetnHistogramARB);
170 SET_GetnMinmaxARB(disp, _mesa_GetnMinmaxARB);
173 #endif /* FEATURE_histogram */