Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class NVCommandList

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

Native bindings to the NV_command_list extension.

This extension adds a few new features designed to provide very low overhead batching and replay of rendering commands and state changes:

Because state objects reflect the state of the entire pipeline, it is expected that they can be pre-validated and executed efficiently. It is also expected that when state objects are combined into a command list, the command list can diff consecutive state objects to produce a reduced/ optimized set of state changes specific to that transition.

The token-based command stream can also be stored in regular buffer objects and therefore be modified by the server itself. This allows more complex work creation than the original MDI approach, which was limited to emitting draw calls only.

Command structures


typedef struct {
  uint  header;
} TerminateSequenceCommandNV;

typedef struct {
  uint  header;
} NOPCommandNV;

typedef  struct {
  uint  header;
  uint  count;
  uint  firstIndex;
  uint  baseVertex;
} DrawElementsCommandNV;

typedef  struct {
  uint  header;
  uint  count;
  uint  first;
} DrawArraysCommandNV;

typedef  struct {
  uint  header;
  uint  mode;
  uint  count;
  uint  instanceCount;
  uint  firstIndex;
  uint  baseVertex;
  uint  baseInstance;
} DrawElementsInstancedCommandNV;

typedef  struct {
  uint  header;
  uint  mode;
  uint  count;
  uint  instanceCount;
  uint  first;
  uint  baseInstance;
} DrawArraysInstancedCommandNV;

typedef struct {
  uint  header;
  uint  addressLo;
  uint  addressHi;
  uint  typeSizeInByte;
} ElementAddressCommandNV;

typedef struct {
  uint  header;
  uint  index;
  uint  addressLo;
  uint  addressHi;
} AttributeAddressCommandNV;

typedef struct {
  uint    header;
  ushort  index;
  ushort  stage;
  uint    addressLo;
  uint    addressHi;
} UniformAddressCommandNV;

typedef struct {
  uint  header;
  float red;
  float green;
  float blue;
  float alpha;
} BlendColorCommandNV;

typedef struct {
  uint  header;
  uint  frontStencilRef;
  uint  backStencilRef;
} StencilRefCommandNV;

typedef struct {
  uint  header;
  float lineWidth;
} LineWidthCommandNV;

typedef struct {
  uint  header;
  float scale;
  float bias;
} PolygonOffsetCommandNV;

typedef struct {
  uint  header;
  float alphaRef;
} AlphaRefCommandNV;

typedef struct {
  uint  header;
  uint  x;
  uint  y;
  uint  width;
  uint  height;
} ViewportCommandNV; // only ViewportIndex 0

typedef struct {
  uint  header;
  uint  x;
  uint  y;
  uint  width;
  uint  height;
} ScissorCommandNV; // only ViewportIndex 0

typedef struct {
  uint  header;
  uint  frontFace; // 0 for CW, 1 for CCW
} FrontFaceCommandNV;

Tight packing is used for all structures.

Field Summary

Modifier and TypeField and Description
public static final int
GL_ALPHA_REF_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_ATTRIBUTE_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_BLEND_COLOR_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ARRAYS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ARRAYS_STRIP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ELEMENTS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_DRAW_ELEMENTS_STRIP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_ELEMENT_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_FRONT_FACE_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_LINE_WIDTH_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_NOP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_POLYGON_OFFSET_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_SCISSOR_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_STENCIL_REF_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_TERMINATE_SEQUENCE_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_UNIFORM_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

public static final int
GL_VIEWPORT_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glCallCommandListNV(int
the command list to call
list
)

Executes the command list indicated by list, which operates as if the DrawCommandsStates* commands were replayed in the order they were enqueued on each segment, starting from segment zero and proceeding to the maximum segment.

public static native void
glCommandListSegmentsNV(int
the command list
list
,
int
the number of ordered sequences of commands
segments
)

Indicates that list will have segments number of segments, each of which is a list of command sequences that it enqueues.

public static native void
glCompileCommandListNV(int
the command list to compile
list
)

Makes the list indicated by list switch from allowing collection of commands to allowing its execution.

public static void
glCreateCommandListsNV(IntBuffer
the buffer in which to return the created command list names
lists
)

Returns n previously unused command list names in lists, and creates a command list in the initial state for each name.

public static int
glCreateCommandListsNV()

Returns n previously unused command list names in lists, and creates a command list in the initial state for each name.

public static void
glCreateCommandListsNV(int[] lists)

Array version of: CreateCommandListsNV

public static void
glCreateStatesNV(IntBuffer
the buffer in which to write the created state object names
states
)

Returns n previously unused state object names in states, and creates a state object in the initial state for each name.

public static int
glCreateStatesNV()

Returns n previously unused state object names in states, and creates a state object in the initial state for each name.

public static void
glCreateStatesNV(int[] states)

Array version of: CreateStatesNV

public static void
glDeleteCommandListsNV(IntBuffer
the buffer from which to read the command list names to delete
lists
)

Deletes n command lists stored in lists.

public static void
glDeleteCommandListsNV(int list)

Deletes n command lists stored in lists.

public static void
glDeleteCommandListsNV(int[] lists)

Array version of: DeleteCommandListsNV

public static void
glDeleteStatesNV(IntBuffer
the buffer from which to read the state object names to delete
states
)

Deletes n names of state objects given by states.

public static void
glDeleteStatesNV(int state)

Deletes n names of state objects given by states.

public static void
glDeleteStatesNV(int[] states)

Array version of: DeleteStatesNV

public static void
glDrawCommandsAddressNV(int
the primitive mode
primitiveMode
,
LongBuffer
the array of GPU addreses
indirects
,
IntBuffer
the array of command lengths
sizes
)

Accepts arrays of buffer addresses as an array of GPU addresses indirects, an array of sequence lengths in sizes.

public static void
glDrawCommandsAddressNV(int primitiveMode, long[] indirects, int[] sizes)

Array version of: DrawCommandsAddressNV

public static void
glDrawCommandsNV(int
the primitive mode
primitiveMode
,
int
the buffer object name
buffer
,
PointerBuffer
the array of offsets into the buffer
indirects
,
IntBuffer
the array of command lengths
sizes
)

Accepts arrays of buffer addresses as an array of offsets indirects into a buffer named by buffer, an array of command lengths in sizes.

public static void
glDrawCommandsNV(int primitiveMode, int buffer, PointerBuffer indirects, int[] sizes)

Array version of: DrawCommandsNV

public static void
glDrawCommandsStatesAddressNV(LongBuffer
the array of GPU addresses
indirects
,
IntBuffer
the array of command lengths
sizes
,
IntBuffer
the array of state object names
states
,
IntBuffer
the array of framebuffer object names
fbos
)

Accepts arrays of buffer addresses as an array of GPU addresses indirects, an array of command lengths in sizes, and an array of state object names in states, of which all names must be non-zero.

public static void
glDrawCommandsStatesAddressNV(long[] indirects, int[] sizes, int[] states, int[] fbos)

Array version of: DrawCommandsStatesAddressNV

public static void
glDrawCommandsStatesNV(int
the buffer object name
buffer
,
PointerBuffer
the array of offsets into the buffer
indirects
,
IntBuffer
the array of command lengths
sizes
,
IntBuffer
the array of state object names
states
,
IntBuffer
the array of framebuffer object names
fbos
)

Accepts arrays of buffer addresses as an array of offsets indirects into a buffer named by buffer, an array of command lengths in sizes, and an array of state object names in states, of which all names must be non-zero.

public static void
glDrawCommandsStatesNV(int buffer, PointerBuffer indirects, int[] sizes, int[] states, int[] fbos)

Array version of: DrawCommandsStatesNV

public static native int
glGetCommandHeaderNV(int tokenID, int
provided as basic consistency check, since the size of each structure is fixed and no padding is allowed. The value is the sum of the header and the command specific structure.
size
)

Returns the encoded 32bit header value for a given command; the returned value is implementation specific.

public static native short
glGetStageIndexNV(int
the shader stage type
shadertype
)

Returns the 16bit value for a specific shader stage; the returned value is implementation specific.

public static native boolean
glIsCommandListNV(int
the object name to query
list
)

Returns true if the specified name corresponds to a command list.

public static native boolean
glIsStateNV(int
the object name to test
state
)

Returns true if the specified name corresponds to a state object.

public static void
glListDrawCommandsStatesClientNV(int
the command list
list
,
int
the segment
segment
,
PointerBuffer
the array of GPU addresses
indirects
,
IntBuffer
the array of command lengths
sizes
,
IntBuffer
the array of state object names
states
,
IntBuffer
the array of framebuffer object names
fbos
)

A list has multiple segments and each segment enqueues an ordered list of commands.

public static void
glListDrawCommandsStatesClientNV(int list, int segment, PointerBuffer indirects, int[] sizes, int[] states, int[] fbos)

Array version of: ListDrawCommandsStatesClientNV

public static native void
glStateCaptureNV(int
the state object into which to capture the current rendering state
state
,
int
the basic Begin mode that this state object must be used with. One of:
POINTSLINESTRIANGLESQUADSLINES_ADJACENCYTRIANGLES_ADJACENCYPATCHES
mode
)

Captures the current state of the rendering pipeline into the object indicated by state.

public static native void
nglCreateCommandListsNV(int
the number of command list names to create
n
,
long lists)

Unsafe version of: CreateCommandListsNV

public static native void
nglCreateStatesNV(int
the number of state object names to create
n
,
long states)

Unsafe version of: CreateStatesNV

public static native void
nglDeleteCommandListsNV(int
the number of command list names to delete
n
,
long lists)

Unsafe version of: DeleteCommandListsNV

public static native void
nglDeleteStatesNV(int
the number of state object names to delete
n
,
long states)

Unsafe version of: DeleteStatesNV

public static native void
nglDrawCommandsAddressNV(int primitiveMode, long indirects, long sizes, int
the number of commands
count
)

Unsafe version of: DrawCommandsAddressNV

public static native void
nglDrawCommandsNV(int primitiveMode, int buffer, long indirects, long sizes, int
the number of commands
count
)

Unsafe version of: DrawCommandsNV

public static native void
nglDrawCommandsStatesAddressNV(long indirects, long sizes, long states, long fbos, int
the number of commands
count
)

Unsafe version of: DrawCommandsStatesAddressNV

public static native void
nglDrawCommandsStatesNV(int buffer, long indirects, long sizes, long states, long fbos, int
the number of commands
count
)

Unsafe version of: DrawCommandsStatesNV

public static native void
nglListDrawCommandsStatesClientNV(int list, int segment, long indirects, long sizes, long states, long fbos, int
the number of commands
count
)

Unsafe version of: ListDrawCommandsStatesClientNV

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_ALPHA_REF_COMMAND_NVback to summary
public static final int GL_ALPHA_REF_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_ATTRIBUTE_ADDRESS_COMMAND_NVback to summary
public static final int GL_ATTRIBUTE_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_BLEND_COLOR_COMMAND_NVback to summary
public static final int GL_BLEND_COLOR_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ARRAYS_COMMAND_NVback to summary
public static final int GL_DRAW_ARRAYS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ARRAYS_INSTANCED_COMMAND_NVback to summary
public static final int GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ARRAYS_STRIP_COMMAND_NVback to summary
public static final int GL_DRAW_ARRAYS_STRIP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ELEMENTS_COMMAND_NVback to summary
public static final int GL_DRAW_ELEMENTS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NVback to summary
public static final int GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_DRAW_ELEMENTS_STRIP_COMMAND_NVback to summary
public static final int GL_DRAW_ELEMENTS_STRIP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_ELEMENT_ADDRESS_COMMAND_NVback to summary
public static final int GL_ELEMENT_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_FRONT_FACE_COMMAND_NVback to summary
public static final int GL_FRONT_FACE_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_LINE_WIDTH_COMMAND_NVback to summary
public static final int GL_LINE_WIDTH_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_NOP_COMMAND_NVback to summary
public static final int GL_NOP_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_POLYGON_OFFSET_COMMAND_NVback to summary
public static final int GL_POLYGON_OFFSET_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_SCISSOR_COMMAND_NVback to summary
public static final int GL_SCISSOR_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_STENCIL_REF_COMMAND_NVback to summary
public static final int GL_STENCIL_REF_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_TERMINATE_SEQUENCE_COMMAND_NVback to summary
public static final int GL_TERMINATE_SEQUENCE_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_UNIFORM_ADDRESS_COMMAND_NVback to summary
public static final int GL_UNIFORM_ADDRESS_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

GL_VIEWPORT_COMMAND_NVback to summary
public static final int GL_VIEWPORT_COMMAND_NV

Used in DrawCommandsStates buffer formats, in GetCommandHeaderNV to return the header.

Constructor Detail

NVCommandListback to summary
protected NVCommandList()

Method Detail

glCallCommandListNVback to summary
public static native void glCallCommandListNV(int list)

Executes the command list indicated by list, which operates as if the DrawCommandsStates* commands were replayed in the order they were enqueued on each segment, starting from segment zero and proceeding to the maximum segment. All buffer or texture resources' residency must be managed explicitly, including texture attachments of the effective fbos during list enqueuing.

Parameters
list:int

the command list to call

glCommandListSegmentsNVback to summary
public static native void glCommandListSegmentsNV(int list, int segments)

Indicates that list will have segments number of segments, each of which is a list of command sequences that it enqueues. This must be called before any commands are enqueued. In the initial state, a command list has a single segment.

Parameters
list:int

the command list

segments:int

the number of ordered sequences of commands

glCompileCommandListNVback to summary
public static native void glCompileCommandListNV(int list)

Makes the list indicated by list switch from allowing collection of commands to allowing its execution. At this time, the implementation may generate optimized commands to transition between states as efficiently as possible.

Parameters
list:int

the command list to compile

glCreateCommandListsNVback to summary
public static void glCreateCommandListsNV(IntBuffer lists)

Returns n previously unused command list names in lists, and creates a command list in the initial state for each name.

Parameters
lists:IntBuffer

the buffer in which to return the created command list names

glCreateCommandListsNVback to summary
public static int glCreateCommandListsNV()

Returns n previously unused command list names in lists, and creates a command list in the initial state for each name.

Annotations
@NativeType:void
glCreateCommandListsNVback to summary
public static void glCreateCommandListsNV(int[] lists)

Array version of: CreateCommandListsNV

glCreateStatesNVback to summary
public static void glCreateStatesNV(IntBuffer states)

Returns n previously unused state object names in states, and creates a state object in the initial state for each name.

Parameters
states:IntBuffer

the buffer in which to write the created state object names

glCreateStatesNVback to summary
public static int glCreateStatesNV()

Returns n previously unused state object names in states, and creates a state object in the initial state for each name.

Annotations
@NativeType:void
glCreateStatesNVback to summary
public static void glCreateStatesNV(int[] states)

Array version of: CreateStatesNV

glDeleteCommandListsNVback to summary
public static void glDeleteCommandListsNV(IntBuffer lists)

Deletes n command lists stored in lists. Once a command list is deleted it has no contents and its name is again unused. Unused names in lists are silently ignored, as is the value zero.

Parameters
lists:IntBuffer

the buffer from which to read the command list names to delete

glDeleteCommandListsNVback to summary
public static void glDeleteCommandListsNV(int list)

Deletes n command lists stored in lists. Once a command list is deleted it has no contents and its name is again unused. Unused names in lists are silently ignored, as is the value zero.

glDeleteCommandListsNVback to summary
public static void glDeleteCommandListsNV(int[] lists)

Array version of: DeleteCommandListsNV

glDeleteStatesNVback to summary
public static void glDeleteStatesNV(IntBuffer states)

Deletes n names of state objects given by states. Once a state object is deleted it has no contents and its name is again unused. Unused names in states are silently ignored, as is the value zero.

Parameters
states:IntBuffer

the buffer from which to read the state object names to delete

glDeleteStatesNVback to summary
public static void glDeleteStatesNV(int state)

Deletes n names of state objects given by states. Once a state object is deleted it has no contents and its name is again unused. Unused names in states are silently ignored, as is the value zero.

glDeleteStatesNVback to summary
public static void glDeleteStatesNV(int[] states)

Array version of: DeleteStatesNV

glDrawCommandsAddressNVback to summary
public static void glDrawCommandsAddressNV(int primitiveMode, LongBuffer indirects, IntBuffer sizes)

Accepts arrays of buffer addresses as an array of GPU addresses indirects, an array of sequence lengths in sizes. All arrays have count entries.

Parameters
primitiveMode:int

the primitive mode

indirects:LongBuffer

the array of GPU addreses

sizes:IntBuffer

the array of command lengths

glDrawCommandsAddressNVback to summary
public static void glDrawCommandsAddressNV(int primitiveMode, long[] indirects, int[] sizes)

Array version of: DrawCommandsAddressNV

glDrawCommandsNVback to summary
public static void glDrawCommandsNV(int primitiveMode, int buffer, PointerBuffer indirects, IntBuffer sizes)

Accepts arrays of buffer addresses as an array of offsets indirects into a buffer named by buffer, an array of command lengths in sizes. All arrays have count entries.

Parameters
primitiveMode:int

the primitive mode

buffer:int

the buffer object name

indirects:PointerBuffer

the array of offsets into the buffer

sizes:IntBuffer

the array of command lengths

glDrawCommandsNVback to summary
public static void glDrawCommandsNV(int primitiveMode, int buffer, PointerBuffer indirects, int[] sizes)

Array version of: DrawCommandsNV

glDrawCommandsStatesAddressNVback to summary
public static void glDrawCommandsStatesAddressNV(LongBuffer indirects, IntBuffer sizes, IntBuffer states, IntBuffer fbos)

Accepts arrays of buffer addresses as an array of GPU addresses indirects, an array of command lengths in sizes, and an array of state object names in states, of which all names must be non-zero. Frame buffer object names are stored in fbos and can be either zero or non-zero. All arrays have count entries. The residency of textures used as attachment inside the state object's captured fbo or the passed fbo must managed explicitly.

Parameters
indirects:LongBuffer

the array of GPU addresses

sizes:IntBuffer

the array of command lengths

states:IntBuffer

the array of state object names

fbos:IntBuffer

the array of framebuffer object names

glDrawCommandsStatesAddressNVback to summary
public static void glDrawCommandsStatesAddressNV(long[] indirects, int[] sizes, int[] states, int[] fbos)

Array version of: DrawCommandsStatesAddressNV

glDrawCommandsStatesNVback to summary
public static void glDrawCommandsStatesNV(int buffer, PointerBuffer indirects, IntBuffer sizes, IntBuffer states, IntBuffer fbos)

Accepts arrays of buffer addresses as an array of offsets indirects into a buffer named by buffer, an array of command lengths in sizes, and an array of state object names in states, of which all names must be non-zero. Frame buffer object names are stored in fbos and can be either zero or non-zero. All arrays have count entries. The residency of textures used as attachment inside the state object's captured fbo or the passed fbo must managed explicitly.

Parameters
buffer:int

the buffer object name

indirects:PointerBuffer

the array of offsets into the buffer

sizes:IntBuffer

the array of command lengths

states:IntBuffer

the array of state object names

fbos:IntBuffer

the array of framebuffer object names

glDrawCommandsStatesNVback to summary
public static void glDrawCommandsStatesNV(int buffer, PointerBuffer indirects, int[] sizes, int[] states, int[] fbos)

Array version of: DrawCommandsStatesNV

glGetCommandHeaderNVback to summary
public static native int glGetCommandHeaderNV(int tokenID, int size)

Returns the encoded 32bit header value for a given command; the returned value is implementation specific.

Parameters
tokenID:int

the command to query. One of:

TERMINATE_SEQUENCE_COMMAND_NVNOP_COMMAND_NVDRAW_ELEMENTS_COMMAND_NV
DRAW_ARRAYS_COMMAND_NVDRAW_ELEMENTS_STRIP_COMMAND_NVDRAW_ARRAYS_STRIP_COMMAND_NV
DRAW_ELEMENTS_INSTANCED_COMMAND_NVDRAW_ARRAYS_INSTANCED_COMMAND_NVELEMENT_ADDRESS_COMMAND_NV
ATTRIBUTE_ADDRESS_COMMAND_NVUNIFORM_ADDRESS_COMMAND_NVBLEND_COLOR_COMMAND_NV
STENCIL_REF_COMMAND_NVLINE_WIDTH_COMMAND_NVPOLYGON_OFFSET_COMMAND_NV
ALPHA_REF_COMMAND_NVVIEWPORT_COMMAND_NVSCISSOR_COMMAND_NV
FRONT_FACE_COMMAND_NV
size:int

provided as basic consistency check, since the size of each structure is fixed and no padding is allowed. The value is the sum of the header and the command specific structure.

Annotations
@NativeType:GLuint
glGetStageIndexNVback to summary
public static native short glGetStageIndexNV(int shadertype)

Returns the 16bit value for a specific shader stage; the returned value is implementation specific. The value is to be used with the stage field within UniformAddressCommandNV tokens.

Parameters
shadertype:int

the shader stage type

Annotations
@NativeType:GLushort
glIsCommandListNVback to summary
public static native boolean glIsCommandListNV(int list)

Returns true if the specified name corresponds to a command list.

Parameters
list:int

the object name to query

Annotations
@NativeType:GLboolean
glIsStateNVback to summary
public static native boolean glIsStateNV(int state)

Returns true if the specified name corresponds to a state object.

Parameters
state:int

the object name to test

Annotations
@NativeType:GLboolean
glListDrawCommandsStatesClientNVback to summary
public static void glListDrawCommandsStatesClientNV(int list, int segment, PointerBuffer indirects, IntBuffer sizes, IntBuffer states, IntBuffer fbos)

A list has multiple segments and each segment enqueues an ordered list of commands. This command enqueues the equivalent of the DrawCommandsStatesClientNV commands into the list indicated by list on the segment indicated by segment.

A list has multiple segments and each segment enqueues an ordered list of command sequences. This command enqueues the equivalent of the DrawCommandsStatesNV commands into the list indicated by list on the segment indicated by segment except that the sequence data is copied from the sequences pointed to by the indirects pointer. The indirects pointer should point to a list of size count of pointers, each of which should point to a command sequence.

The pre-validated state from states is saved into the command list, rather than a reference to the state object (i.e. the state objects or fbos could be deleted and the command list would be unaffected). This includes native GPU addresses for all textures indirectly referenced through the fbos passed or state objects' fbos attachments, therefore a recompile of the command list is required if such referenced textures change their allocation (for example due to resizing), as well as explicit management of the residency of the textures prior CallCommandListNV.

ListDrawCommandsStatesClientNV performs a by-value copy of the indirect data based on the provided client-side pointers. In this case the content is fully immutable, while the buffer-based versions can change the content of the buffers at any later time.

Parameters
list:int

the command list

segment:int

the segment

indirects:PointerBuffer

the array of GPU addresses

sizes:IntBuffer

the array of command lengths

states:IntBuffer

the array of state object names

fbos:IntBuffer

the array of framebuffer object names

glListDrawCommandsStatesClientNVback to summary
public static void glListDrawCommandsStatesClientNV(int list, int segment, PointerBuffer indirects, int[] sizes, int[] states, int[] fbos)

Array version of: ListDrawCommandsStatesClientNV

glStateCaptureNVback to summary
public static native void glStateCaptureNV(int state, int mode)

Captures the current state of the rendering pipeline into the object indicated by state.

The captured rendering state includes:

  • Vertex attribute enable state, formats, types, relative offsets and strides, but not bound vertex buffers or vertex unified addresses, nor their offsets, nor bound index buffers/addresses.
  • Primitive state such as primitive restart and patch parameters, provoking vertex.
  • Immediate vertex attribute values as provided by glVertexAttrib* or glVertexAttribI*
  • All active program binaries except compute (either from the active program pipeline or from UseProgram) with their current subroutine configuration excluding all default-block uniform values.
  • Rasterization, multisample fragment operation, depth, stencil, and blending state.
  • Rasterization state such as line widths, stippling, polygon modes and offsets.
  • Viewport, scissor, and depth range state.
  • Framebuffer attachment configuration: attachment state including attachment formats, drawbuffer state, and target/layer information, but not including actual attachments or sizes of attachments (these are stored separately).
  • Framebuffer attachment textures (but not residency state).
Parameters
state:int

the state object into which to capture the current rendering state

mode:int

the basic Begin mode that this state object must be used with. One of:

POINTSLINESTRIANGLESQUADSLINES_ADJACENCYTRIANGLES_ADJACENCYPATCHES
nglCreateCommandListsNVback to summary
public static native void nglCreateCommandListsNV(int n, long lists)

Unsafe version of: CreateCommandListsNV

Parameters
n:int

the number of command list names to create

nglCreateStatesNVback to summary
public static native void nglCreateStatesNV(int n, long states)

Unsafe version of: CreateStatesNV

Parameters
n:int

the number of state object names to create

nglDeleteCommandListsNVback to summary
public static native void nglDeleteCommandListsNV(int n, long lists)

Unsafe version of: DeleteCommandListsNV

Parameters
n:int

the number of command list names to delete

nglDeleteStatesNVback to summary
public static native void nglDeleteStatesNV(int n, long states)

Unsafe version of: DeleteStatesNV

Parameters
n:int

the number of state object names to delete

nglDrawCommandsAddressNVback to summary
public static native void nglDrawCommandsAddressNV(int primitiveMode, long indirects, long sizes, int count)

Unsafe version of: DrawCommandsAddressNV

Parameters
count:int

the number of commands

nglDrawCommandsNVback to summary
public static native void nglDrawCommandsNV(int primitiveMode, int buffer, long indirects, long sizes, int count)

Unsafe version of: DrawCommandsNV

Parameters
count:int

the number of commands

nglDrawCommandsStatesAddressNVback to summary
public static native void nglDrawCommandsStatesAddressNV(long indirects, long sizes, long states, long fbos, int count)

Unsafe version of: DrawCommandsStatesAddressNV

Parameters
count:int

the number of commands

nglDrawCommandsStatesNVback to summary
public static native void nglDrawCommandsStatesNV(int buffer, long indirects, long sizes, long states, long fbos, int count)

Unsafe version of: DrawCommandsStatesNV

Parameters
count:int

the number of commands

nglListDrawCommandsStatesClientNVback to summary
public static native void nglListDrawCommandsStatesClientNV(int list, int segment, long indirects, long sizes, long states, long fbos, int count)

Unsafe version of: ListDrawCommandsStatesClientNV

Parameters
count:int

the number of commands