#include <nnsys/gfd.h>
void NNS_GfdInitLnkTexVramManager(
u32 szByte,
u32 szByteFor4x4,
void* pManagementWork,
u32 szByteManagementWork,
BOOL useAsDefault );
szByte |
Size of the VRAM region to manage (in bytes). (Calculate as 1 Slot = 0x20000 , with a maximum of 4 slots.) |
szByteFor4x4 |
Size of the region (in bytes) used for the 4x4 compressed texture in the management region. (Calculate as 1 Slot = 0x20000 , with a maximum of 2 slots.) |
pManagementWork |
Pointer to the memory region used for management information. |
szByteManagementWork |
Size of the management information region (in bytes). |
useAsDefault |
Whether to use the linked list texture VRAM manager as the current VRAM manager. |
None.
Initializes the VRAM manager to manage the region that begins with the texture RAM and is the size specified by szByte
. For the initialization parameters, you must specify the size of the VRAM region (in bytes) managed by the manager and the size of the region used for the 4x4 compressed texture that is in the managed region. If szByteFor4x4
is not zero, the following conditions must be met.
szByteFor4x4 <= 0x20000, szByte >= 0x20000 + szByteFor4x4 / 2
szByteFor4x4 > 0x20000, szByte >= 0x20000 + szByteFor4x4
The linked list VRAM manager requires the management information of the empty region. Therefore, you must pass the memory region for management information when initializing. Use the NNS_GfdGetLnkTexVramManagerWorkSize
function to get the size of the required management information memory.
If useAsDefault
is TRUE
, the linked list texture VRAM manager is set as the current VRAM manager of TWL-System.
When 4x4 compressed textures are used, a 4x4 compressed texture region is allocated inside the manager by, essentially, dividing a part of the region for normal textures. Because of this, continuous blocks inside the manager cannot be fully defragmented, and allocating a large region of memory may fail even though there is sufficient remaining VRAM.
NNS_GfdGetLnkTexVramManagerWorkSize
2008/06/20 Changed NITRO-System to TWL-System.
2004/10/12 Initial version.
CONFIDENTIAL