]> git.tdb.fi Git - gldbg.git/blobdiff - flavors/gl/source/arraystate.cpp
Add a command to show current vertex array state
[gldbg.git] / flavors / gl / source / arraystate.cpp
index 82442d7f3a37e90afbcf0b44da75e76e0a75de97..98d6ed406376ebd0fa86fc7d1b293d308bbd74d7 100644 (file)
@@ -1,5 +1,9 @@
 #include "arraystate.h"
 #include "bufferstate.h"
+#include "enums.h"
+#include "strformat.h"
+
+using namespace std;
 
 ArrayState::ArrayState():
        kind(0),
@@ -25,3 +29,18 @@ void ArrayState::set(unsigned s, GLenum t, bool n, unsigned r, BufferState *b, l
        if(buffer)
                buffer->content.update(*this);
 }
+
+string ArrayState::describe() const
+{
+       if(enabled)
+       {
+               string descr = strformat("%d %s, stride %d", size, describe_enum(type, "DataType"), stride);
+               if(buffer)
+                       descr += strformat(", buffer %d at %d", buffer->id, pointer);
+               else
+                       descr += strformat(", at 0x%X", pointer);
+               return descr;
+       }
+       else
+               return "Disabled";
+}