nngxAdd3DCommand Function
NNGX_APICALL void NNGX_APIENTRY nngxAdd3DCommand(
GLvoid * bufferaddr,
GLsizei buffersize,
GLboolean copycmd
);
| 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) |
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_DMP | The command list is not currently bound. |
|---|---|
| GL_ERROR_804F_DMP | Either 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_DMP | The copycmd argument is GL_TRUE and the size of the current 3D command buffer is insufficient. |
| GL_ERROR_8051_DMP | The copycmd argument is GL_FALSE and the size of the current 3D command request is insufficient. |
| GL_ERROR_8052_DMP | The copycmd argument is GL_FALSE and the value specified for bufferaddr is not a multiple of 16. |
GL_ERROR_804F_DMP).
CONFIDENTIAL