summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/genmipmap.c
diff options
context:
space:
mode:
authorAntia Puentes <apuentes@igalia.com>2015-11-26 15:08:47 +0100
committerEduardo Lima Mitev <elima@igalia.com>2016-03-03 15:14:06 +0100
commit06852f4b7a1ab9ea724bd7708662b2e6549aa98e (patch)
treec99373f428083ac51e50a07efb204bd7ee9dde83 /src/mesa/main/genmipmap.c
parentdf3a37311d2cb1bf83e6803a8c974b7269d4c3c9 (diff)
downloadexternal_mesa3d-06852f4b7a1ab9ea724bd7708662b2e6549aa98e.zip
external_mesa3d-06852f4b7a1ab9ea724bd7708662b2e6549aa98e.tar.gz
external_mesa3d-06852f4b7a1ab9ea724bd7708662b2e6549aa98e.tar.bz2
mesa/genmipmap: Added a function to check if the target is valid
It will be used by the ARB_internalformat_query2 implementation to implement mipmap related queries. Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/main/genmipmap.c')
-rw-r--r--src/mesa/main/genmipmap.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/mesa/main/genmipmap.c b/src/mesa/main/genmipmap.c
index 6c2d31d..efbb1cf 100644
--- a/src/mesa/main/genmipmap.c
+++ b/src/mesa/main/genmipmap.c
@@ -38,20 +38,11 @@
#include "texobj.h"
#include "hash.h"
-/**
- * Implements glGenerateMipmap and glGenerateTextureMipmap.
- * Generates all the mipmap levels below the base level.
- */
-void
-_mesa_generate_texture_mipmap(struct gl_context *ctx,
- struct gl_texture_object *texObj, GLenum target,
- bool dsa)
+bool
+_mesa_is_valid_generate_texture_mipmap_target(struct gl_context *ctx,
+ GLenum target)
{
- struct gl_texture_image *srcImage;
GLboolean error;
- const char *suffix = dsa ? "Texture" : "";
-
- FLUSH_VERTICES(ctx, 0);
switch (target) {
case GL_TEXTURE_1D:
@@ -81,7 +72,24 @@ _mesa_generate_texture_mipmap(struct gl_context *ctx,
error = GL_TRUE;
}
- if (error) {
+ return (error != GL_TRUE);
+}
+
+/**
+ * Implements glGenerateMipmap and glGenerateTextureMipmap.
+ * Generates all the mipmap levels below the base level.
+ */
+void
+_mesa_generate_texture_mipmap(struct gl_context *ctx,
+ struct gl_texture_object *texObj, GLenum target,
+ bool dsa)
+{
+ struct gl_texture_image *srcImage;
+ const char *suffix = dsa ? "Texture" : "";
+
+ FLUSH_VERTICES(ctx, 0);
+
+ if (!_mesa_is_valid_generate_texture_mipmap_target(ctx, target)) {
_mesa_error(ctx, GL_INVALID_ENUM, "glGenerate%sMipmap(target=%s)",
suffix, _mesa_enum_to_string(target));
return;