summaryrefslogtreecommitdiff
path: root/src/mesa/main
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-05-06 15:23:09 -0600
committerBrian Paul <brianp@vmware.com>2009-05-07 10:12:33 -0600
commitdcca97a3e3c1d8f5d27e1177257964eddb9effd3 (patch)
treee3efceb5f80671736f24531147d0cd5da66a3f04 /src/mesa/main
parentb9d0f947f2bcc47047b162e3d7c8f91b6153e02c (diff)
mesa: added gl_buffer_object::Written flag (for debug purposes)
The flag is set when we data has been written into the buffer object.
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/bufferobj.c6
-rw-r--r--src/mesa/main/mtypes.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 49f690ddd2..43a8d2ba66 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -962,6 +962,8 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size,
ASSERT(ctx->Driver.BufferData);
+ bufObj->Written = GL_TRUE;
+
/* Give the buffer object to the driver! <data> may be null! */
ctx->Driver.BufferData( ctx, target, size, data, usage, bufObj );
}
@@ -982,6 +984,8 @@ _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset,
return;
}
+ bufObj->Written = GL_TRUE;
+
ASSERT(ctx->Driver.BufferSubData);
ctx->Driver.BufferSubData( ctx, target, offset, size, data, bufObj );
}
@@ -1046,6 +1050,8 @@ _mesa_MapBufferARB(GLenum target, GLenum access)
}
bufObj->Access = access;
+ if (access == GL_WRITE_ONLY_ARB || access == GL_READ_WRITE_ARB)
+ bufObj->Written = GL_TRUE;
return bufObj->Pointer;
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 368acde7a1..276bc42eba 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1506,6 +1506,7 @@ struct gl_buffer_object
GLsizeiptrARB Size; /**< Size of storage in bytes */
GLubyte *Data; /**< Location of storage either in RAM or VRAM. */
GLboolean OnCard; /**< Is buffer in VRAM? (hardware drivers) */
+ GLboolean Written; /**< Ever written to? (for debugging) */
};