Top Description Fields Constructors Methods
org.lwjgl.opengles

public Class EXTRobustness

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

Native bindings to the EXT_robustness extension.

Several recent trends in how OpenGL integrates into modern computer systems have created new requirements for robustness and security for OpenGL rendering contexts.

Additionally GPU architectures now support hardware fault detection; for example, video memory supporting ECC (error correcting codes) and error detection. OpenGL contexts should be capable of recovering from hardware faults such as uncorrectable memory errors. Along with recovery from such hardware faults, the recovery mechanism can also allow recovery from video memory access exceptions and system software failures. System software failures can be due to device changes or driver failures.

OpenGL queries that that return (write) some number of bytes to a buffer indicated by a pointer parameter introduce risk of buffer overflows that might be exploitable by malware. To address this, queries with return value sizes that are not expressed directly by the parameters to the query itself are given additional API functions with an additional parameter that specifies the number of bytes in the buffer and never writing bytes beyond that limit. This is particularly useful for multi-threaded usage of OpenGL contexts in a "share group" where one context can change objects in ways that can cause buffer overflows for another context's OpenGL queries.

The original ARB_vertex_buffer_object extension includes an issue that explicitly states program termination is allowed when out-of-bounds vertex buffer object fetches occur. Modern graphics hardware is capable well-defined behavior in the case of out-of- bounds vertex buffer object fetches. Older hardware may require extra checks to enforce well-defined (and termination free) behavior, but this expense is warranted when processing potentially untrusted content.

The intent of this extension is to address some specific robustness goals:

Field Summary

Modifier and TypeField and Description
public static final int
GL_CONTEXT_ROBUST_ACCESS_EXT

Accepted by the value parameter of GetBooleanv, GetIntegerv, and GetFloatv.

public static final int
GL_GUILTY_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

public static final int
GL_INNOCENT_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

public static final int
GL_LOSE_CONTEXT_ON_RESET_EXT

Returned by GetIntegerv and related simple queries when value is RESET_NOTIFICATION_STRATEGY_EXT .

public static final int
GL_NO_RESET_NOTIFICATION_EXT

Returned by GetIntegerv and related simple queries when value is RESET_NOTIFICATION_STRATEGY_EXT .

public static final int
GL_RESET_NOTIFICATION_STRATEGY_EXT

Accepted by the value parameter of GetBooleanv, GetIntegerv, and GetFloatv.

public static final int
GL_UNKNOWN_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native int
public static float
glGetnUniformfEXT(int program, int location)

public static void
glGetnUniformfvEXT(int program, int location, FloatBuffer params)

public static void
glGetnUniformfvEXT(int program, int location, float[] params)

Array version of: GetnUniformfvEXT

public static int
glGetnUniformiEXT(int program, int location)

public static void
glGetnUniformivEXT(int program, int location, IntBuffer params)

public static void
glGetnUniformivEXT(int program, int location, int[] params)

Array version of: GetnUniformivEXT

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int bufSize, long data)

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, ByteBuffer data)

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, ShortBuffer data)

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, IntBuffer data)

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, FloatBuffer data)

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, short[] data)

Array version of: ReadnPixelsEXT

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int[] data)

Array version of: ReadnPixelsEXT

public static void
glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, float[] data)

Array version of: ReadnPixelsEXT

public static native void
nglGetnUniformfvEXT(int program, int location, int bufSize, long params)

public static native void
nglGetnUniformivEXT(int program, int location, int bufSize, long params)

public static native void
nglReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int bufSize, long data)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_CONTEXT_ROBUST_ACCESS_EXTback to summary
public static final int GL_CONTEXT_ROBUST_ACCESS_EXT

Accepted by the value parameter of GetBooleanv, GetIntegerv, and GetFloatv.

GL_GUILTY_CONTEXT_RESET_EXTback to summary
public static final int GL_GUILTY_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

GL_INNOCENT_CONTEXT_RESET_EXTback to summary
public static final int GL_INNOCENT_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

GL_LOSE_CONTEXT_ON_RESET_EXTback to summary
public static final int GL_LOSE_CONTEXT_ON_RESET_EXT

Returned by GetIntegerv and related simple queries when value is RESET_NOTIFICATION_STRATEGY_EXT .

GL_NO_RESET_NOTIFICATION_EXTback to summary
public static final int GL_NO_RESET_NOTIFICATION_EXT

Returned by GetIntegerv and related simple queries when value is RESET_NOTIFICATION_STRATEGY_EXT .

GL_RESET_NOTIFICATION_STRATEGY_EXTback to summary
public static final int GL_RESET_NOTIFICATION_STRATEGY_EXT

Accepted by the value parameter of GetBooleanv, GetIntegerv, and GetFloatv.

GL_UNKNOWN_CONTEXT_RESET_EXTback to summary
public static final int GL_UNKNOWN_CONTEXT_RESET_EXT

Returned by GetGraphicsResetStatusEXT.

Constructor Detail

EXTRobustnessback to summary
protected EXTRobustness()

Method Detail

glGetGraphicsResetStatusEXTback to summary
public static native int glGetGraphicsResetStatusEXT()
Annotations
@NativeType:GLenum
glGetnUniformfEXTback to summary
public static float glGetnUniformfEXT(int program, int location)
Annotations
@NativeType:void
glGetnUniformfvEXTback to summary
public static void glGetnUniformfvEXT(int program, int location, FloatBuffer params)
glGetnUniformfvEXTback to summary
public static void glGetnUniformfvEXT(int program, int location, float[] params)

Array version of: GetnUniformfvEXT

glGetnUniformiEXTback to summary
public static int glGetnUniformiEXT(int program, int location)
Annotations
@NativeType:void
glGetnUniformivEXTback to summary
public static void glGetnUniformivEXT(int program, int location, IntBuffer params)
glGetnUniformivEXTback to summary
public static void glGetnUniformivEXT(int program, int location, int[] params)

Array version of: GetnUniformivEXT

glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int bufSize, long data)
glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, ByteBuffer data)
glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, ShortBuffer data)
glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, IntBuffer data)
glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, FloatBuffer data)
glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, short[] data)

Array version of: ReadnPixelsEXT

glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int[] data)

Array version of: ReadnPixelsEXT

glReadnPixelsEXTback to summary
public static void glReadnPixelsEXT(int x, int y, int width, int height, int format, int type, float[] data)

Array version of: ReadnPixelsEXT

nglGetnUniformfvEXTback to summary
public static native void nglGetnUniformfvEXT(int program, int location, int bufSize, long params)
nglGetnUniformivEXTback to summary
public static native void nglGetnUniformivEXT(int program, int location, int bufSize, long params)
nglReadnPixelsEXTback to summary
public static native void nglReadnPixelsEXT(int x, int y, int width, int height, int format, int type, int bufSize, long data)