Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ShSm::BackendCode Class Reference

Inheritance diagram for ShSm::BackendCode:

Inheritance graph
[legend]
Collaboration diagram for ShSm::BackendCode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BackendCode (SH::ShPointer< Backend > backend, const SH::ShProgram &shader, const std::string &target)
virtual ~BackendCode ()
virtual bool allocateRegister (const SH::ShVariableNodePtr &var)
 Used by a register allocater to signal that a register should be allocated to var.
virtual void freeRegister (const SH::ShVariableNodePtr &var)
 Used by the register allocator to signal that the register used by var can be used by other registers in future allocateRegister() calls.
virtual void upload ()
 Upload this shader code to the GPU.
virtual void bind ()
 Bind this shader code after it has been uploaded.
virtual void updateUniform (const SH::ShVariableNodePtr &uniform)
 Update the value of a uniform parameter after it has changed.
void generate ()
 Actually generate the code, and do register allocation.
std::ostream & print (std::ostream &out)
int label (const SH::ShBasicBlockPtr &block)
void addBasicBlock (const SH::ShBasicBlockPtr &block)
void allocRegs ()
const std::string & target () const

Detailed Description

Definition at line 80 of file ShSmBackend.hpp.


Member Function Documentation

bool ShSm::BackendCode::allocateRegister const SH::ShVariableNodePtr var  )  [virtual]
 

Used by a register allocater to signal that a register should be allocated to var.

Return true iff the allocation succeeded.

Implements SH::ShBackendCode.

Definition at line 90 of file ShSmBackend.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Jul 28 17:37:49 2005 for Sh by  doxygen 1.4.3-20050530