The following is a list of restrictions concerning the use of certain textures types in certain modes:
clamp & /|(wrap|mirror) works for all texel types.
Clamp works for all texel types.
wrap t|mirror t|(clamp t & wrap t)|(clamp t & mirror t) works for all texel types.
wrap s|mirror s|(clamp s & wrap s)|(clamp s & mirror s) works for all texel types except YUV.
Clamping is implicitly disabled for copy mode. 32-bit RGBA and YUV texel types are not supported. To copy these types, they should be loaded and rendered as 16-bit RGBA type texels. When using a 16-bit RGBA type to copy a 32-bit RGBA or YUV texture, mirroring in s is not supported.
Wrap or mirror works for 4, 8, and 16-bit types.
You must put the RDP in two-cycle mode to use texture LOD.
The texture image pointer, as defined using the g*DPSetTextureImage command, must be 8-byte aligned. Additionally, each tile must be aligned according to its size. For example, 8-bit texture tiles must be aligned to 8-bit boundaries, 16-bit textures to 16-bit boundaries, etc. One exception is 4-bit tiles, which must be accessed on byte (8-bit boundaries).
The maximum size of a tile is 256 rows (t coordinate) and 1024 texels (s coordinate) within the limits of TMEM size. It is better to always make the s coordinate the longer coordinate in terms of load performance.
You should avoid shifting coordinates left using the shift parameter of a tile unless necessary. Please see the example in Section 13.12, "Applications - Multiple Tile Effects ".
The valid texture coordinate range is currently from -1024.0 to +1023.99. A total range of 2K texels across a primitive. The texture hardware can handle this full range without any noticeable loss of accuracy. For small coordinate ranges however, if given a choice of coordinates close to zero or coordinates close to 1024, slightly higher quality may result from the lower coordinates.