summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/marshal.h
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-03-23 17:19:36 +1100
committerTimothy Arceri <[email protected]>2017-03-24 11:23:06 +1100
commitadced4a2f9d017ae126a438f97eb305fa0ca3bd0 (patch)
treea89f2b3626dcc3fe6132a3a2ffe56e83ec1b967d /src/mesa/main/marshal.h
parent0a32b52a27e8530bda1e5048783d37f578c5b3c9 (diff)
mesa/marshal: add custom BufferData/BufferSubData marshalling
GL_AMD_pinned_memory requires memory to be aligned correctly, so we skip marshalling in this case. Also copying the data defeats the purpose of EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD. Fixes GL_AMD_pinned_memory piglit tests when glthread is enabled. Acked-by: Edward O'Callaghan <[email protected]>
Diffstat (limited to 'src/mesa/main/marshal.h')
-rw-r--r--src/mesa/main/marshal.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/main/marshal.h b/src/mesa/main/marshal.h
index 1b4fd515050..4e9a6653b4e 100644
--- a/src/mesa/main/marshal.h
+++ b/src/mesa/main/marshal.h
@@ -187,6 +187,8 @@ _mesa_glthread_is_compat_bind_vertex_array(const struct gl_context *ctx)
struct marshal_cmd_ShaderSource;
struct marshal_cmd_Flush;
struct marshal_cmd_BindBuffer;
+struct marshal_cmd_BufferData;
+struct marshal_cmd_BufferSubData;
void GLAPIENTRY
_mesa_marshal_ShaderSource(GLuint shader, GLsizei count,
@@ -210,4 +212,20 @@ void
_mesa_unmarshal_BindBuffer(struct gl_context *ctx,
const struct marshal_cmd_BindBuffer *cmd);
+void
+_mesa_unmarshal_BufferData(struct gl_context *ctx,
+ const struct marshal_cmd_BufferData *cmd);
+
+void GLAPIENTRY
+_mesa_marshal_BufferData(GLenum target, GLsizeiptr size, const GLvoid * data,
+ GLenum usage);
+
+void
+_mesa_unmarshal_BufferSubData(struct gl_context *ctx,
+ const struct marshal_cmd_BufferSubData *cmd);
+
+void GLAPIENTRY
+_mesa_marshal_BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
+ const GLvoid * data);
+
#endif /* MARSHAL_H */