]> git.tdb.fi Git - gldbg.git/blobdiff - flavors/gl/source/bufferstate.h
Fix several problems reported by valgrind
[gldbg.git] / flavors / gl / source / bufferstate.h
index c3f504bf593ab5416bf95170a903424b69fbc5a7..6cff3feaf55d2f8f20d85cbd1211c9cbd27d3926 100644 (file)
@@ -1,15 +1,9 @@
-/* $Id$
-
-This file is part of gldbg
-Copyright © 2009-2010  Mikko Rasa, Mikkosoft Productions
-Distributed under the GPL
-*/
-
 #ifndef BUFFERSTATE_H_
 #define BUFFERSTATE_H_
 
 #include <string>
 #include <vector>
+#include "autoconstptr.h"
 #include "opengl.h"
 
 struct ArrayState;
@@ -24,6 +18,7 @@ struct BufferContent
                GLenum type;
                int offset;
 
+               Array();
                Array(const ArrayState &);
        };
 
@@ -32,7 +27,9 @@ struct BufferContent
        std::vector<Array> arrays;
 
        BufferContent();
+
        void update(const ArrayState &);
+       void update_elements(GLenum);
        std::string describe() const;
 };
 
@@ -46,9 +43,20 @@ struct BufferState
        BufferContent content;
 
        BufferState();
+       ~BufferState();
+
        void set_data(unsigned, const void *, GLenum);
        void set_sub_data(unsigned, unsigned, const void *);
        std::string describe() const;
 };
 
+struct BufferBindingState
+{
+       AutoConstPtr<BufferState> buffer;
+       unsigned offset;
+       unsigned size;
+
+       BufferBindingState();
+};
+
 #endif