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 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 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 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 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 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 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 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 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 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 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 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 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 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