org.lwjgl.opengles.EXTShaderPixelLocalStorage2 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-opengles Show documentation
Show all versions of lwjgl-opengles Show documentation
A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.
/*
* 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 static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* Native bindings to the EXT_shader_pixel_local_storage2 extension.
*
* This extension builds on {@link EXTShaderPixelLocalStorage EXT_shader_pixel_local_storage} by lifting the restriction that pixel local storage is not supported when rendering to
* multiple draw buffers.
*
* Moreover, pixel local storage values are no longer lost when writing to user-defined fragment outputs, and, correspondingly, framebuffer pixel values
* do not always become undefined when the shader writes to pixel local storage.
*
* This extension adds the following capabilities:
*
*
* - support for pixel local storage in combination with multiple user-defined fragment outputs
* - support for clearing pixel local storage variables
* - support for multi-word pixel local storage variables
*
*/
public class EXTShaderPixelLocalStorage2 {
/** Accepted by the {@code pname} parameters of GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv. */
public static final int
GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT = 0x9650,
GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT = 0x9651;
/** Returned by CheckFramebufferStatus. */
public static final int GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = 0x9652;
static { GLES.initialize(); }
protected EXTShaderPixelLocalStorage2() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLESCapabilities caps) {
return checkFunctions(
caps.glFramebufferPixelLocalStorageSizeEXT, caps.glGetFramebufferPixelLocalStorageSizeEXT, caps.glClearPixelLocalStorageuiEXT
);
}
// --- [ glFramebufferPixelLocalStorageSizeEXT ] ---
public static native void nglFramebufferPixelLocalStorageSizeEXT(int target, int size);
public static void glFramebufferPixelLocalStorageSizeEXT(int target, int size) {
nglFramebufferPixelLocalStorageSizeEXT(target, size);
}
// --- [ glGetFramebufferPixelLocalStorageSizeEXT ] ---
public static native int nglGetFramebufferPixelLocalStorageSizeEXT(int target);
public static int glGetFramebufferPixelLocalStorageSizeEXT(int target) {
return nglGetFramebufferPixelLocalStorageSizeEXT(target);
}
// --- [ glClearPixelLocalStorageuiEXT ] ---
public static native void nglClearPixelLocalStorageuiEXT(int offset, int n, long values);
public static void glClearPixelLocalStorageuiEXT(int offset, IntBuffer values) {
nglClearPixelLocalStorageuiEXT(offset, values.remaining(), memAddress(values));
}
/** Array version of: {@link #glClearPixelLocalStorageuiEXT ClearPixelLocalStorageuiEXT} */
public static void glClearPixelLocalStorageuiEXT(int offset, int[] values) {
long __functionAddress = GLES.getICD().glClearPixelLocalStorageuiEXT;
if ( CHECKS )
check(__functionAddress);
callPV(__functionAddress, offset, values.length, values);
}
}