summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/marshal.h
diff options
context:
space:
mode:
authorGrigori Goronzy <[email protected]>2017-07-09 03:27:12 +0200
committerGrigori Goronzy <[email protected]>2017-07-14 21:20:31 +0200
commit1ad24faa116d9f8fab78ad3b81ff6a3625016e50 (patch)
tree06af96c7d8194d1578cdafff489d6075d38260ae /src/mesa/main/marshal.h
parent8036198c0f2ac76309b8a5ed447e49da26a1795f (diff)
mesa/marshal: add marshalling for glClearBuffer*
Add async marshalling/unmarshalling for all glClearBuffer variants. These entry points are commonly used in general and Alien Isolation specifically uses glClearBufferiv. Slightly reduces the number of thread synchronizations with glthread in that game. Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/main/marshal.h')
-rw-r--r--src/mesa/main/marshal.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/mesa/main/marshal.h b/src/mesa/main/marshal.h
index 1567e7bea42..f2dc8429a1a 100644
--- a/src/mesa/main/marshal.h
+++ b/src/mesa/main/marshal.h
@@ -183,7 +183,10 @@ struct marshal_cmd_BufferSubData;
struct marshal_cmd_NamedBufferData;
struct marshal_cmd_NamedBufferSubData;
struct marshal_cmd_ClearBuffer;
-#define marshal_cmd_ClearBufferfv marshal_cmd_ClearBuffer
+#define marshal_cmd_ClearBufferfv marshal_cmd_ClearBuffer
+#define marshal_cmd_ClearBufferiv marshal_cmd_ClearBuffer
+#define marshal_cmd_ClearBufferuiv marshal_cmd_ClearBuffer
+#define marshal_cmd_ClearBufferfi marshal_cmd_ClearBuffer
void
_mesa_unmarshal_Enable(struct gl_context *ctx,
@@ -254,4 +257,28 @@ void GLAPIENTRY
_mesa_marshal_ClearBufferfv(GLenum buffer, GLint drawbuffer,
const GLfloat *value);
+void GLAPIENTRY
+_mesa_unmarshal_ClearBufferiv(struct gl_context *ctx,
+ const struct marshal_cmd_ClearBuffer *cmd);
+
+void GLAPIENTRY
+_mesa_marshal_ClearBufferiv(GLenum buffer, GLint drawbuffer,
+ const GLint *value);
+
+void GLAPIENTRY
+_mesa_unmarshal_ClearBufferuiv(struct gl_context *ctx,
+ const struct marshal_cmd_ClearBuffer *cmd);
+
+void GLAPIENTRY
+_mesa_marshal_ClearBufferuiv(GLenum buffer, GLint drawbuffer,
+ const GLuint *value);
+
+void GLAPIENTRY
+_mesa_unmarshal_ClearBufferfi(struct gl_context *ctx,
+ const struct marshal_cmd_ClearBuffer *cmd);
+
+void GLAPIENTRY
+_mesa_marshal_ClearBufferfi(GLenum buffer, GLint drawbuffer,
+ const GLfloat depth, const GLint stencil);
+
#endif /* MARSHAL_H */