

Public Types | |
| typedef ShBackend * | InstantiateEntryPoint () |
| typedef int | TargetCostEntryPoint (const std::string &) |
| typedef lt_dlhandle_struct * | LibraryHandle |
|
typedef std::map< std::string, ShPointer< LibraryInformation > > | LibraryMap |
|
typedef std::map< std::string, ShPointer< ShBackend > > | BackendMap |
| typedef std::set< std::string > | BackendSet |
Public Member Functions | |
| virtual | ~ShBackend () |
| std::string | name () const |
| Short name of the backend (e.g. | |
| std::string | version () const |
| Backend-specific version number. | |
| virtual ShBackendCodePtr | generate_code (const std::string &target, const ShProgramNodeCPtr &shader)=0 |
| Generate the backend code for a particular shader. | |
| virtual ShBackendSetPtr | generate_set (const ShProgramSet &s) |
| virtual void | execute (const ShProgramNodeCPtr &program, ShStream &dest)=0 |
| Execute a stream program, if supported. | |
| virtual void | unbind_all_programs () |
| Unbind all programs bound under the backend. | |
Static Public Member Functions | |
| static void | unbind_all_backends () |
| Unbind all programs bound under all backends. | |
| static bool | use_backend (const std::string &backend_name) |
| Add a backend to the list of selected backends. | |
| static bool | have_backend (const std::string &backend_name) |
| Checks whether the backend is available or not. | |
| static void | clear_backends () |
| Clear the list of selected backends. | |
| static std::string | target_handler (const std::string &target, bool restrict_to_selected) |
| Find the name of the best backend that handles the given target. | |
| static ShPointer< ShBackend > | get_backend (const std::string &target) |
| Returns a backend that can run the specified target. | |
| static std::list< std::string > | derived_targets (const std::string &target) |
| Returns a list of targets derived from a generic target name. | |
| static void | register_backend (const std::string &backend_name, InstantiateEntryPoint *instantiate, TargetCostEntryPoint *target_cost) |
| Add a backend to the list of loaded backends. | |
Protected Member Functions | |
| ShBackend (const std::string &name, const std::string &version) | |
Classes | |
| class | LibraryInformation |
Definition at line 102 of file ShBackend.hpp.
|
|
Returns a list of targets derived from a generic target name. e.g. "arb:vertex, glsl:vertex" is returned when the generic target is "gpu:vertex". Referenced by SH::ShContext::bound_program(), and SH::ShProgramNode::is_compiled(). |
|
|
Short name of the backend (e.g. "arb", "cc", "glsl") Definition at line 108 of file ShBackend.hpp. |
1.4.6