# GX_TrySetBankForTex

## Syntax

  `#include <nitro/gx/gx_vramcnt.h>`
  `BOOL GX_TrySetBankForTex(GXVRamTex tex);`

## Arguments

tex | Specifies a VRAM bank to allocate to the texture image slot

## Return Values

Returns TRUE if the VRAM bank is allocated normally. Returns FALSE if the VRAM bank to be allocated is locked by another library.

## Description

Attempts to allocate a VRAM bank to the TextureImage slot. If the specified VRAM bank is either disabled or allocated to LCDC, this allocates the VRAM bank to the texture image slot. The allocation will fail if the designated VRAM bank is exclusion-locked by another library.

`GX_VRAM_TEX_NONE` | The VRAM bank is not allocated to the texture image.
`GX_VRAM_TEX_0_A` | Slot 0 of the texture image is reserved. VRAM-A is allocated.
`GX_VRAM_TEX_0_B` | Slot 0 of the texture image is reserved. VRAM-B is allocated.
`GX_VRAM_TEX_0_C` | Slot 0 of the texture image is reserved. VRAM-C is allocated.
`GX_VRAM_TEX_0_D` | Slot 0 of the texture image is reserved. VRAM-D is allocated.
`GX_VRAM_TEX_01_AB` | Slot 0,1 of the texture image is reserved. VRAM-A and -B are allocated.
`GX_VRAM_TEX_01_BC` | Slot 0,1 of the texture image is reserved. VRAM-B and -C are allocated.
`GX_VRAM_TEX_01_CD` | Slot 0,1 of the texture image is reserved. VRAM-C and -D are allocated.
`GX_VRAM_TEX_012_ABC` | Slots 0, 1, and 2 of the texture image are reserved. VRAM-A, -B, and -C are allocated.
`GX_VRAM_TEX_012_BCD` | Slots 0, 1, and 2 of the texture image are reserved. VRAM-B, -C, and -D are allocated.
`GX_VRAM_TEX_0123_ABCD` | Slots 0, 1, 2, and 3 of the texture image are reserved. VRAM-A, -B, -C, and -D are allocated.
`GX_VRAM_TEX_01_AC` | Slot 0,1 of the texture image is reserved. VRAM-A and -C are allocated.
`GX_VRAM_TEX_01_AD` | Slot 0,1 of the texture image is reserved. VRAM-A and -D are allocated.
`GX_VRAM_TEX_01_BD` | Slot 0,1 of the texture image is reserved. VRAM-B and -D are allocated.
`GX_VRAM_TEX_012_ABD` | Slots 0, 1, and 2 of the texture image are reserved. VRAM-A, -B, and -D are allocated.
`GX_VRAM_TEX_012_ACD` | Slots 0, 1, and 2 of the texture image are reserved. VRAM-A, -C, and -D are allocated.

The following is the type definition for `GXVRamTex` types.

    typedef enum
    {
        GX_VRAM_TEX_NONE  = 0x0000,                               // none
        GX_VRAM_TEX_0_A   = GX_VRAM_A,                            // TextureImageSlot 0
        GX_VRAM_TEX_0_B   = GX_VRAM_B,                            // TextureImageSlot 0
        GX_VRAM_TEX_0_C   = GX_VRAM_C,                            // TextureImageSlot 0
        GX_VRAM_TEX_0_D   = GX_VRAM_D,                            // TextureImageSlot 0
        GX_VRAM_TEX_01_AB = GX_VRAM_A | GX_VRAM_B,                // TextureImageSlot 01
        GX_VRAM_TEX_01_BC = GX_VRAM_B | GX_VRAM_C,                // TextureImageSlot 01
        GX_VRAM_TEX_01_CD = GX_VRAM_C | GX_VRAM_D,                // TextureImageSlot 01
        GX_VRAM_TEX_012_ABC = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C,  // TextureImageSlot 012
        GX_VRAM_TEX_012_BCD = GX_VRAM_B | GX_VRAM_C | GX_VRAM_D,  // TextureImageSlot 012
        GX_VRAM_TEX_0123_ABCD = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C | GX_VRAM_D,  // TextureImageSlot 0123

        // The following settings are discontinuous on LCDC
        GX_VRAM_TEX_01_AC = GX_VRAM_A | GX_VRAM_C,                // TextureImageSlot 01
        GX_VRAM_TEX_01_AD = GX_VRAM_A | GX_VRAM_D,                // TextureImageSlot 01
        GX_VRAM_TEX_01_BD = GX_VRAM_B | GX_VRAM_D,                // TextureImageSlot 01
        GX_VRAM_TEX_012_ABD = GX_VRAM_A | GX_VRAM_B | GX_VRAM_D,  // TextureImageSlot 012
        GX_VRAM_TEX_012_ACD = GX_VRAM_A | GX_VRAM_C | GX_VRAM_D   // TextureImageSlot 012
    }
    GXVRamTex;

## See Also

`GX_SetBankForTex, GX_GetBankForTex, GX_ResetBankForTex, GX_DisableBankForTex, GX_GetSizeOfTex`

## Revision History

2005/02/15 Initial version.

CONFIDENTIAL