]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/buffer.h
Store implementation limits in a central struct
[libs/gl.git] / source / core / buffer.h
index cc5e58741c141f1fd5910e1abda23ec68a650a39..ad3084298c55e74e0cfb4296bab53a556c5cceae 100644 (file)
@@ -65,6 +65,7 @@ private:
        BufferType type;
        unsigned id;
        unsigned size;
+       bool allocated;
 
        static const Buffer *bound[5];
 
@@ -86,6 +87,10 @@ public:
        be uploaded.  Storage cannot be changed once set. */
        void storage(unsigned);
 
+       /** Allocates storage for the buffer.  The contents are initially undefined.
+       If storage has already been allocated, does nothing. */
+       void allocate();
+
        /** Sets the usage hint of the buffer.  It will take effect the next time
        the buffer's contents are defined. */
        DEPRECATED void set_usage(BufferUsage);
@@ -125,6 +130,9 @@ public:
 private:
        static const Buffer *&binding(BufferType);
        static bool set_current(BufferType, const Buffer *);
+
+public:
+       void set_debug_name(const std::string &);
 };
 
 
@@ -155,8 +163,8 @@ private:
        static bool set_current(BufferType, unsigned, const BufferRange *);
 
 public:
-       static unsigned get_n_uniform_buffer_bindings();
-       static unsigned get_uniform_buffer_alignment();
+       DEPRECATED static unsigned get_n_uniform_buffer_bindings();
+       DEPRECATED static unsigned get_uniform_buffer_alignment();
 };
 
 } // namespace GL