blob: cb33d89bae5fc2d383fd2ea18302d743737416cf [file] [log] [blame]
Name
SGIX_swap_group
Name Strings
GLX_SGIX_swap_group
Version
$Date: 1996/07/22 06:28:45 $ $Revision: 1.9 $
Number
91
Dependencies
SGIX_swap_control affects the definition of this extension
Overview
This extension provides the capability to synchronize the buffer swaps
of a group of GLX drawables. A swap group is created, and drawables are
added as members to the swap group. Buffer swaps to members of the swap
group will then take place concurrently.
This extension extends the set of conditions that must be met before
a buffer swap can take place.
Dependencies
SGIX_swap_control affects the definition of this extension
Issues
* Do we need a query to ask whether a window is in a group?
New Procedures and Functions
void JoinSwapGroupSGIX(Display *dpy,
GLXDrawable drawable,
GLXDrawable member);
New Tokens
none
Additions to the GLX Specification
Add to section 3.2.6, Double Buffering:
JoinSwapGroupSGIX adds <drawable> to the swap group containing <member> as
a member. If <drawable> is already a member of a different group, it is
implicitly removed from that group first. If <member> is None, <drawable>
is removed from the swap group that it belongs to, if any.
A swap group is referenced by naming any drawable in the group; there is no
other way to refer to a group.
Before a buffer swap can take place, a set of conditions must be
satisfied. The conditions are defined in terms of the notions of when
a drawable is ready to swap and when a group is ready to swap.
GLX drawables except windows are always ready to swap.
When a window is unmapped, it is always ready.
When a window is mapped, it is ready when all of the following are true:
1. A buffer swap command has been issued for it.
2. Its swap interval has elapsed.
A group is ready when the following is true:
1. All windows in the group are ready.
All of the following must be satisfied before a buffer swap for a window
can take place:
1. The window is ready.
2. If the window belongs to a group, the group is ready.
Buffer swaps for all windows in a swap group will take place concurrently
after the conditions are satisfied for every window in the group.
A group exists until the last remaining drawable leaves the group.
JoinSwapGroupSGIX is part of the X stream.
Errors
JoinSwapGroupSGIX generates GLXBadDrawable if <drawable> is an invalid
GLX drawable, or if <member> is an invalid GLX drawable.
New State
Get Value Get Command Type Value Attrib
--------- ----------- ---- ------- ------
<whether window is in a group> ?? B False
New Implementation Dependent State
None