Class NVXProgressFence
- java.lang.Object
-
- org.lwjgl.opengl.NVXProgressFence
-
public class NVXProgressFence extends java.lang.Object
Native bindings to the NVX_progress_fence extension.This extension uses the concept of GL semaphores as defined in
EXT_semaphore
to better coordinate operations between multiple GPU command streams. A semaphore type called "progress fence" is derived from the GL semaphore. The progress fence semaphore is created byCreateProgressFenceNVX
) returning the name of a newly created semaphore object. Like other semaphores, these are signaled by the GL server. Each signal operation is queued in the GPU command stream with an associated fence value that is written to the semaphore at the completion of a signal operation.A GL server wait can be added to the command stream using
WaitSemaphoreui64NVX
. This blocks the GPU until the progress fence semaphore reaches or exceeds the specified fence value.A GL client wait can be initiated using
ClientWaitSemaphoreui64NVX
. This blocks the CPU until the specified fence value is reached.Requires
EXT_external_objects
andEXT_external_objects_win32
.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
glClientWaitSemaphoreui64NVX(int[] semaphoreArray, long[] fenceValueArray)
Array version of:ClientWaitSemaphoreui64NVX
static void
glClientWaitSemaphoreui64NVX(java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
static int
glCreateProgressFenceNVX()
static void
glSignalSemaphoreui64NVX(int signalGpu, int[] semaphoreArray, long[] fenceValueArray)
Array version of:SignalSemaphoreui64NVX
static void
glSignalSemaphoreui64NVX(int signalGpu, java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
static void
glWaitSemaphoreui64NVX(int waitGpu, int[] semaphoreArray, long[] fenceValueArray)
Array version of:WaitSemaphoreui64NVX
static void
glWaitSemaphoreui64NVX(int waitGpu, java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
static void
nglClientWaitSemaphoreui64NVX(int fenceObjectCount, long semaphoreArray, long fenceValueArray)
static void
nglSignalSemaphoreui64NVX(int signalGpu, int fenceObjectCount, long semaphoreArray, long fenceValueArray)
static void
nglWaitSemaphoreui64NVX(int waitGpu, int fenceObjectCount, long semaphoreArray, long fenceValueArray)
-
-
-
Method Detail
-
glCreateProgressFenceNVX
public static int glCreateProgressFenceNVX()
-
nglSignalSemaphoreui64NVX
public static void nglSignalSemaphoreui64NVX(int signalGpu, int fenceObjectCount, long semaphoreArray, long fenceValueArray)
-
glSignalSemaphoreui64NVX
public static void glSignalSemaphoreui64NVX(int signalGpu, java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
-
nglWaitSemaphoreui64NVX
public static void nglWaitSemaphoreui64NVX(int waitGpu, int fenceObjectCount, long semaphoreArray, long fenceValueArray)
-
glWaitSemaphoreui64NVX
public static void glWaitSemaphoreui64NVX(int waitGpu, java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
-
nglClientWaitSemaphoreui64NVX
public static void nglClientWaitSemaphoreui64NVX(int fenceObjectCount, long semaphoreArray, long fenceValueArray)
-
glClientWaitSemaphoreui64NVX
public static void glClientWaitSemaphoreui64NVX(java.nio.IntBuffer semaphoreArray, java.nio.LongBuffer fenceValueArray)
-
glSignalSemaphoreui64NVX
public static void glSignalSemaphoreui64NVX(int signalGpu, int[] semaphoreArray, long[] fenceValueArray)
Array version of:SignalSemaphoreui64NVX
-
glWaitSemaphoreui64NVX
public static void glWaitSemaphoreui64NVX(int waitGpu, int[] semaphoreArray, long[] fenceValueArray)
Array version of:WaitSemaphoreui64NVX
-
glClientWaitSemaphoreui64NVX
public static void glClientWaitSemaphoreui64NVX(int[] semaphoreArray, long[] fenceValueArray)
Array version of:ClientWaitSemaphoreui64NVX
-
-