summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2017-07-18 11:11:03 +0200
committerSamuel Pitoiset <[email protected]>2017-07-31 13:53:39 +0200
commit8981f90091a3114fe20595c8957068a48fa85e9f (patch)
treec71d8cc4cb99e6d6db3fd7ed602c8ef6f7565b0d
parentc6f81a1df833c2adf1cec735a197fe54d21d435a (diff)
mesa: add KHR_no_error support to glWaitSync()
Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
-rw-r--r--src/mapi/glapi/gen/ARB_sync.xml2
-rw-r--r--src/mesa/main/syncobj.c10
-rw-r--r--src/mesa/main/syncobj.h3
3 files changed, 14 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/ARB_sync.xml b/src/mapi/glapi/gen/ARB_sync.xml
index f1463f11a86..d6412d3bf4c 100644
--- a/src/mapi/glapi/gen/ARB_sync.xml
+++ b/src/mapi/glapi/gen/ARB_sync.xml
@@ -61,7 +61,7 @@
<return type="GLenum"/>
</function>
- <function name="WaitSync" es2="3.0">
+ <function name="WaitSync" es2="3.0" no_error="true">
<param name="sync" type="GLsync"/>
<param name="flags" type="GLbitfield"/>
<param name="timeout" type="GLuint64"/>
diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c
index 915b7009f78..62f6dbc4a60 100644
--- a/src/mesa/main/syncobj.c
+++ b/src/mesa/main/syncobj.c
@@ -391,6 +391,16 @@ wait_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
void GLAPIENTRY
+_mesa_WaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout)
+{
+ GET_CURRENT_CONTEXT(ctx);
+
+ struct gl_sync_object *syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
+ wait_sync(ctx, syncObj, flags, timeout);
+}
+
+
+void GLAPIENTRY
_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
{
GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/syncobj.h b/src/mesa/main/syncobj.h
index 2b50d062b13..7d1bed530c8 100644
--- a/src/mesa/main/syncobj.h
+++ b/src/mesa/main/syncobj.h
@@ -72,6 +72,9 @@ _mesa_ClientWaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout);
extern GLenum GLAPIENTRY
_mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
+void GLAPIENTRY
+_mesa_WaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout);
+
extern void GLAPIENTRY
_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);