summaryrefslogtreecommitdiff
path: root/src/mesa/main/histogram.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2000-12-10 19:23:19 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2000-12-10 19:23:19 +0000
commit90f042ae8dbc00ecedab5cc68dbc6abae4228af5 (patch)
tree3c075fe61d2b793e71ae0d5d2efeeb7b5425c8c2 /src/mesa/main/histogram.c
parent8aa019d2efcf0295beae51989fe4b419ca50ca17 (diff)
generate GL_INVALID_OPERATION error for bad image format/type combinations
Diffstat (limited to 'src/mesa/main/histogram.c')
-rw-r--r--src/mesa/main/histogram.c55
1 files changed, 11 insertions, 44 deletions
diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c
index 115c087022..06798e3775 100644
--- a/src/mesa/main/histogram.c
+++ b/src/mesa/main/histogram.c
@@ -1,4 +1,4 @@
-/* $Id: histogram.c,v 1.2 2000/11/10 18:31:04 brianp Exp $ */
+/* $Id: histogram.c,v 1.3 2000/12/10 19:23:19 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -37,7 +37,9 @@
#endif
-
+/*
+ * XXX need to handle packed datatypes!
+ */
static void
pack_histogram( GLcontext *ctx,
GLuint n, CONST GLuint rgba[][4],
@@ -194,6 +196,9 @@ pack_histogram( GLcontext *ctx,
+/*
+ * XXX need to handle packed datatypes!
+ */
static void
pack_minmax( GLcontext *ctx, CONST GLfloat minmax[2][4],
GLenum format, GLenum type, GLvoid *destination,
@@ -415,27 +420,8 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo
return;
}
- if (format != GL_RED &&
- format != GL_GREEN &&
- format != GL_BLUE &&
- format != GL_ALPHA &&
- format != GL_RGB &&
- format != GL_RGBA &&
- format != GL_ABGR_EXT &&
- format != GL_LUMINANCE &&
- format != GL_LUMINANCE_ALPHA) {
- gl_error(ctx, GL_INVALID_ENUM, "glGetMinmax(format)");
- return;
- }
-
- if (type != GL_UNSIGNED_BYTE &&
- type != GL_BYTE &&
- type != GL_UNSIGNED_SHORT &&
- type != GL_SHORT &&
- type != GL_UNSIGNED_INT &&
- type != GL_INT &&
- type != GL_FLOAT) {
- gl_error(ctx, GL_INVALID_ENUM, "glGetMinmax(type)");
+ if (!_mesa_is_legal_format_and_type(format, type)) {
+ gl_error(ctx, GL_INVALID_OPERATION, "glGetMinmax(format or type)");
return;
}
@@ -478,27 +464,8 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G
return;
}
- if (format != GL_RED &&
- format != GL_GREEN &&
- format != GL_BLUE &&
- format != GL_ALPHA &&
- format != GL_RGB &&
- format != GL_RGBA &&
- format != GL_ABGR_EXT &&
- format != GL_LUMINANCE &&
- format != GL_LUMINANCE_ALPHA) {
- gl_error(ctx, GL_INVALID_ENUM, "glGetHistogram(format)");
- return;
- }
-
- if (type != GL_UNSIGNED_BYTE &&
- type != GL_BYTE &&
- type != GL_UNSIGNED_SHORT &&
- type != GL_SHORT &&
- type != GL_UNSIGNED_INT &&
- type != GL_INT &&
- type != GL_FLOAT) {
- gl_error(ctx, GL_INVALID_ENUM, "glGetHistogram(type)");
+ if (!_mesa_is_legal_format_and_type(format, type)) {
+ gl_error(ctx, GL_INVALID_OPERATION, "glGetHistogram(format or type)");
return;
}