/**
  * Unsigned version of {@link #glGetVertexAttribIivEXT GetVertexAttribIivEXT}.
  *
  * @param index the index of the pure integer generic vertex attribute to be modified
  * @param pname the symbolic name of the vertex attribute parameter to be queried
  */
 public static int glGetVertexAttribIuiEXT(int index, int pname) {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     IntBuffer params = stack.callocInt(1);
     nglGetVertexAttribIuivEXT(index, pname, memAddress(params));
     return params.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 public static int glGetUniformuiEXT(int program, int location) {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     IntBuffer params = stack.callocInt(1);
     nglGetUniformuivEXT(program, location, memAddress(params));
     return params.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 public static int glGetNextPerfQueryIdINTEL(int queryId) {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     IntBuffer nextQueryId = stack.callocInt(1);
     nglGetNextPerfQueryIdINTEL(queryId, memAddress(nextQueryId));
     return nextQueryId.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 public static int glCreatePerfQueryINTEL(int queryId) {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     IntBuffer queryHandle = stack.callocInt(1);
     nglCreatePerfQueryINTEL(queryId, memAddress(queryHandle));
     return queryHandle.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 public static int glGetFirstPerfQueryIdINTEL() {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     IntBuffer queryId = stack.callocInt(1);
     nglGetFirstPerfQueryIdINTEL(memAddress(queryId));
     return queryId.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 public static int glGetPerfQueryIdByNameINTEL(CharSequence queryName) {
   MemoryStack stack = stackGet();
   int stackPointer = stack.getPointer();
   try {
     ByteBuffer queryNameEncoded = stack.ASCII(queryName);
     IntBuffer queryId = stack.callocInt(1);
     nglGetPerfQueryIdByNameINTEL(memAddress(queryNameEncoded), memAddress(queryId));
     return queryId.get(0);
   } finally {
     stack.setPointer(stackPointer);
   }
 }
 /** Alternative version of: {@link #glGetPerfMonitorCountersAMD GetPerfMonitorCountersAMD} */
 public static void glGetPerfMonitorCountersAMD(
     int group, IntBuffer numCounters, IntBuffer maxActiveCounters, IntBuffer counters) {
   if (LWJGLUtil.CHECKS) {
     checkBuffer(numCounters, 1);
     checkBuffer(maxActiveCounters, 1);
   }
   nglGetPerfMonitorCountersAMD(
       group,
       memAddress(numCounters),
       memAddress(maxActiveCounters),
       counters.remaining(),
       memAddress(counters));
 }
 /** Alternative version of: {@link #eglSwapBuffersWithDamageEXT SwapBuffersWithDamageEXT} */
 public static boolean eglSwapBuffersWithDamageEXT(long dpy, long surface, IntBuffer rects) {
   return neglSwapBuffersWithDamageEXT(
       dpy, surface, memAddressSafe(rects), rects == null ? 0 : rects.remaining());
 }
 public static void glUniform4uivEXT(int location, IntBuffer value) {
   nglUniform4uivEXT(location, value.remaining() >> 2, memAddress(value));
 }
 /**
  * Alternative version of: {@link #glGetPerfMonitorCounterDataAMD GetPerfMonitorCounterDataAMD}
  */
 public static void glGetPerfMonitorCounterDataAMD(
     int monitor, int pname, IntBuffer data, IntBuffer bytesWritten) {
   if (LWJGLUtil.CHECKS) if (bytesWritten != null) checkBuffer(bytesWritten, 1);
   nglGetPerfMonitorCounterDataAMD(
       monitor, pname, data.remaining(), memAddress(data), memAddressSafe(bytesWritten));
 }
 /**
  * Alternative version of: {@link #glSelectPerfMonitorCountersAMD SelectPerfMonitorCountersAMD}
  */
 public static void glSelectPerfMonitorCountersAMD(
     int monitor, boolean enable, int group, IntBuffer counterList) {
   nglSelectPerfMonitorCountersAMD(
       monitor, enable, group, counterList.remaining(), memAddress(counterList));
 }
 /** Alternative version of: {@link #glDeletePerfMonitorsAMD DeletePerfMonitorsAMD} */
 public static void glDeletePerfMonitorsAMD(IntBuffer monitors) {
   nglDeletePerfMonitorsAMD(monitors.remaining(), memAddress(monitors));
 }
 /** Alternative version of: {@link #glGetPerfMonitorGroupsAMD GetPerfMonitorGroupsAMD} */
 public static void glGetPerfMonitorGroupsAMD(IntBuffer numGroups, IntBuffer groups) {
   if (LWJGLUtil.CHECKS) if (numGroups != null) checkBuffer(numGroups, 1);
   nglGetPerfMonitorGroupsAMD(
       memAddressSafe(numGroups), groups == null ? 0 : groups.remaining(), memAddressSafe(groups));
 }