[Mesa-dev] [PATCH 1/3] mesa: add driver interface for glInvalidateBuffer(Sub)Data
Marek Olšák
maraeo at gmail.com
Sun Mar 16 10:00:52 PDT 2014
From: Marek Olšák <marek.olsak at amd.com>
---
src/mesa/main/bufferobj.c | 14 ++++++--------
src/mesa/main/dd.h | 8 +++++++-
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 2e9e059..e7b6382 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -2813,10 +2813,9 @@ _mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
return;
}
- /* We don't actually do anything for this yet. Just return after
- * validating the parameters and generating the required errors.
- */
- return;
+ if (ctx->Driver.InvalidateBufferSubData) {
+ ctx->Driver.InvalidateBufferSubData(ctx, bufObj, offset, length);
+ }
}
void GLAPIENTRY
@@ -2847,8 +2846,7 @@ _mesa_InvalidateBufferData(GLuint buffer)
return;
}
- /* We don't actually do anything for this yet. Just return after
- * validating the parameters and generating the required errors.
- */
- return;
+ if (ctx->Driver.InvalidateBufferSubData) {
+ ctx->Driver.InvalidateBufferSubData(ctx, bufObj, 0, bufObj->Size);
+ }
}
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 9715241..a2d2696 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -957,7 +957,13 @@ struct dd_function_table {
GLenum access, GLenum format);
void (*MemoryBarrier)(struct gl_context *ctx, GLbitfield barriers);
- /** @} */
+
+ /** @}
+ * \name GL_ARB_invalidate_subdata interface.
+ */
+ void (*InvalidateBufferSubData)(struct gl_context *ctx,
+ struct gl_buffer_object *bufObj,
+ unsigned offset, unsigned length);
};
--
1.8.3.2
More information about the mesa-dev
mailing list