Top Description Constructors Methods
org.lwjgl.opengl

public Class ARBES31Compatibility

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to the ARB_ES3_1_compatibility extension.

This extension adds support for features of OpenGL ES 3.1 that are missing from OpenGL 4.4. Enabling these features will ease the process of porting applications from OpenGL ES 3.1 to OpenGL. Enabling these features will ease the process of porting applications from OpenGL ES 3.1 to OpenGL.

In particular this adds the following features:

Requires OpenGL 4.4, ARB_ES2_compatibility, ARB_ES3_compatibility. Promoted to core in OpenGL 4.5.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
glMemoryBarrierByRegion(int barriers)

Behaves like MemoryBarrier, with two differences:

First, it narrows the region under consideration so that only reads/writes of prior fragment shaders that are invoked for a smaller region of the framebuffer will be completed/reflected prior to subsequent reads/write of following fragment shaders.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ARBES31Compatibilityback to summary
protected ARBES31Compatibility()

Method Detail

glMemoryBarrierByRegionback to summary
public static void glMemoryBarrierByRegion(int barriers)

Behaves like MemoryBarrier, with two differences:

First, it narrows the region under consideration so that only reads/writes of prior fragment shaders that are invoked for a smaller region of the framebuffer will be completed/reflected prior to subsequent reads/write of following fragment shaders. The size of the region is implementation dependent and may be as small as one framebuffer pixel.

Second, it only applies to memory transactions that may be read by or written by a fragment shader.

When barriers is ALL_BARRIER_BITS, shader memory accesses will be synchronized relative to all these barrier bits, but not to other barrier bits specific to MemoryBarrier. This implies that reads/writes for scatter/gather-like algorithms may or may not be completed/reflected after a MemoryBarrierByRegion command. However, for uses such as deferred shading, where a linked list of visible surfaces with the head at a framebuffer address may be constructed, and the entirety of the list is only dependent on previous executions at that framebuffer address, MemoryBarrierByRegion may be significantly more efficient than MemoryBarrier.

Parameters
barriers:int

the barriers to insert. One or more of:

ATOMIC_COUNTER_BARRIER_BITFRAMEBUFFER_BARRIER_BITSHADER_IMAGE_ACCESS_BARRIER_BIT
SHADER_STORAGE_BARRIER_BITTEXTURE_FETCH_BARRIER_BITUNIFORM_BARRIER_BIT