REDMemoryAllocator.h

Macro Definitions

RED_MLT_UNKNOWN

RED_MLT_RAYTRACER

RED_MLT_IMAGE_2D

RED_MLT_IMAGE_3D

RED_MLT_IMAGE_CUBE

RED_MLT_IMAGE_COMPOSITE

RED_MLT_IMAGE_READBACK

RED_MLT_SHAPE_TRANSFORM

RED_MLT_SHAPE_DATA

RED_MLT_MATERIAL

RED_MLT_SHADER

RED_MLT_CLUSTER

RED_MLT_OPENGL_DRIVER

RED_MLT_STRING

RED_MLT_MATERIAL_CONTROLLER_COMPILER

RED_MLT_STL

RED_MLT_LAST_MLT

RED_MLT_DYN_ALLOC_SIZE

RED_MLT_VEC_SIZE

__RED_MLT_CALLER__

rnew

rnewc

rdelete

rmalloc

rrealloc

rfree

Namespaces

RED

Types

MemoryAllocator

Detailed Description

Macro Definition

RED_MLT_UNKNOWN

REDsdk memory allocation source. Unknown allocation caller.

RED_MLT_RAYTRACER

REDsdk memory allocation source. Ray-tracer memory.

RED_MLT_IMAGE_2D

REDsdk memory allocation source. RED::IImage2D object memory.

RED_MLT_IMAGE_3D

REDsdk memory allocation source. RED::IImage3D object memory.

RED_MLT_IMAGE_CUBE

REDsdk memory allocation source. RED::IImageCube object memory.

RED_MLT_IMAGE_COMPOSITE

REDsdk memory allocation source. RED::IImageComposite object memory.

RED_MLT_IMAGE_READBACK

REDsdk memory allocation source. RED::IImageReadback object memory.

RED_MLT_SHAPE_TRANSFORM

REDsdk memory allocation source. RED::ITransformShape object memory.

RED_MLT_SHAPE_DATA

REDsdk memory allocation source. All scene graph data objects memory. This includes light sources, meshes, lines and texts.

RED_MLT_MATERIAL

REDsdk memory allocation source. RED::IMaterial and all internal material memory management blocks.

RED_MLT_SHADER

REDsdk memory allocation source. All RED::Shader related memory (including shader strings) and all internal shader memory management blocks.

RED_MLT_CLUSTER

REDsdk memory allocation source. All cluster objects memory. This includes the resource manager, windows, VRLs, viewpoints and all memory related to the management of the data cluster.

RED_MLT_OPENGL_DRIVER

REDsdk memory allocation source. All OpenGL graphic driver memory. Does not include the hardware vendor driver memory.

RED_MLT_STRING

REDsdk memory allocation source. All RED::String and subclasses memory.

RED_MLT_MATERIAL_CONTROLLER_COMPILER

REDsdk memory allocation source. Specific to the material controller compiler.

RED_MLT_STL

REDsdk RED::Vector and RED::Map allocation source. Due to template instantiation by compilers, we can’t distinguish two identical vectors (for instance RED::Vector< int >) that were declared in two different objects: at runtime, one instance of class RED::Vector< int > exists. Therefore we can’t reparent these memory allocations to their real owners, and assign them a specific category.

RED_MLT_LAST_MLT

REDsdk memory allocation source. Use for Memory leak tracking tools.

RED_MLT_DYN_ALLOC_SIZE

Byte size of a dynamic allocation. Operating system specific.

RED_MLT_VEC_SIZE(vector, type)

Byte size of the dynamic part of a RED::Vector ‘vector’ whose data storage uses the type ‘type’.

__RED_MLT_CALLER__

This value can be overridden to specify a source allocating data that is identified by the (int) value received by the symbol. A list of all existing engine allocation sources is provided in REDMemoryAllocator.h

. These are the RED_MLT_XXX symbols.

Because of template compilations, the

RED_MLT_CALLER symbol must be set before performing any REDsdk include in a source file.

rnew
rnewc(caller)
rdelete
rmalloc(size)
rrealloc(ptr, size)
rfree