summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Reveman <davidr@novell.com>2006-02-23 01:21:11 +0000
committerDavid Reveman <davidr@novell.com>2006-02-23 01:21:11 +0000
commit08b6c5c545cfd9d9292f3594303772fbfc7485e5 (patch)
treec8b5a0461c33f40e756b9cd4b7544b20fd260865
parent38c8cbf9378174eb85f277996706085f8134fb2d (diff)
Mipmap support
-rw-r--r--ChangeLog10
-rw-r--r--configure.in2
-rw-r--r--src/glitz.h10
-rw-r--r--src/glitz_gl.h5
-rw-r--r--src/glitz_texture.c21
5 files changed, 40 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index e25e6ea..437bbb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-02-23 David Reveman <davidr@novell.com>
+
+ * src/glitz.h (GLITZ_REVISION): Bump version to 0.5.4.
+
+ * configure.in: Bump version to 0.5.4.
+
+ * src/glitz_texture.c (glitz_texture_object_set_filter):
+ * src/glitz_gl.h:
+ * src/glitz.h: Mipmap filters.
+
2006-02-16 David Reveman <davidr@novell.com>
* src/glitz.h (GLITZ_REVISION): Bump version to 0.5.3.
diff --git a/configure.in b/configure.in
index d3714a3..4f23afe 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@ dnl ===========================================================================
# Package version number, (as distinct from shared library version)
# This must be manually synchronized with the version in src/glitz.h
-GLITZ_VERSION=0.5.3
+GLITZ_VERSION=0.5.4
# libtool shared library version
# Increment if the interface has additions, changes, removals.
diff --git a/src/glitz.h b/src/glitz.h
index 9089365..669b60a 100644
--- a/src/glitz.h
+++ b/src/glitz.h
@@ -28,7 +28,7 @@
#define GLITZ_MAJOR 0
#define GLITZ_MINOR 5
-#define GLITZ_REVISION 3
+#define GLITZ_REVISION 4
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -397,8 +397,12 @@ typedef enum {
} glitz_texture_filter_type_t;
typedef enum {
- GLITZ_TEXTURE_FILTER_NEAREST = 0,
- GLITZ_TEXTURE_FILTER_LINEAR = 1
+ GLITZ_TEXTURE_FILTER_NEAREST = 0,
+ GLITZ_TEXTURE_FILTER_LINEAR = 1,
+ GLITZ_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST = 2,
+ GLITZ_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST = 3,
+ GLITZ_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR = 3,
+ GLITZ_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR = 4
} glitz_texture_filter_t;
void
diff --git a/src/glitz_gl.h b/src/glitz_gl.h
index 9332e55..8f04ae4 100644
--- a/src/glitz_gl.h
+++ b/src/glitz_gl.h
@@ -145,6 +145,11 @@ typedef ptrdiff_t glitz_gl_sizeiptr_t;
#define GLITZ_GL_TEXTURE_BLUE_SIZE 0x805E
#define GLITZ_GL_TEXTURE_ALPHA_SIZE 0x805F
+#define GLITZ_GL_NEAREST_MIPMAP_NEAREST 0x2700
+#define GLITZ_GL_LINEAR_MIPMAP_NEAREST 0x2701
+#define GLITZ_GL_NEAREST_MIPMAP_LINEAR 0x2702
+#define GLITZ_GL_LINEAR_MIPMAP_LINEAR 0x2703
+
#define GLITZ_GL_TEXTURE 0x1702
#define GLITZ_GL_SRC_COLOR 0x0300
diff --git a/src/glitz_texture.c b/src/glitz_texture.c
index ddb5cbf..d7a6243 100644
--- a/src/glitz_texture.c
+++ b/src/glitz_texture.c
@@ -388,12 +388,25 @@ glitz_texture_object_set_filter (glitz_texture_object_t *texture,
glitz_texture_filter_type_t type,
glitz_texture_filter_t filter)
{
- static glitz_gl_enum_t filters[] = {
- GLITZ_GL_NEAREST,
- GLITZ_GL_LINEAR
+ static glitz_gl_enum_t filters[2][6] = {
+ {
+ GLITZ_GL_NEAREST,
+ GLITZ_GL_LINEAR,
+ GLITZ_GL_NEAREST,
+ GLITZ_GL_LINEAR,
+ GLITZ_GL_NEAREST,
+ GLITZ_GL_LINEAR
+ }, {
+ GLITZ_GL_NEAREST,
+ GLITZ_GL_LINEAR,
+ GLITZ_GL_NEAREST_MIPMAP_NEAREST,
+ GLITZ_GL_LINEAR_MIPMAP_NEAREST,
+ GLITZ_GL_NEAREST_MIPMAP_LINEAR,
+ GLITZ_GL_LINEAR_MIPMAP_LINEAR
+ }
};
- texture->param.filter[type] = filters[filter];
+ texture->param.filter[type] = filters[type][filter];
}
void