kmCreateContiguousTextureSurface

Creating the texture surface in contiguous address areas.


KMSTATUS KMAPI
kmCreateContiguousTextureSurface(
OUT PKMSURFACEDESC pSurfaceDesc,
IN KMINT32 nTexture,
IN KMINT32 nWidth,
IN KMINT32 nHeight,
IN KMTEXTURETYPE nTextureType
)

Description:

This function simultaneously secures two or more texture surfaces at contiguous addresses in the frame buffer. Use the kmFreeTexture function to release the area secured by this function.

It is used to read two or more textures of YUV422 type in succession, by using the YUV converter of tiling accelerator of the PowerVR (see kmLoadYUVTexture).

This API, however, can also allocate texture surfaces in all formats, excluding "small VQ compression format" and "small VQ compression format with a mipmap."

Caution:

This function must be executed after kmSetSystemConfiguration is called.

Parameters:

ppSurfaceDesc(output)
This parameter is a pointer to a KMSURFACEDESC structure. Texture surface information is returned to the structure. It becomes undefined if, for KMSTATUS, KMSTATUS_NOT_ENOUGH_MEMORY is returned.

nTexture(input)
This parameter specifies the number of texture surfaces to be secured in succession.

nWidth, nHeight(input)
These parameters specify the horizontal size and vertical size of the texture. The value specified for nWidth or nHeight must be 8, 16, 32, 64, 128, 256, 512, or 1,024.

nTextureType(input)
This parameter specifies a texture format. See KmCreateTextureSurface.

Return values:

ValueExplanation
KMSTATUS_SUCCESS Success
KMSTATUS_INVALID_TEXTURE_TYPE Invalid texture type specified
KMSTATUS_NOT_ENOUGH_MEMORY Insufficient memory

  kmCreateContiguousTextureSurface