21.06.2014 Views

OpenGL 4.1 (Compatibility Profile) - July 25, 2010

OpenGL 4.1 (Compatibility Profile) - July 25, 2010

OpenGL 4.1 (Compatibility Profile) - July 25, 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

D.3. PROPAGATING CHANGES TO OBJECTS 558<br />

D.3.1<br />

Determining Completion of Changes to an object<br />

The contents of an object T are considered to have been changed once a command<br />

such as described in section D.3 has completed. Completion of a command 1 may<br />

be determined either by calling Finish, or by calling FenceSync and executing a<br />

WaitSync command on the associated sync object. The second method does not<br />

require a round trip to the GL server and may be more efficient, particularly when<br />

changes to T in one context must be known to have completed before executing<br />

commands dependent on those changes in another context.<br />

D.3.2<br />

Definitions<br />

In the remainder of this section, the following terminology is used:<br />

D.3.3<br />

• An object T is directly attached to the current context if it has been bound to<br />

one of the context binding points. Examples include but are not limited to<br />

bound textures, bound framebuffers, bound vertex arrays, and current programs.<br />

• T is indirectly attached to the current context if it is attached to another object<br />

C, referred to as a container object, and C is itself directly or indirectly<br />

attached. Examples include but are not limited to renderbuffers or textures<br />

attached to framebuffers; buffers attached to vertex arrays; and shaders attached<br />

to programs.<br />

• An object T which is directly attached to the current context may be reattached<br />

by re-binding T at the same bind point. An object T which is indirectly<br />

attached to the current context may be re-attached by re-attaching the<br />

container object C to which T is attached.<br />

Corollary: re-binding C to the current context re-attaches C and its hierarchy<br />

of contained objects.<br />

Rules<br />

The following rules must be obeyed by all GL implementations:<br />

Rule 1 If the contents of an object T are changed in the current context while T is<br />

directly or indirectly attached, then all operations on T will use the new contents<br />

in the current context.<br />

1 The GL already specifies that a single context processes commands in the order they are received.<br />

This means that a change to an object in a context at time t must be completed by the time a command<br />

issued in the same context at time t + 1 uses the result of that change.<br />

<strong>OpenGL</strong> <strong>4.1</strong> (<strong>Compatibility</strong> <strong>Profile</strong>) - <strong>July</strong> <strong>25</strong>, <strong>2010</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!