1 /*
2  * Mesa 3-D graphics library
3  * Version:  6.3
4  *
5  * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
6  *
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:
13  *
14  * The above copyright notice and this permission notice shall be included
15  * in all copies or substantial portions of the Software.
16  *
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.
23  */
24 
25 
26 #include "glheader.h"
27 #include "bufferobj.h"
28 #include "colormac.h"
29 #include "histogram.h"
30 #include "macros.h"
31 #include "mfeatures.h"
32 #include "main/dispatch.h"
33 
34 
35 #if FEATURE_histogram
36 
37 /**********************************************************************
38  * API functions
39  */
40 
41 
42 /* this is defined below */
43 static void GLAPIENTRY _mesa_ResetMinmax(GLenum target);
44 
45 
46 static void GLAPIENTRY
_mesa_GetnMinmaxARB(GLenum target,GLboolean reset,GLenum format,GLenum type,GLsizei bufSize,GLvoid * values)47 _mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format,
48                     GLenum type, GLsizei bufSize, GLvoid *values)
49 {
50    GET_CURRENT_CONTEXT(ctx);
51 
52    _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmax");
53 }
54 
55 
56 static void GLAPIENTRY
_mesa_GetMinmax(GLenum target,GLboolean reset,GLenum format,GLenum type,GLvoid * values)57 _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type,
58                 GLvoid *values)
59 {
60    _mesa_GetnMinmaxARB(target, reset, format, type, INT_MAX, values);
61 }
62 
63 
64 static void GLAPIENTRY
_mesa_GetnHistogramARB(GLenum target,GLboolean reset,GLenum format,GLenum type,GLsizei bufSize,GLvoid * values)65 _mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format,
66                        GLenum type, GLsizei bufSize, GLvoid *values)
67 {
68    GET_CURRENT_CONTEXT(ctx);
69 
70    _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogram");
71 }
72 
73 
74 static void GLAPIENTRY
_mesa_GetHistogram(GLenum target,GLboolean reset,GLenum format,GLenum type,GLvoid * values)75 _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type,
76                    GLvoid *values)
77 {
78    _mesa_GetnHistogramARB(target, reset, format, type, INT_MAX, values);
79 }
80 
81 
82 static void GLAPIENTRY
_mesa_GetHistogramParameterfv(GLenum target,GLenum pname,GLfloat * params)83 _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
84 {
85    GET_CURRENT_CONTEXT(ctx);
86 
87    _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameterfv");
88 }
89 
90 
91 static void GLAPIENTRY
_mesa_GetHistogramParameteriv(GLenum target,GLenum pname,GLint * params)92 _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
93 {
94    GET_CURRENT_CONTEXT(ctx);
95 
96    _mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameteriv");
97 }
98 
99 
100 static void GLAPIENTRY
_mesa_GetMinmaxParameterfv(GLenum target,GLenum pname,GLfloat * params)101 _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
102 {
103    GET_CURRENT_CONTEXT(ctx);
104 
105       _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameterfv");
106 }
107 
108 
109 static void GLAPIENTRY
_mesa_GetMinmaxParameteriv(GLenum target,GLenum pname,GLint * params)110 _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
111 {
112    GET_CURRENT_CONTEXT(ctx);
113 
114    _mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameteriv");
115 }
116 
117 
118 static void GLAPIENTRY
_mesa_Histogram(GLenum target,GLsizei width,GLenum internalFormat,GLboolean sink)119 _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink)
120 {
121    GET_CURRENT_CONTEXT(ctx);
122 
123    _mesa_error(ctx, GL_INVALID_OPERATION, "glHistogram");
124 }
125 
126 
127 static void GLAPIENTRY
_mesa_Minmax(GLenum target,GLenum internalFormat,GLboolean sink)128 _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
129 {
130    GET_CURRENT_CONTEXT(ctx);
131 
132    _mesa_error(ctx, GL_INVALID_OPERATION, "glMinmax");
133 }
134 
135 
136 static void GLAPIENTRY
_mesa_ResetHistogram(GLenum target)137 _mesa_ResetHistogram(GLenum target)
138 {
139    GET_CURRENT_CONTEXT(ctx);
140 
141    _mesa_error(ctx, GL_INVALID_OPERATION, "glResetHistogram");
142 }
143 
144 
145 static void GLAPIENTRY
_mesa_ResetMinmax(GLenum target)146 _mesa_ResetMinmax(GLenum target)
147 {
148    GET_CURRENT_CONTEXT(ctx);
149 
150    _mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax");
151 }
152 
153 
154 void
_mesa_init_histogram_dispatch(struct _glapi_table * disp)155 _mesa_init_histogram_dispatch(struct _glapi_table *disp)
156 {
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);
167 
168    /* GL_ARB_robustness */
169    SET_GetnHistogramARB(disp, _mesa_GetnHistogramARB);
170    SET_GetnMinmaxARB(disp, _mesa_GetnMinmaxARB);
171 }
172 
173 #endif /* FEATURE_histogram */
174