nn::gd::CTR::System::ReplayPackets Member Function

Syntax

static nnResult ReplayPackets(
     RecordedPacketId * packetId,
     u32 * forceDirtyModuleFlag
);

Parameters

Name Description
in packetId Specifies the save start ID pointer to be executed.
in forceDirtyModuleFlag Pointer to the flag that sets reconfigurable status for the specified module after a packet is played back. If forceDirtyModuleFlag is NULL, gd internal status does not change. The module is defined by the enum value of nn::gd::CTR::System::Module.

Return Values

Returns the result of the operation.
Value Description
Result::IsSuccess Process was successful.
ResultNullParameter NULL was specified in packetId.
ResultSystemNoPacketRecorded The specified packetId data was 0.
ResultSystemReceiveErrorFromGlGetError An error was generated by the nngxImportCmdlist function.

Description

Re-executes the command list object specified by packetId. forceDirtyModuleFlag can be specified by OR'ing System::Module enum members.

Re-execution of a command may cause a conflict with the internal gd state. In such cases, you can reconfigure the gd internal state using the forceDirtyModuleFlag flag. (This flag calls the System::ForceDirty function.) As a safe method, set MODULE_ALL in forceDirtyModuleFlag to put all modules in a reconfigurable state. If you already know which module is competing, you can set the corresponding flag for that module.

If RECORD_COMMAND_LIST_COPY is specified as the RecordingPacketUsage parameter to the System::StartRecordingPackets function, command packets are stored in a user buffer and then, when executed by the System::ReplayPackets function, they are copied to the internal command buffer managed by the GD library. If you want to avoid this copy operation, specify RECORD_COMMAND_LIST_NO_COPY as the RecordingPacketUsage parameter to the System::StartRecordingPackets function. This allows the internal command buffer managed by the GD library to be reused, but it prevents command packets from being edited directly and from being reused after the command buffer is cleared. If the System::StartRecordingPackets function is executed with RECORD_3D_COMMAND_BUFFER_FOR_JUMP specified in the argument RecordingPacketUsage, a jump command is added using nngxAddSubroutineCommand() to jump directly from the saved packet to the 3D command buffer.

Revision History

2011/02/17
Initial version.

CONFIDENTIAL