]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture.h
Use a scratch binding to modify textures and buffers
[libs/gl.git] / source / core / texture.h
index 58e22d358a6a82f2f321b3ba553b9a5b2ce00fc6..1631f69f248109a1a06764f9fd038b05841e685e 100644 (file)
@@ -49,11 +49,6 @@ protected:
                void mipmap_levels(unsigned);
        };
 
-       enum ParameterMask
-       {
-               FORMAT_SWIZZLE = 512
-       };
-
        enum FormatSwizzle
        {
                NO_SWIZZLE,
@@ -72,6 +67,7 @@ protected:
        std::string debug_name;
 
        static int swizzle_orders[];
+       static Texture *scratch_binding;
 
        Texture(GLenum, ResourceManager * = 0);
        Texture(const Texture &);
@@ -86,13 +82,12 @@ protected:
        void set_parameter_i(GLenum, int) const;
 
 public:
+       PixelFormat get_format() const { return format; }
+
        static bool can_generate_mipmap();
 
        void generate_mipmap();
-protected:
-       void generate_mipmap_();
 
-public:
        /** Sets automatic mipmap generation.  If enabled, mipmaps are generated
        when a texture image is uploaded. */
        void set_auto_generate_mipmap(bool);
@@ -118,6 +113,11 @@ public:
        virtual UInt64 get_data_size() const { return 0; }
 
        void set_debug_name(const std::string &);
+
+protected:
+       void bind_scratch();
+public:
+       static void unbind_scratch();
 };
 
 } // namespace GL