nn::gd::CTR::Memory::CopyTexture2DResourceLinearToBlock Member Function

Syntax

static nnResult CopyTexture2DResourceLinearToBlock(
     const Texture2DResource * source,
     s32 srcMipLevelIndex,
     u32 srcOffestY,
     s32 srcCountRow,
     const Texture2DResource * dest,
     s32 dstMipLevelIndex,
     u32 dstOffestY
);

Arguments

Name Description
in source Specifies a pointer to the source Texture2DResource resource.
in srcMipLevelIndex Specifies the index of the mipmap level of the transfer source. If -1 is specified, the last mipmap level index is used.
in srcOffestY Specifies the Y offset of the transfer source. This value must be less than the height of the source resource.
in srcCountRow Specifies the height to transfer. The memory layout is multiple of srcCountRow. If -1 is specified, transfer is made at a size found by subtracting srcOffsetY from the height of the transfer source resource. srcOffestY + srcCountRow must be equal to or less than the height of the transfer destination resource. (Including srcMipLevelIndex of the source.)
in dest Specifies a pointer to the Texture2DResource of the transfer destination.
in dstMipLevelIndex Specifies the index of the mipmap level of the transfer destination. If -1 is specified, the last mipmap level index is used.
in dstOffestY Specifies the Y offset of the transfer destination.

Return Values

Returns the result of the operation.
Value Description
Result::IsSuccess Process was successful.
ResultNullParameter NULL was specified for source or dest.
ResultInvalidMemoryLayout Either the destination memory layout is not LAYOUT_BLOCK_8 or LAYOUT_BLOCK_32 format, or the transfer source memory layout is not LAYOUT_LINEAR.
ResultInvalidTextureMipLevelIndex The index of the mipmap level of the source or destination is invalid.
ResultInvalidTextureOffset dstOffset is not a multiple of the memory layout or is larger than the height of the destination.
ResultInvalidTextureFormat The pixel size of the source and destination differ.
ResultInvalidTextureResolution The resolution of the source and destination differ.
ResultInvalidSubRegionResolution srcCountRow is not a multiple of the memory layout. Or, the offset of the source or destination, or the transfer size is larger than the height of each resource. Or, if the pixel format size of the source Texture2DResource is 24-bit, the height of the destination Texture2DResource is not a multiple of 32.
ResultInvalidTextureFormat The pixel format of the transfer source or transfer destination is invalid.

Description

Adds a command for converting the source Texture2DResource resource from a block image to a linear image and transferring it to the specified Texture2DResource to the current command list.

Revision History

2011/02/21
Initial version.

CONFIDENTIAL