# Graphics Foundation Library (GFD) API Function List

### Texture VRAM Manager

NNS_GfdAllocTexVram | Allocates a texture-use memory block of the specified size from VRAM.
NNS_GfdFreeTexVram | Frees memory block allocated from VRAM.
NNS_GfdGetTexKeyAddr | Gets the address in VRAM of the texture-use memory indicated by the key data specified by `memKey`.
NNS_GfdGetTexKeySize | Gets the size of the texture-use memory indicated by the key data specified by `memKey`.
NNS_GfdGetTexKey4x4Flag | Checks that the allocated texture-use memory indicated by the key data is for 4x4 texel compressed textures.

### Frame Texture VRAM Manager

NNS_GfdInitFrmTexVramManager | Initializes the Frame Texture VRAM Manager.
NNS_GfdAllocFrmTexVram | Allocates texture-use memory from the Frame Texture VRAM Manager.
NNS_GfdFreeFrmTexVram | Deallocates texture-use memory that was allocated from the Frame Texture VRAM Manager.
NNS_GfdGetFrmTexVramState | Gets the Frame Texture VRAM Manager's texture-use memory allocation state.
NNS_GfdSetFrmTexVramState | Sets the Frame Texture VRAM Manager's texture-use memory allocation state.
NNS_GfdResetFrmTexVramState | Resets the Frame Texture VRAM Manager's texture-use memory allocation state to its initial state.
NNS_GfdDumpFrmTexVramManager | Outputs the state of the Frame Texture VRAM Manager to the console for debugging.
NNS_GfdDumpFrmTexVramManagerEx | Outputs the state of the Frame Texture VRAM Manager to the console for debugging.

### Linked List Texture VRAM Manager

NNS_GfdInitLnkTexVramManager | Initializes the linked list texture VRAM manager.
NNS_GfdAllocLnkTexVram | Allocates memory for texture in the linked list texture VRAM manager.
NNS_GfdFreeLnkTexVram | Releases the texture memory allocated in the linked list texture VRAM manager.
NNS_GfdGetLnkTexVramManagerWorkSize | Gets the size of the memory (in bytes) required by the linked list VRAM manager for management information.
NNS_GfdResetLnkTexVramState | Restores the initial state of the texture memory for the linked list texture VRAM manager.
NNS_GfdDumpLnkTexVramManager | Outputs the state of the linked list texture VRAM manager to the console for debugging.
NNS_GfdDumpLnkTexVramManagerEx | Outputs the state of the linked list texture VRAM manager to the console for debugging.

### Palette VRAM Manager

NNS_GfdAllocPlttVram | Allocates a palette-use memory block of the specified size from VRAM.
NNS_GfdFreePlttVram | Frees palette block allocated from VRAM.
NNS_GfdGetPlttKeyAddr | Gets address of palette-use memory from key data.
NNS_GfdGetPlttKeySize | Gets size of palette-use memory from key data.

### Frame Palette VRAM Manager

NNS_InitFrmPlttVramManager | Initializes the Frame Palette VRAM Manager.
NNS_GfdAllocFrmPlttVram | Allocates palette-use memory from the Frame Palette VRAM Manager.
NNS_GfdFreeFrmPlttVram | Frees palette-use memory that was allocated from the Frame Palette VRAM Manager.
NNS_GfdGetFrmPlttVramState | Gets the Frame Palette VRAM Manager's palette-use memory allocation state.
NNS_GfdSetFrmPlttVramState | Sets the Frame Palette VRAM Manager's palette-use memory allocation state.
NNS_GfdResetFrmPlttVramState | Resets the Frame Palette VRAM Manager's palette-use memory allocation state to its initial state.
NNS_GfdDumpFrmPlttVramManager | Outputs the State of the Frame Palette VRAM Manager to the console for debugging.
NNS_GfdDumpFrmPlttVramManagerEx | Outputs the State of the Frame Palette VRAM Manager to the console for debugging.

### Linked List Palette VRAM Manager

NNS_GfdInitLnkPlttVramManager | Initializes the linked list palette VRAM manager.
NNS_GfdAllocLnkPlttVram | Allocates memory for the palette in the linked list palette VRAM manager.
NNS_GfdFreeLnkPlttVram | Releases memory for the palette allocated in the linked list palette VRAM manager.
NNS_GfdGetLnkPlttVramManagerWorkSize | Gets the size of the memory (in bytes) required by the linked list VRAM manager for management information.
NNS_GfdResetLnkPlttVramState | Restores the initial state of the texture memory for the linked list palette VRAM manager.
NNS_GfdDumpLnkPlttVramManager | Outputs the state of the linked list palette VRAM Manager to the console for debugging.
NNS_GfdDumpLnkPlttVramManagerEx | Outputs the state of the linked list palette VRAM Manager to the console for debugging.

### VRAM Transfer Manager

NNS_GfdInitVramTransferManager | Initializes the VRAM Transfer Manager.
NNS_GfdClearVramTransferManagerTask | Clears the VRAM transfer tasks in the VRAM Transfer Manager.
NNS_GfdRegisterNewVramTransferTask | Registers a VRAM transfer task in the VRAM Transfer Manager.
NNS_GfdDoVramTransfer | Transfers data to VRAM by executing the VRAM transfer tasks registered in the VRAM Transfer Manager.
NNS_GfdGetVramTransferTaskTotalSize | Gets the total data-transfer size of the VRAM transfer tasks registered in the VRAM Transfer Manager.

CONFIDENTIAL