]> git.tdb.fi Git - gldbg.git/blobdiff - flavors/gl/source/glstate.h
Track uniform buffer bindings
[gldbg.git] / flavors / gl / source / glstate.h
index 7f15b0157489986f87f0b1213c642d5096b713d9..e6a3d9812f556f6b351799da28625e8978620402 100644 (file)
@@ -50,6 +50,8 @@ private:
        BufferMap buffers;
        BufferState *array_buffer;
        BufferState *element_buffer;
+       BufferState *uniform_buffer;
+       std::vector<BufferBindingState> uniform_bind_points;
        ArrayState vertex_array;
        ArrayState normal_array;
        ArrayState color_array;
@@ -70,13 +72,16 @@ public:
        const BufferMap &get_buffers() const { return buffers; }
        const BufferState &get_buffer(unsigned) const;
        const BufferState *get_current_buffer(GLenum) const;
+       const BufferBindingState &get_buffer_binding(GLenum, unsigned) const;
        const ArrayState &get_array(GLenum) const;
        const ArrayState &get_texture_coord_array(unsigned) const;
        const ArrayState &get_attrib_array(unsigned) const;
 private:
        bool &get_boolean_state(GLenum);
        TextureState *get_current_texture(GLenum);
+       BufferState *get_buffer_object(unsigned);
        BufferState *get_current_buffer(GLenum);
+       BufferBindingState *get_buffer_binding(GLenum, unsigned);
        void set_current_texture(GLenum, unsigned);
        void set_current_buffer(GLenum, unsigned);
        ArrayState &get_attrib_array(unsigned);
@@ -110,6 +115,8 @@ private:
        static void glVertexAttribPointer(void *, unsigned, int, GLenum, unsigned char, int, const void *);
 
        static void glBindBuffer(void *, GLenum, unsigned);
+       static void glBindBufferBase(void *, GLenum, unsigned, unsigned);
+       static void glBindBufferRange(void *, GLenum, unsigned, unsigned, int, int);
        static void glBufferData(void *, GLenum, int, const void *, GLenum);
        static void glBufferSubData(void *, GLenum, int, int, const void *);
        static void glDeleteBuffers(void *, int, const unsigned *);