Equalizer
1.6.1
|
The representation of one GPU. More...
#include <pipe.h>
Public Member Functions | |
Pipe (eq::Node *parent) | |
const FrameData & | getFrameData () const |
Public Member Functions inherited from eq::Pipe | |
Pipe (Node *parent) | |
Construct a new pipe. More... | |
void | waitExited () const |
void | notifyMapped () |
void | waitFrameFinished (const uint32_t frameNumber) const |
void | waitFrameLocal (const uint32_t frameNumber) const |
virtual bool | processEvent (const Event &event) |
Process a received event. More... | |
void | startThread () |
void | exitThread () |
void | cancelThread () |
bool | startTransferThread () |
bool | hasTransferThread () const |
virtual void | setDirty (const uint64_t bits) |
co::CommandQueue * | getPipeThreadQueue () |
co::CommandQueue * | getMainThreadQueue () |
co::CommandQueue * | getCommandThreadQueue () |
co::CommandQueue * | getTransferThreadQueue () |
Config * | getConfig () |
const Config * | getConfig () const |
ClientPtr | getClient () |
ServerPtr | getServer () |
bool | isRunning () const |
bool | isStopped () const |
uint32_t | getCurrentFrame () const |
Return the current frame number. More... | |
uint32_t | getFinishedFrame () const |
WindowSystem | getWindowSystem () const |
Return the window system used by this pipe. More... | |
void | setSystemPipe (SystemPipe *pipe) |
Set the system-specific pipe implementation. More... | |
SystemPipe * | getSystemPipe () |
const SystemPipe * | getSystemPipe () const |
void | setComputeContext (ComputeContext *ctx) |
Set the compute-specific context. More... | |
const ComputeContext * | getComputeContext () const |
ComputeContext * | getComputeContext () |
virtual MessagePump * | createMessagePump () |
Create a new MessagePump for this pipe. More... | |
MessagePump * | getMessagePump () |
Frame * | getFrame (const co::ObjectVersion &frameVersion, const Eye eye, const bool output) |
co::QueueSlave * | getQueue (const UUID &queueID) |
void | flushFrames (ObjectManager *om) |
const View * | getView (const co::ObjectVersion &viewVersion) const |
View * | getView (const co::ObjectVersion &viewVersion) |
Public Member Functions inherited from eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor > | |
Node * | getNode () |
const Node * | getNode () const |
const Windows & | getWindows () const |
uint32_t | getPort () const |
Returns the port number of this pipe. More... | |
EQFABRIC_INL void | setPort (const uint32_t port) |
uint32_t | getDevice () const |
Returns the device number of this pipe. More... | |
EQFABRIC_INL void | setDevice (const uint32_t device) |
const PixelViewport & | getPixelViewport () const |
EQFABRIC_INL void | setPixelViewport (const PixelViewport &pvp) |
Set the pipe's pixel viewport. More... | |
void | notifyPixelViewportChanged () |
EQFABRIC_INL PipePath | getPath () const |
EQFABRIC_INL VisitorResult | accept (PipeVisitor &visitor) |
Perform a depth-first traversal of this pipe. More... | |
EQFABRIC_INL VisitorResult | accept (PipeVisitor &visitor) const |
Const-version of accept(). More... | |
virtual EQFABRIC_INL void | backup () |
virtual EQFABRIC_INL void | restore () |
void | create (eq::Window **window) |
void | release (eq::Window *window) |
virtual void | output (std::ostream &) const |
virtual EQFABRIC_INL uint128_t | commit (const uint32_t incarnation=CO_COMMIT_NEXT) |
EQFABRIC_INL void | setIAttribute (const IAttribute attr, const int32_t value) |
int32_t | getIAttribute (const IAttribute attr) const |
bool | isThreaded () const |
Public Member Functions inherited from eq::fabric::Object | |
virtual bool | isDirty () const |
void | setName (const std::string &name) |
Set the name of the object. More... | |
const std::string & | getName () const |
void | setUserData (co::Object *userData) |
Set user-specific data. More... | |
co::Object * | getUserData () |
const co::Object * | getUserData () const |
void | setError (const int32_t error) |
Set an error code why the last operation failed. More... | |
eq::fabric::Error | getError () const |
uint32_t | getTasks () const |
Return the set of tasks this channel might execute in the worst case. More... | |
uint32_t | getSerial () const |
Protected Member Functions | |
virtual | ~Pipe () |
Destruct the pipe. More... | |
virtual eq::WindowSystem | selectWindowSystem () const |
Choose the window system to be used by this pipe. More... | |
virtual bool | configInit (const eq::uint128_t &initID) |
Initialize this pipe. More... | |
virtual bool | configExit () |
De-initialize this pipe. More... | |
virtual void | frameStart (const eq::uint128_t &frameID, const uint32_t frameNumber) |
Start rendering a frame. More... | |
Protected Member Functions inherited from eq::Pipe | |
void | startFrame (const uint32_t frameNumber) |
Start a frame by unlocking all child resources. More... | |
void | releaseFrame (const uint32_t frameNumber) |
Signal the completion of a frame to the parent. More... | |
void | releaseFrameLocal (const uint32_t frameNumber) |
Release the local synchronization of the parent for a frame. More... | |
virtual bool | supportsWindowSystem (const WindowSystem ws) const |
Tests wether a particular windowing system is supported by this pipe and all its windows. More... | |
virtual bool | configInitSystemPipe (const uint128_t &initID) |
Initialize the OS-specific pipe. More... | |
virtual void | frameFinish (const uint128_t &frameID, const uint32_t frameNumber) |
Finish rendering a frame. More... | |
virtual void | frameDrawFinish (const uint128_t &frameID, const uint32_t frameNumber) |
Finish drawing. More... | |
virtual void | attach (const UUID &id, const uint32_t instanceID) |
Protected Member Functions inherited from eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor > | |
Pipe (Node *parent) | |
virtual EQFABRIC_INL void | serialize (co::DataOStream &os, const uint64_t dirtyBits) |
virtual EQFABRIC_INL void | deserialize (co::DataIStream &is, const uint64_t dirtyBits) |
virtual EQFABRIC_INL void | notifyDetach () |
virtual ChangeType | getChangeType () const |
eq::Window * | _findWindow (const UUID &id) |
virtual uint64_t | getRedistributableBits () const |
Protected Member Functions inherited from eq::fabric::Object | |
Object () | |
Construct a new Object. More... | |
virtual | ~Object () |
Destruct the object. More... | |
virtual bool | hasMasterUserData () |
virtual uint32_t | getUserDataLatency () const |
void | setTasks (const uint32_t tasks) |
void | postRemove (Object *child) |
virtual void | removeChild (const UUID &) |
template<class C , class S > | |
void | commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChild (C *child, const uint32_t incarnation) |
template<class C , class S > | |
void | commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChildren (const std::vector< C * > &children, const uint32_t incarnation) |
template<class C > | |
void | syncChildren (const std::vector< C * > &children) |
template<class P , class C > | |
void | releaseChildren (const std::vector< C * > &children) |
bool | _cmdSync (co::ICommand &command) |
Additional Inherited Members | |
Public Types inherited from eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor > | |
typedef std::vector< eq::Window * > | Windows |
A vector of pointers to windows. More... | |
enum | IAttribute |
Pipe attributes. More... | |
Public Types inherited from eq::fabric::Object | |
enum | DirtyBits { DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR } |
The changed parts of the object since the last pack(). More... | |
Static Public Member Functions inherited from eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor > | |
static EQFABRIC_INL const std::string & | getIAttributeString (const IAttribute attr) |
Protected Types inherited from eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor > | |
enum | DirtyBits |
The representation of one GPU.
The pipe object is responsible for maintaining GPU-specific and frame-specific data. The identifier passed by the configuration contains the version of the frame data corresponding to the rendered frame. The pipe's start frame callback synchronizes the thread-local instance of the frame data to this version.
Definition at line 47 of file share/Equalizer/examples/eqPly/pipe.h.
|
inlineprotectedvirtual |
Destruct the pipe.
Reimplemented from eq::Pipe.
Definition at line 55 of file share/Equalizer/examples/eqPly/pipe.h.
|
protectedvirtual |
De-initialize this pipe.
Reimplemented from eq::Pipe.
Definition at line 57 of file eqPly/pipe.cpp.
References eq::Pipe::configExit(), eq::Pipe::getConfig(), and eq::Config::unmapObject().
|
protectedvirtual |
Initialize this pipe.
initID | the init identifier. |
Reimplemented from eq::Pipe.
Definition at line 45 of file eqPly/pipe.cpp.
References eq::Pipe::configInit(), eq::Pipe::getConfig(), and eq::Config::mapObject().
|
protectedvirtual |
Start rendering a frame.
Called once at the beginning of each frame, to do per-frame updates of pipe-specific data, for example updating the rendering engine. Waits for the node to start the frame, unless the thread model is async. If the thread model is async, the local synchronization is released immediately.
This method has to call startFrame().
frameID | the per-frame identifier. |
frameNumber | the frame to start. |
Reimplemented from eq::Pipe.
Definition at line 65 of file eqPly/pipe.cpp.
References eq::Pipe::frameStart().
|
protectedvirtual |
Choose the window system to be used by this pipe.
This function determines which of the supported windowing systems is used by this pipe instance.
Reimplemented from eq::Pipe.
Definition at line 39 of file eqPly/pipe.cpp.
References eq::Pipe::getConfig().