summaryrefslogtreecommitdiffstats
path: root/docs/MESA_swap_frame_usage.spec
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2013-04-12 12:41:50 +0100
committerBrian Paul <[email protected]>2013-04-17 08:48:14 -0600
commitcf9bf1d4a6dc3b26e2aa192517611eba3aa5be00 (patch)
tree558f2af22eee37a07f256fff62dbec45b7bd9d99 /docs/MESA_swap_frame_usage.spec
parent5fd3b3b0857fc96b5e53a9a8bc3f11ddb3dc0ff7 (diff)
docs: move specs to a separate folder
Handle legacy/obsolete specs as well List all specs in extensions.html Mark 'OLD' extensions as obsolete in extensions.html Update the spec location in old relnotes Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'docs/MESA_swap_frame_usage.spec')
-rw-r--r--docs/MESA_swap_frame_usage.spec201
1 files changed, 0 insertions, 201 deletions
diff --git a/docs/MESA_swap_frame_usage.spec b/docs/MESA_swap_frame_usage.spec
deleted file mode 100644
index 5023eadd8a1..00000000000
--- a/docs/MESA_swap_frame_usage.spec
+++ /dev/null
@@ -1,201 +0,0 @@
-Name
-
- MESA_swap_frame_usage
-
-Name Strings
-
- GLX_MESA_swap_frame_usage
-
-Contact
-
- Ian Romanick, IBM, idr at us.ibm.com
-
-Status
-
- Deployed in DRI drivers post-XFree86 4.3.
-
-Version
-
- Date: 5/1/2003 Revision: 1.1
-
-Number
-
- ???
-
-Dependencies
-
- GLX_SGI_swap_control affects the definition of this extension.
- GLX_MESA_swap_control affects the definition of this extension.
- GLX_OML_sync_control affects the definition of this extension.
-
- Based on WGL_I3D_swap_frame_usage version 1.3.
-
-Overview
-
- This extension allows an application to determine what portion of the
- swap period has elapsed since the last swap operation completed. The
- "usage" value is a floating point value on the range [0,max] which is
- calculated as follows:
-
- td
- percent = ----
- tf
-
- where td is the time measured from the last completed buffer swap (or
- call to enable the statistic) to when the next buffer swap completes, tf
- is the entire time for a frame which may be multiple screen refreshes
- depending on the swap interval as set by the GLX_SGI_swap_control or
- GLX_OML_sync_control extensions.
-
- The value, percent, indicates the amount of time spent between the
- completion of the two swaps. If the value is in the range [0,1], the
- buffer swap occurred within the time period required to maintain a
- constant frame rate. If the value is in the range (1,max], a constant
- frame rate was not achieved. The value indicates the number of frames
- required to draw.
-
- This definition of "percent" differs slightly from
- WGL_I3D_swap_frame_usage. In WGL_I3D_swap_frame_usage, the measurement
- is taken from the completion of one swap to the issuance of the next.
- This representation may not be as useful as measuring between
- completions, as a significant amount of time may pass between the
- issuance of a swap and the swap actually occurring.
-
- There is also a mechanism to determine whether a frame swap was
- missed.
-
-New Procedures and Functions
-
- int glXGetFrameUsageMESA(Display *dpy,
- GLXDrawable drawable,
- float *usage)
-
- int glXBeginFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable)
-
- int glXEndFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable)
-
- int glXQueryFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable,
- int64_t *swapCount,
- int64_t *missedFrames,
- float *lastMissedUsage)
-
-New Tokens
-
- None
-
-Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
-
- None
-
-Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
-
- None
-
-Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
-and the Framebuffer)
-
- None
-
-Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
-
- None
-
-Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
-
- None
-
-Additions to the GLX 1.3 Specification
-
- The frame usage is measured as the percentage of the swap period elapsed
- between two buffer-swap operations being committed. In unextended GLX the
- swap period is the vertical refresh time. If SGI_swap_control or
- MESA_swap_control are supported, the swap period is the vertical refresh
- time multiplied by the swap interval (or one if the swap interval is set
- to zero).
-
- If OML_sync_control is supported, the swap period is the vertical
- refresh time multiplied by the divisor parameter to
- glXSwapBuffersMscOML. The frame usage in this case is less than 1.0 if
- the swap is committed before target_msc, and is greater than or equal to
- 1.0 otherwise. The actual usage value is based on the divisor and is
- never less than 0.0.
-
- int glXBeginFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable,
- float *usage)
-
- glXGetFrameUsageMESA returns a floating-point value in <usage>
- that represents the current swap usage, as defined above.
-
- Missed frame swaps can be tracked by calling the following function:
-
- int glXBeginFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable)
-
- glXBeginFrameTrackingMESA resets a "missed frame" count and
- synchronizes with the next frame vertical sync before it returns.
- If a swap is missed based in the rate control specified by the
- <interval> set by glXSwapIntervalSGI or the default swap of once
- per frame, the missed frame count is incremented.
-
- The current missed frame count and total number of swaps since
- the last call to glXBeginFrameTrackingMESA can be obtained by
- calling the following function:
-
- int glXQueryFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable,
- int64_t *swapCount,
- int64_t *missedFrames,
- float *lastMissedUsage)
-
- The location pointed to by <swapCount> will be updated with the
- number of swaps that have been committed. This value may not match the
- number of swaps that have been requested since swaps may be
- queued by the implementation. This function can be called at any
- time and does not synchronize to vertical blank.
-
- The location pointed to by <missedFrames> will contain the number
- swaps that missed the specified frame. The frame usage for the
- last missed frame is returned in the location pointed to by
- <lastMissedUsage>.
-
- Frame tracking is disabled by calling the function
-
- int glXEndFrameTrackingMESA(Display *dpy,
- GLXDrawable drawable)
-
- This function will not return until all swaps have occurred. The
- application can call glXQueryFrameTrackingMESA for a final swap and
- missed frame count.
-
- If these functions are successful, zero is returned. If the context
- associated with dpy and drawable is not a direct context,
- GLX_BAD_CONTEXT is returned.
-
-Errors
-
- If the function succeeds, zero is returned. If the function
- fails, one of the following error codes is returned:
-
- GLX_BAD_CONTEXT The current rendering context is not a direct
- context.
-
-GLX Protocol
-
- None. This extension only extends to direct rendering contexts.
-
-New State
-
- None
-
-New Implementation Dependent State
-
- None
-
-Revision History
-
- 1.1, 5/1/03 Added contact information.
- 1.0, 3/17/03 Initial version based on WGL_I3D_swap_frame_usage.