GlFence.java
com.mojang.blaze3d.opengl.GlFence
信息
- 全限定名:com.mojang.blaze3d.opengl.GlFence
- 类型:public class
- 包:com.mojang.blaze3d.opengl
- 源码路径:src/main/java/com/mojang/blaze3d/opengl/GlFence.java
- 起始行号:L8
- 实现:GpuFence
- 职责:
TODO
字段/常量
handle- 类型:
long - 修饰符:
private - 源码定位:
L9 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public void close() @ L11
- 方法名:close
- 源码定位:L11
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean awaitCompletion(long timeoutMs) @ L19
- 方法名:awaitCompletion
- 源码定位:L19
- 返回类型:boolean
- 修饰符:public
参数:
- timeoutMs: long
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class GlFence implements GpuFence {
private long handle = GlStateManager._glFenceSync(37143, 0);
@Override
public void close() {
if (this.handle != 0L) {
GlStateManager._glDeleteSync(this.handle);
this.handle = 0L;
}
}
@Override
public boolean awaitCompletion(long timeoutMs) {
if (this.handle == 0L) {
return true;
} else {
int result = GlStateManager._glClientWaitSync(this.handle, 0, timeoutMs);
if (result == 37147) {
return false;
} else if (result == 37149) {
throw new IllegalStateException("Failed to complete GPU fence: " + GlStateManager._getError());
} else {
return true;
}
}
}
}引用的其他类
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
GlStateManager._getError(), GlStateManager._glClientWaitSync(), GlStateManager._glDeleteSync(), GlStateManager._glFenceSync()
- 引用位置: