GX_TrySetBankForTex

C Specification

#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 as normal. 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

02/15/2005 Initial version.