# NNS_G3dTexLoad

## Syntax

      #include <nnsys/g3d/kernel.h>

      void
      NNS_G3dTexLoad(
          NNSG3dResTex* pTex,
          BOOL          exec_begin_end
      );

## Arguments

`pTex` | Pointer to the texture resource.
`exec_begin_end` | When `TRUE`, calls the TWL-SDK's `GX_BeginLoadTex` and `GX_EndLoadTex` functions.

## Return Values

None.

## Description

Loads the texture stored within the texture resource into the region in VRAM indicated by the configured texture key. At the same time, sets the flag indicating that the texture inside the texture resource was loaded into VRAM. You must configure the texture key with the `NNS_G3dTexSetTexKey` function before calling this function. In addition, because DMA transfer is used to load textures, it is necessary to write textures back to memory using functions such as `DC_Flush*` and `DC_Store*` before calling this function.

When `TRUE` is specified for `exec_begin_end`, this function calls the TWL-SDK's `GX_BeginLoadTex` and `GX_EndLoadTex` functions before and after loading texture data to VRAM. When `FALSE` is specified for `exec_begin_end`, the `GX_BeginLoadTex` and `GX_EndLoadTex` functions must be called on the user side. When continuously loading texture data, it is more efficient to designate `FALSE` in `exec_begin_end` and call the `GX_BeginLoadTex` and `GX_EndLoadTex` functions on the user side.

## See Also

`NNS_G3dTexSetTexKey`
`NNS_G3dTexReleaseTexKey`

## Revision History

2008/06/20 Changed NITRO-SDK to TWL-SDK.
2008/01/23 Added description for using DMA transfer.
2004/08/19 Corrected mistake in explanation.
2004/08/02 Initial version.

CONFIDENTIAL