OSDN Git Service

mesa: add new gl_renderbuffer fields
authorBrian Paul <brianp@vmware.com>
Mon, 16 Jan 2012 17:55:15 +0000 (10:55 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Sat, 28 Jan 2012 01:43:21 +0000 (17:43 -0800)
These are temporary, actually, but they'll make follow-on work easier to
implement in a step-by-step manner.  Eventually the Map and RowStrideBytes
fields will go into a new swrast_renderbuffer type, but adding that type
now would involve touching a _lot_ of code that'll eventually be removed.

The fields marked as obsolete will go away completely at some point.
(cherry picked from commit 827c1d66f671e50d9d96277b1fd3a59309626f66)

src/mesa/main/mtypes.h

index 95450f9..99b6a6f 100644 (file)
@@ -2528,7 +2528,6 @@ struct gl_renderbuffer
    GLuint Name;
    GLint RefCount;
    GLuint Width, Height;
-   GLint RowStride;       /**< Padded width in units of pixels */
    GLboolean Purgeable;   /**< Is the buffer purgeable under memory pressure? */
 
    GLboolean AttachedAnytime; /**< TRUE if it was attached to a framebuffer */
@@ -2540,9 +2539,15 @@ struct gl_renderbuffer
                                GL_STENCIL_INDEX. */
    gl_format Format;      /**< The actual renderbuffer memory format */
 
+   /* XXX the following 3 fields are obsolete and wil go away */
+   GLint RowStride;       /**< Padded width in units of pixels */
    GLenum DataType;      /**< Type of values passed to the Get/Put functions */
    GLvoid *Data;        /**< This may not be used by some kinds of RBs */
 
+   /** The following fields are only valid while the buffer is mapped */
+   GLubyte *Map;
+   GLint RowStrideBytes;
+
    /* Used to wrap one renderbuffer around another: */
    struct gl_renderbuffer *Wrapped;