org.lwjgl.opengles.NVGPUShader5 Maven / Gradle / Ivy
Show all versions of lwjgl-opengles Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.opengles;
import java.nio.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* Native bindings to the NV_gpu_shader5 extension.
*
* This extension provides a set of new features to the OpenGL ES Shading Language and related APIs to support capabilities of new GPUs. Shaders using the
* new functionality provided by this extension should enable this functionality via the construct
*
*
* \#extension GL_NV_gpu_shader5 : require (or enable)
*
* This extension was developed concurrently with the OES_gpu_shader5 extension, and provides a superset of the features provided there. The features
* common to both extensions are documented in the OES_gpu_shader5 specification; this document describes only the addition language features not
* available via OES_gpu_shader5. A shader that enables this extension via an \#extension directive also implicitly enables the common capabilities
* provided by OES_gpu_shader5.
*
* In addition to the capabilities of OES_gpu_shader5, this extension provides a variety of new features for all shader types, including:
*
*
* - support for a full set of 8-, 16-, 32-, and 64-bit scalar and vector data types, including uniform API, uniform buffer object, and shader input and
* output support;
* - the ability to aggregate samplers into arrays, index these arrays with arbitrary expressions, and not require that non-constant indices be uniform
* across all shader invocations;
* - new built-in functions to pack and unpack 64-bit integer types into a two-component 32-bit integer vector;
* - new built-in functions to pack and unpack 32-bit unsigned integer types into a two-component 16-bit floating-point vector;
* - new built-in functions to convert double-precision floating-point values to or from their 64-bit integer bit encodings;
* - new built-in functions to compute the composite of a set of boolean conditions a group of shader threads;
* - vector relational functions supporting comparisons of vectors of 8-, 16-, and 64-bit integer types or 16-bit floating-point types; and
* - extending texel offset support to allow loading texel offsets from regular integer operands computed at run-time, except for lookups with gradients
* (textureGrad*).
*
*
* This extension also provides additional support for processing patch primitives (introduced by OES_tessellation_shader). OES_tessellation_shader
* requires the use of a tessellation evaluation shader when processing patches, which means that patches will never survive past the tessellation
* pipeline stage. This extension lifts that restriction, and allows patches to proceed further in the pipeline and be used
*
*
* - as input to a geometry shader, using a new "patches" layout qualifier;
* - as input to transform feedback;
* - by fixed-function rasterization stages, in which case the patches are drawn as independent points.
*
*
* Additionally, it allows geometry shaders to read per-patch attributes written by a tessellation control shader using input variables declared with
* "patch in".
*
* Requires {@link GLES31 GLES 3.1} and GLSL ES 3.10.
*/
public class NVGPUShader5 {
static { GLES.initialize(); }
/** Returned by the {@code type} parameter of GetActiveAttrib, GetActiveUniform, and GetTransformFeedbackVarying. */
public static final int
GL_INT64_NV = 0x140E,
GL_UNSIGNED_INT64_NV = 0x140F,
GL_INT8_NV = 0x8FE0,
GL_INT8_VEC2_NV = 0x8FE1,
GL_INT8_VEC3_NV = 0x8FE2,
GL_INT8_VEC4_NV = 0x8FE3,
GL_INT16_NV = 0x8FE4,
GL_INT16_VEC2_NV = 0x8FE5,
GL_INT16_VEC3_NV = 0x8FE6,
GL_INT16_VEC4_NV = 0x8FE7,
GL_INT64_VEC2_NV = 0x8FE9,
GL_INT64_VEC3_NV = 0x8FEA,
GL_INT64_VEC4_NV = 0x8FEB,
GL_UNSIGNED_INT8_NV = 0x8FEC,
GL_UNSIGNED_INT8_VEC2_NV = 0x8FED,
GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE,
GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF,
GL_UNSIGNED_INT16_NV = 0x8FF0,
GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1,
GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2,
GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3,
GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5,
GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6,
GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7,
GL_FLOAT16_NV = 0x8FF8,
GL_FLOAT16_VEC2_NV = 0x8FF9,
GL_FLOAT16_VEC3_NV = 0x8FFA,
GL_FLOAT16_VEC4_NV = 0x8FFB;
protected NVGPUShader5() {
throw new UnsupportedOperationException();
}
// --- [ glUniform1i64NV ] ---
public static native void glUniform1i64NV(@NativeType("GLint") int location, @NativeType("GLint64") long x);
// --- [ glUniform2i64NV ] ---
public static native void glUniform2i64NV(@NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y);
// --- [ glUniform3i64NV ] ---
public static native void glUniform3i64NV(@NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y, @NativeType("GLint64") long z);
// --- [ glUniform4i64NV ] ---
public static native void glUniform4i64NV(@NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y, @NativeType("GLint64") long z, @NativeType("GLint64") long w);
// --- [ glUniform1i64vNV ] ---
public static native void nglUniform1i64vNV(int location, int count, long value);
public static void glUniform1i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglUniform1i64vNV(location, value.remaining(), memAddress(value));
}
// --- [ glUniform2i64vNV ] ---
public static native void nglUniform2i64vNV(int location, int count, long value);
public static void glUniform2i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglUniform2i64vNV(location, value.remaining() >> 1, memAddress(value));
}
// --- [ glUniform3i64vNV ] ---
public static native void nglUniform3i64vNV(int location, int count, long value);
public static void glUniform3i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglUniform3i64vNV(location, value.remaining() / 3, memAddress(value));
}
// --- [ glUniform4i64vNV ] ---
public static native void nglUniform4i64vNV(int location, int count, long value);
public static void glUniform4i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglUniform4i64vNV(location, value.remaining() >> 2, memAddress(value));
}
// --- [ glUniform1ui64NV ] ---
public static native void glUniform1ui64NV(@NativeType("GLint") int location, @NativeType("GLuint64") long x);
// --- [ glUniform2ui64NV ] ---
public static native void glUniform2ui64NV(@NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y);
// --- [ glUniform3ui64NV ] ---
public static native void glUniform3ui64NV(@NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y, @NativeType("GLuint64") long z);
// --- [ glUniform4ui64NV ] ---
public static native void glUniform4ui64NV(@NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y, @NativeType("GLuint64") long z, @NativeType("GLuint64") long w);
// --- [ glUniform1ui64vNV ] ---
public static native void nglUniform1ui64vNV(int location, int count, long value);
public static void glUniform1ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglUniform1ui64vNV(location, value.remaining(), memAddress(value));
}
// --- [ glUniform2ui64vNV ] ---
public static native void nglUniform2ui64vNV(int location, int count, long value);
public static void glUniform2ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 *") LongBuffer value) {
nglUniform2ui64vNV(location, value.remaining() >> 1, memAddress(value));
}
// --- [ glUniform3ui64vNV ] ---
public static native void nglUniform3ui64vNV(int location, int count, long value);
public static void glUniform3ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglUniform3ui64vNV(location, value.remaining() / 3, memAddress(value));
}
// --- [ glUniform4ui64vNV ] ---
public static native void nglUniform4ui64vNV(int location, int count, long value);
public static void glUniform4ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglUniform4ui64vNV(location, value.remaining() >> 2, memAddress(value));
}
// --- [ glGetUniformi64vNV ] ---
public static native void nglGetUniformi64vNV(int program, int location, long params);
public static void glGetUniformi64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 *") LongBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetUniformi64vNV(program, location, memAddress(params));
}
@NativeType("void")
public static long glGetUniformi64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
LongBuffer params = stack.callocLong(1);
nglGetUniformi64vNV(program, location, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetUniformui64vNV ] ---
public static native void nglGetUniformui64vNV(int program, int location, long params);
public static void glGetUniformui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 *") LongBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetUniformui64vNV(program, location, memAddress(params));
}
@NativeType("void")
public static long glGetUniformui64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
LongBuffer params = stack.callocLong(1);
nglGetUniformui64vNV(program, location, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glProgramUniform1i64NV ] ---
public static native void glProgramUniform1i64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64") long x);
// --- [ glProgramUniform2i64NV ] ---
public static native void glProgramUniform2i64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y);
// --- [ glProgramUniform3i64NV ] ---
public static native void glProgramUniform3i64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y, @NativeType("GLint64") long z);
// --- [ glProgramUniform4i64NV ] ---
public static native void glProgramUniform4i64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64") long x, @NativeType("GLint64") long y, @NativeType("GLint64") long z, @NativeType("GLint64") long w);
// --- [ glProgramUniform1i64vNV ] ---
public static native void nglProgramUniform1i64vNV(int program, int location, int count, long value);
public static void glProgramUniform1i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglProgramUniform1i64vNV(program, location, value.remaining(), memAddress(value));
}
// --- [ glProgramUniform2i64vNV ] ---
public static native void nglProgramUniform2i64vNV(int program, int location, int count, long value);
public static void glProgramUniform2i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglProgramUniform2i64vNV(program, location, value.remaining() >> 1, memAddress(value));
}
// --- [ glProgramUniform3i64vNV ] ---
public static native void nglProgramUniform3i64vNV(int program, int location, int count, long value);
public static void glProgramUniform3i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglProgramUniform3i64vNV(program, location, value.remaining() / 3, memAddress(value));
}
// --- [ glProgramUniform4i64vNV ] ---
public static native void nglProgramUniform4i64vNV(int program, int location, int count, long value);
public static void glProgramUniform4i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") LongBuffer value) {
nglProgramUniform4i64vNV(program, location, value.remaining() >> 2, memAddress(value));
}
// --- [ glProgramUniform1ui64NV ] ---
public static native void glProgramUniform1ui64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64") long x);
// --- [ glProgramUniform2ui64NV ] ---
public static native void glProgramUniform2ui64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y);
// --- [ glProgramUniform3ui64NV ] ---
public static native void glProgramUniform3ui64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y, @NativeType("GLuint64") long z);
// --- [ glProgramUniform4ui64NV ] ---
public static native void glProgramUniform4ui64NV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64") long x, @NativeType("GLuint64") long y, @NativeType("GLuint64") long z, @NativeType("GLuint64") long w);
// --- [ glProgramUniform1ui64vNV ] ---
public static native void nglProgramUniform1ui64vNV(int program, int location, int count, long value);
public static void glProgramUniform1ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglProgramUniform1ui64vNV(program, location, value.remaining(), memAddress(value));
}
// --- [ glProgramUniform2ui64vNV ] ---
public static native void nglProgramUniform2ui64vNV(int program, int location, int count, long value);
public static void glProgramUniform2ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglProgramUniform2ui64vNV(program, location, value.remaining() >> 1, memAddress(value));
}
// --- [ glProgramUniform3ui64vNV ] ---
public static native void nglProgramUniform3ui64vNV(int program, int location, int count, long value);
public static void glProgramUniform3ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglProgramUniform3ui64vNV(program, location, value.remaining() / 3, memAddress(value));
}
// --- [ glProgramUniform4ui64vNV ] ---
public static native void nglProgramUniform4ui64vNV(int program, int location, int count, long value);
public static void glProgramUniform4ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") LongBuffer value) {
nglProgramUniform4ui64vNV(program, location, value.remaining() >> 2, memAddress(value));
}
/** Array version of: {@link #glUniform1i64vNV Uniform1i64vNV} */
public static void glUniform1i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform1i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length, value, __functionAddress);
}
/** Array version of: {@link #glUniform2i64vNV Uniform2i64vNV} */
public static void glUniform2i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform2i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length >> 1, value, __functionAddress);
}
/** Array version of: {@link #glUniform3i64vNV Uniform3i64vNV} */
public static void glUniform3i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform3i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length / 3, value, __functionAddress);
}
/** Array version of: {@link #glUniform4i64vNV Uniform4i64vNV} */
public static void glUniform4i64vNV(@NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform4i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length >> 2, value, __functionAddress);
}
/** Array version of: {@link #glUniform1ui64vNV Uniform1ui64vNV} */
public static void glUniform1ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform1ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length, value, __functionAddress);
}
/** Array version of: {@link #glUniform2ui64vNV Uniform2ui64vNV} */
public static void glUniform2ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 *") long[] value) {
long __functionAddress = GLES.getICD().glUniform2ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length >> 1, value, __functionAddress);
}
/** Array version of: {@link #glUniform3ui64vNV Uniform3ui64vNV} */
public static void glUniform3ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform3ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length / 3, value, __functionAddress);
}
/** Array version of: {@link #glUniform4ui64vNV Uniform4ui64vNV} */
public static void glUniform4ui64vNV(@NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glUniform4ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(location, value.length >> 2, value, __functionAddress);
}
/** Array version of: {@link #glGetUniformi64vNV GetUniformi64vNV} */
public static void glGetUniformi64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 *") long[] params) {
long __functionAddress = GLES.getICD().glGetUniformi64vNV;
if (CHECKS) {
check(__functionAddress);
check(params, 1);
}
callPV(program, location, params, __functionAddress);
}
/** Array version of: {@link #glGetUniformui64vNV GetUniformui64vNV} */
public static void glGetUniformui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 *") long[] params) {
long __functionAddress = GLES.getICD().glGetUniformui64vNV;
if (CHECKS) {
check(__functionAddress);
check(params, 1);
}
callPV(program, location, params, __functionAddress);
}
/** Array version of: {@link #glProgramUniform1i64vNV ProgramUniform1i64vNV} */
public static void glProgramUniform1i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform1i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform2i64vNV ProgramUniform2i64vNV} */
public static void glProgramUniform2i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform2i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length >> 1, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform3i64vNV ProgramUniform3i64vNV} */
public static void glProgramUniform3i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform3i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length / 3, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform4i64vNV ProgramUniform4i64vNV} */
public static void glProgramUniform4i64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform4i64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length >> 2, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform1ui64vNV ProgramUniform1ui64vNV} */
public static void glProgramUniform1ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform1ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform2ui64vNV ProgramUniform2ui64vNV} */
public static void glProgramUniform2ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform2ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length >> 1, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform3ui64vNV ProgramUniform3ui64vNV} */
public static void glProgramUniform3ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform3ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length / 3, value, __functionAddress);
}
/** Array version of: {@link #glProgramUniform4ui64vNV ProgramUniform4ui64vNV} */
public static void glProgramUniform4ui64vNV(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint64 const *") long[] value) {
long __functionAddress = GLES.getICD().glProgramUniform4ui64vNV;
if (CHECKS) {
check(__functionAddress);
}
callPV(program, location, value.length >> 2, value, __functionAddress);
}
}