]> git.tdb.fi Git - gldbg.git/blobdiff - source/glprint.c
Fix things for 64-bit systems
[gldbg.git] / source / glprint.c
index dff66f47f080156cf08b6958e9d68c66654ba560..21f7fe5c65e962bf16ffad4ecfee42de3d149653 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of gldbg
-Copyright © 2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the GPL
-*/
-
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -107,9 +100,14 @@ static const char *print_array(const char *fmt, const void *data, unsigned elem_
                        *ptr++ = ' ';
                }
                memcpy(&element, (const char *)data+i*elem_size, elem_size);
-               if(type>='e' && type<='g' && elem_size==sizeof(float))
-                       *(double *)&element = *(float *)&element;
-               len = snprintf(ptr, buf_size, fmt, element);
+               if(type>='e' && type<='g')
+               {
+                       if(elem_size==sizeof(float))
+                               *(double *)&element = *(float *)&element;
+                       len = snprintf(ptr, buf_size, fmt, *(double *)&element);
+               }
+               else
+                       len = snprintf(ptr, buf_size, fmt, element);
                ptr += len;
                buf_size -= len;
        }
@@ -155,6 +153,37 @@ static const char *print_array_described(const char *(*describe)(GLenum, const c
        return buffer;
 }
 
+static const char *print_parameter(int pname, int param)
+{
+       char *buffer;
+
+       // XXX Need to move the param names to flavor
+       switch(pname)
+       {
+       case GL_TEXTURE_MIN_FILTER:
+       case GL_TEXTURE_MAG_FILTER:
+       case GL_TEXTURE_WRAP_S:
+       case GL_TEXTURE_WRAP_T:
+               return describe_enum(param, "");
+       }
+
+       buffer = tmpalloc(11);
+       snprintf(buffer, 11, "%i", param);
+       return buffer;
+}
+
+static const char *print_internal_format(int fmt)
+{
+       char *buffer;
+
+       if(fmt>4)
+               return describe_enum(fmt, "PixelFormat");
+
+       buffer = tmpalloc(2);
+       snprintf(buffer, 2, "%i", fmt);
+       return buffer;
+}
+
 static const char *print_data(const void *data, unsigned size)
 {
        if(!data)