nngxAdd3DCommand Function

Syntax

NNGX_APICALL void NNGX_APIENTRY nngxAdd3DCommand(
     GLvoid * bufferaddr,
     GLsizei buffersize,
     GLboolean copycmd
);

Arguments

Name Description
in bufferaddr Pointer to the data region where the 3D command to add is located
in buffersize Size (in bytes) of the 3D command to add
in copycmd Addition method (specifies whether to add a 3D command buffer or a 3D execution command request)

Return Values

There is no return value.

Description

Adds the data (the 3D command) in the specified region to the current 3D command buffer.

If copycmd is GL_TRUE, the data in the region specified by bufferaddr is copied to the current 3D command buffer. Set buffersize equal to the number of bytes to copy. Behavior is not guaranteed if a 3D command buffer with split commands is copied.

If copycmd is GL_FALSE, a 3D execution command is first generated with the region specified by bufferaddr as its execution address and then added to the current command requests. Set buffersize equal to the number of bytes in the 3D command buffer to execute. If unsplit 3D commands have been accumulated in the current 3D command buffer, nngxSplitDrawCmdlist is called and then the new 3D execution command is added. Behavior is not guaranteed if the last command in the specified region is not a split command.

The following errors occur in this function.

GL_ERROR_804E_DMPThe command list is not currently bound.
GL_ERROR_804F_DMPEither buffersize is 0 or it is not a multiple of 16 (or not a multiple of 4 if copycmd is GL_TRUE).
GL_ERROR_8050_DMPThe copycmd argument is GL_TRUE and the size of the current 3D command buffer is insufficient.
GL_ERROR_8051_DMPThe copycmd argument is GL_FALSE and the size of the current 3D command request is insufficient.
GL_ERROR_8052_DMPThe copycmd argument is GL_FALSE and the value specified for bufferaddr is not a multiple of 16.

Revision History

2010/08/12
Revised because of changed buffersize restrictions (see GL_ERROR_804F_DMP).
2010/05/07
Added information on buffersize restrictions.
2010/03/12
Initial version.

CONFIDENTIAL