eglWaitSync - EGL Reference Pages

## Name

eglWaitSync — Wait in the server for a sync object to be signalled

## C Specification

`EGLBoolean eglWaitSync(` | (EGLDisplay display,
| EGLSync sync,
| EGLint flags`)`;

## Parameters

`display`

  Specifies the EGL display connection.

`sync`

  Specifies the sync object to wait on.

`flags`

  Specifies flags controlling wait behavior.

## Description

`eglWaitSync` is similar to `eglClientWaitSync`, but instead of blocking and not returning to the application until `sync` is signaled, `eglWaitSync` returns immediately. On success, `EGL_TRUE` is returned, and the server for the client API context will block until `sync` is signaled.

Note: `eglWaitSync` allows applications to continue to queue commands from the application in anticipation of the sync being signaled, potentially increasing parallelism between application, client API server code, and the GPU. The server only blocks execution of commands for the specific context on which `eglWaitSync` was issued; other contexts implemented by the same server are not affected..

`sync` has the same meaning as for `eglClientWaitSync`.

`flags` must be 0.

`eglWaitSync` requires support from the bound client API, and will not succeed unless the same client API properties described for creation of fence syncs in eglCreateSync are satisfied.

## Errors

`eglWaitSync` returns `EGL_FALSE` on failure, and does not cause the server for the client API context to block.

If the current context for the currently bound client API does not support server waits, an `EGL_BAD_MATCH` error is generated.

If no context is current for the currently bound client API (i.e., `eglGetCurrentContext` returns `EGL_NO_CONTEXT`), an `EGL_BAD_MATCH` error is generated.

If `display` does not match the EGLDisplay passed to `eglCreateSync` when `sync` was created, the behavior is undefined.

If `sync` is not a valid sync object for `display`, an `EGL_BAD_PARAMETER` error is generated.

If `flags` is not 0, an `EGL_BAD_PARAMETER` error is generated.

## Notes

`eglWaitSync` is available only if the EGL version is 1.5 or greater.

## See Also

eglClientWaitSync, eglCreateSync, eglGetCurrentContext

Copyright © 2003-2014 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.