GLES3.0中文API-glFenceSync

名称

glFenceSync — 创建一个新的同步对象并将其插入GL命令流

C 规范

GLsync glFenceSync( GLenum condition,
GLbitfield flags);

参数

condition
指定将同步对象的状态设置为已发出信号必须满足的条件。条件必须为GL_SYNC_GPU_COMMANDS_COMPLETE。

flags
指定控制同步对象行为的标志的按位组合。当前没有为此操作定义标志,并且标志必须为零。[1]

描述

glFenceSync创建一个新的fence同步对象,将fence命令插入GL命令流并将其与该同步对象相关联,并返回与该同步对象相对应的非零名称。

当fence命令满足了同步对象的指定条件时,GL将用信号通知同步对象,从而使所有在同步中阻塞的glWaitSync和glClientWaitSync命令解除阻塞。 glFenceSync或关联的fence命令的执行不会影响其他任何状态。

条件必须为GL_SYNC_GPU_COMMANDS_COMPLETE。通过完成与同步对象相对应的fence命令以及同一命令流中的所有先前命令,可以满足此条件。在完全实现这些命令对GL客户端和服务器状态以及帧缓冲区的所有影响之前,不会发信号通知同步对象。请注意,一旦更改了相应同步对象的状态,篱笆命令就会完成,但是直到fence命令完成后,等待该同步对象的命令才可能被解除阻止。

错误

如果条件不是GL_SYNC_GPU_COMMANDS_COMPLETE,则生成GL_INVALID_ENUM。

如果标志不为零,则生成GL_INVALID_VALUE。

此外,如果glFenceSync失败,它将返回零。

API支持版本

函数名 2.0 3.0 3.1 3.2
glFenceSync -

另见

glDeleteSync, glGetSynciv, glWaitSync, glClientWaitSync

版权

https://www.khronos.org/registry/OpenGL-Refpages/es3/html/glFenceSync.xhtml
Copyright © 2010-2015 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

[1]标志是篱笆同步对象功能的预期未来扩展的占位符。

发布了215 篇原创文章 · 获赞 0 · 访问量 794

猜你喜欢

转载自blog.csdn.net/MSK1111/article/details/103112108
今日推荐