ShaderRegister Cache provides the usage management system for all registers during shading compilation.


Created ShaderRegisterCache object has properties:

fragmentConstantOffset

Indicates the start index from which to retrieve fragment constants. (Int)

fragmentOutputRegister

[read-only] The fragment output register. (ShaderRegisterElement)

numUsedFragmentConstants

[read-only] The amount of used fragment constant registers. (Int)

numUsedStreams

[read-only] The amount of used vertex streams. (Int)

numUsedTextures

[read-only] The amount of used texture slots. (Int)

numUsedVaryings

[read-only] The amount of used varying registers. (Int)

numUsedVertexConstants

[read-only] The amount of used vertex constant registers. (Int)

varyingsOffset

Indicates the start index from which to retrieve varying registers. (Int)

vertexAttributesOffset

Indicates the start index from which to retrieve vertex attributes. (Int)

vertexConstantOffset

Indicates the start index from which to retrieve vertex constants. (Int)


methods:

addFragmentTempUsages(register, usageCount)

Marks a fragment temporary register as used, so it cannot be retrieved.

register - The register to mark as used. (ShaderRegisterElement)

usageCount - The amount of usages to add. (Int)

addVertexTempUsages(register, usageCount)

Marks a vertex temporary register as used, so it cannot be retrieved.

register - The register to mark as used. (ShaderRegisterElement)

usageCount - The amount of usages to add. (Int)

dispose()

Disposes all resources used.


getFreeFragmentConstant()

Retrieve an available fragment constant register. Return ShaderRegisterElement.


getFreeFragmentSingleTemp()

Retrieve a single component from a fragment temporary register that's still available. Return ShaderRegisterElement.


getFreeFragmentVectorTemp()

Retrieve an entire fragment temporary register that's still available. Return ShaderRegisterElement.


getFreeTextureReg()

Retrieve an available texture register. Return ShaderRegisterElement.


getFreeVarying()

Retrieve an available varying register Return ShaderRegisterElement.


getFreeVertexAttribute()

Retrieve an available vertex attribute register Return ShaderRegisterElement.


getFreeVertexConstant()

Retrieve an available vertex constant register Return ShaderRegisterElement.


getFreeVertexSingleTemp()

Retrieve a single component from a vertex temporary register that's still available. Return ShaderRegisterElement.


getFreeVertexVectorTemp()

Retrieve an entire vertex temporary register that's still available. Return ShaderRegisterElement.


removeFragmentTempUsage(register)

Removes a usage from a fragment temporary register.

register - The register for which to remove a usage. (ShaderRegisterElement)

removeVertexTempUsage(register)

Removes a usage from a vertex temporary register.

register - The register for which to remove a usage. (ShaderRegisterElement)

reset()

Resets all registers.



Created with the Personal Edition of HelpNDoc: Produce electronic books easily