Demos (master): mipmap_limits: assorted fixes

Brian Paul brianp at kemper.freedesktop.org
Thu Aug 8 17:54:45 UTC 2013


Module: Demos
Branch: master
Commit: 95cffb5ccd8461866425fbe5e33d262b21e1c992
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=95cffb5ccd8461866425fbe5e33d262b21e1c992

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Aug  8 11:51:37 2013 -0600

mipmap_limits: assorted fixes

Display 'g' key for changing magnification filter.
Reset the minification filter too when [space] is pressed.
Rename some vars.

---

 src/tests/mipmap_limits.c |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/tests/mipmap_limits.c b/src/tests/mipmap_limits.c
index fb297de..c7743fa 100644
--- a/src/tests/mipmap_limits.c
+++ b/src/tests/mipmap_limits.c
@@ -61,9 +61,9 @@
 static GLint BaseLevel = 0, MaxLevel = 9;
 static GLfloat MinLod = -1, MaxLod = 9;
 static GLfloat LodBias = 0.0;
-static GLboolean NearestFilter = GL_TRUE;
 static GLuint texImage, texColor, texCurrent;
-static unsigned int min_filter;
+static GLboolean MagNearestFilter = GL_TRUE;
+static unsigned int MinFilterIndex = 0;
 static int Width = 600, Height = 600;
 
 static const struct
@@ -90,7 +90,8 @@ InitValues(void)
    MinLod = -1;
    MaxLod = 9;
    LodBias = 0.0;
-   NearestFilter = GL_TRUE;
+   MagNearestFilter = GL_TRUE;
+   MinFilterIndex = 0;
 }
 
 
@@ -233,7 +234,12 @@ print_info(void)
    glColor3f(1, 1, 1);
 
    glWindowPos2i(x, y);
-   sprintf(s, "MIN FILTER (f/F): %s", min_filters[min_filter].name);
+   sprintf(s, "MIN_FILTER (f/F): %s", min_filters[MinFilterIndex].name);
+   print_string(s);
+   y -= dy;
+
+   glWindowPos2i(x, y);
+   sprintf(s, "  MAG_FILTER (g): %s", MagNearestFilter ? "NEAREST" : "LINEAR");
    print_string(s);
    y -= dy;
 
@@ -285,8 +291,8 @@ display(void)
 
    printf
       ("BASE_LEVEL=%d  MAX_LEVEL=%d  MIN_LOD=%.2g  MAX_LOD=%.2g  Bias=%.2g  Filter=%s/%s\n",
-       BaseLevel, MaxLevel, MinLod, MaxLod, LodBias, min_filters[min_filter].name,
-       NearestFilter ? "NEAREST" : "LINEAR");
+       BaseLevel, MaxLevel, MinLod, MaxLod, LodBias, min_filters[MinFilterIndex].name,
+       MagNearestFilter ? "NEAREST" : "LINEAR");
    fflush(stdout);
 
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel);
@@ -295,8 +301,8 @@ display(void)
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, MinLod);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, MaxLod);
 
-   glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filters[min_filter].value);
-   glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, NearestFilter ? GL_NEAREST : GL_LINEAR);
+   glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filters[MinFilterIndex].value);
+   glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, MagNearestFilter ? GL_NEAREST : GL_LINEAR);
 
    glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias);
 
@@ -392,17 +398,17 @@ key(unsigned char k, int x, int y)
       MaxLod += 0.25;
       break;
    case 'f':
-      if (!min_filter)
-         min_filter = sizeof(min_filters) / sizeof(*min_filters);
-      min_filter--;
+      if (MinFilterIndex == 0)
+         MinFilterIndex = sizeof(min_filters) / sizeof(*min_filters);
+      MinFilterIndex--;
       break;
    case 'F':
-      min_filter++;
-      if (min_filter == sizeof(min_filters) / sizeof(*min_filters))
-         min_filter = 0;
+      MinFilterIndex++;
+      if (MinFilterIndex == sizeof(min_filters) / sizeof(*min_filters))
+         MinFilterIndex = 0;
       break;
    case 'g':
-      NearestFilter = !NearestFilter;
+      MagNearestFilter = !MagNearestFilter;
       break;
    case 't':
       if (texCurrent == texColor)




More information about the mesa-commit mailing list