All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengl.GLXNVSwapGroup Maven / Gradle / Ivy

/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengl;

import java.nio.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;

/**
 * Native bindings to the GLX_NV_swap_group extension.
 * 
 * 

This extension provides the capability to synchronize the buffer swaps of a group of OpenGL windows. A swap group is created, and windows are added as * members to the swap group. Buffer swaps to members of the swap group will then take place concurrently.

* *

This extension also provides the capability to sychronize the buffer swaps of different swap groups, which may reside on distributed systems on a * network. For this purpose swap groups can be bound to a swap barrier.

* *

This extension extends the set of conditions that must be met before a buffer swap can take place.

*/ public class GLXNVSwapGroup { protected GLXNVSwapGroup() { throw new UnsupportedOperationException(); } static boolean isAvailable(GLXCapabilities caps) { return checkFunctions( caps.glXJoinSwapGroupNV, caps.glXBindSwapBarrierNV, caps.glXQuerySwapGroupNV, caps.glXQueryMaxSwapGroupsNV, caps.glXQueryFrameCountNV, caps.glXResetFrameCountNV ); } // --- [ glXJoinSwapGroupNV ] --- /** * @param display the connection to the X server * @param drawable * @param group */ public static boolean glXJoinSwapGroupNV(long display, long drawable, int group) { long __functionAddress = GL.getCapabilitiesGLXClient().glXJoinSwapGroupNV; if (CHECKS) { check(__functionAddress); check(display); check(drawable); } return callPPI(__functionAddress, display, drawable, group) != 0; } // --- [ glXBindSwapBarrierNV ] --- /** * @param display the connection to the X server * @param group * @param barrier */ public static boolean glXBindSwapBarrierNV(long display, int group, int barrier) { long __functionAddress = GL.getCapabilitiesGLXClient().glXBindSwapBarrierNV; if (CHECKS) { check(__functionAddress); check(display); } return callPI(__functionAddress, display, group, barrier) != 0; } // --- [ glXQuerySwapGroupNV ] --- /** Unsafe version of: {@link #glXQuerySwapGroupNV QuerySwapGroupNV} */ public static int nglXQuerySwapGroupNV(long display, long drawable, long group, long barrier) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQuerySwapGroupNV; if (CHECKS) { check(__functionAddress); check(display); check(drawable); } return callPPPPI(__functionAddress, display, drawable, group, barrier); } /** * @param display the connection to the X server * @param drawable * @param group * @param barrier */ public static boolean glXQuerySwapGroupNV(long display, long drawable, IntBuffer group, IntBuffer barrier) { if (CHECKS) { check(group, 1); check(barrier, 1); } return nglXQuerySwapGroupNV(display, drawable, memAddress(group), memAddress(barrier)) != 0; } // --- [ glXQueryMaxSwapGroupsNV ] --- /** Unsafe version of: {@link #glXQueryMaxSwapGroupsNV QueryMaxSwapGroupsNV} */ public static int nglXQueryMaxSwapGroupsNV(long display, int screen, long maxGroups, long maxBarriers) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQueryMaxSwapGroupsNV; if (CHECKS) { check(__functionAddress); check(display); } return callPPPI(__functionAddress, display, screen, maxGroups, maxBarriers); } /** * @param display the connection to the X server * @param screen * @param maxGroups * @param maxBarriers */ public static boolean glXQueryMaxSwapGroupsNV(long display, int screen, IntBuffer maxGroups, IntBuffer maxBarriers) { if (CHECKS) { check(maxGroups, 1); check(maxBarriers, 1); } return nglXQueryMaxSwapGroupsNV(display, screen, memAddress(maxGroups), memAddress(maxBarriers)) != 0; } // --- [ glXQueryFrameCountNV ] --- /** Unsafe version of: {@link #glXQueryFrameCountNV QueryFrameCountNV} */ public static int nglXQueryFrameCountNV(long display, int screen, long count) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQueryFrameCountNV; if (CHECKS) { check(__functionAddress); check(display); } return callPPI(__functionAddress, display, screen, count); } /** * @param display the connection to the X server * @param screen * @param count */ public static boolean glXQueryFrameCountNV(long display, int screen, IntBuffer count) { if (CHECKS) { check(count, 1); } return nglXQueryFrameCountNV(display, screen, memAddress(count)) != 0; } // --- [ glXResetFrameCountNV ] --- /** * @param display the connection to the X server * @param screen */ public static boolean glXResetFrameCountNV(long display, int screen) { long __functionAddress = GL.getCapabilitiesGLXClient().glXResetFrameCountNV; if (CHECKS) { check(__functionAddress); check(display); } return callPI(__functionAddress, display, screen) != 0; } /** Array version of: {@link #glXQuerySwapGroupNV QuerySwapGroupNV} */ public static boolean glXQuerySwapGroupNV(long display, long drawable, int[] group, int[] barrier) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQuerySwapGroupNV; if (CHECKS) { check(__functionAddress); check(display); check(drawable); check(group, 1); check(barrier, 1); } return callPPPPI(__functionAddress, display, drawable, group, barrier) != 0; } /** Array version of: {@link #glXQueryMaxSwapGroupsNV QueryMaxSwapGroupsNV} */ public static boolean glXQueryMaxSwapGroupsNV(long display, int screen, int[] maxGroups, int[] maxBarriers) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQueryMaxSwapGroupsNV; if (CHECKS) { check(__functionAddress); check(display); check(maxGroups, 1); check(maxBarriers, 1); } return callPPPI(__functionAddress, display, screen, maxGroups, maxBarriers) != 0; } /** Array version of: {@link #glXQueryFrameCountNV QueryFrameCountNV} */ public static boolean glXQueryFrameCountNV(long display, int screen, int[] count) { long __functionAddress = GL.getCapabilitiesGLXClient().glXQueryFrameCountNV; if (CHECKS) { check(__functionAddress); check(display); check(count, 1); } return callPPI(__functionAddress, display, screen, count) != 0; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy