summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2010-01-28 14:56:59 -0800
committerAaron Plattner <aplattner@nvidia.com>2010-01-28 14:57:32 -0800
commit4e2b6f38f640f341ec49336aaaccfb136decbdff (patch)
tree1d89b2990abed683694bbc28e93caa479cca51eb
parent97331f1c8ee7c83f0dd6dff0ecc5bc51bf78022b (diff)
Documentation enhancements for Uoti from ffmpeg.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-rw-r--r--include/vdpau/vdpau.h59
1 files changed, 35 insertions, 24 deletions
diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h
index 93166f2..ef4ce2f 100644
--- a/include/vdpau/vdpau.h
+++ b/include/vdpau/vdpau.h
@@ -2144,6 +2144,22 @@ typedef enum {
/**
* \brief Complete blending operation definition.
+ *
+ * A "blend state" operation controls the math behind certain rendering
+ * operations.
+ *
+ * The blend math is the familiar OpenGL blend math:
+ * \f[
+ * dst.a = equation(blendFactorDstAlpha*dst.a,
+ * blendFactorSrcAlpha*src.a);
+ * \f]
+ * \f[
+ * dst.rgb = equation(blendFactorDstColor*dst.rgb,
+ * blendFactorSrcColor*src.rgb);
+ * \f]
+ *
+ * Note that when equation is MIN or MAX, the blend factors and constants
+ * are ignored, and are treated as if they were 1.0.
*/
typedef struct {
/**
@@ -2237,16 +2253,9 @@ typedef struct {
* blend state will be used for the composite operation. If
* NULL, blending is effectively disabled, which is
* equivalent to a blend equation of ADD, source blend
- * factors of ONE and destination blend factors of ZERO. The
- * blend math is the familiar OpenGL blend math:
- * \f[
- * dst.a = equation(blendFactorDstAlpha*dst.a,
- * blendFactorSrcAlpha*src.a);
- * \f]
- * \f[
- * dst.rgb = equation(blendFactorDstColor*dst.rgb,
- * blendFactorSrcColor*src.rgb);
- * \f]
+ * factors of ONE and destination blend factors of ZERO.
+ * See \ref VdpOutputSurfaceRenderBlendState for details
+ * regarding the mathematics of the blending operation.
* \param[in] flags A set of flags influencing how the
* compositing operation works.
* \arg \ref VDP_OUTPUT_SURFACE_RENDER_ROTATE_0
@@ -2324,16 +2333,9 @@ typedef VdpStatus VdpOutputSurfaceRenderOutputSurface(
* blend state will be used for the composite operation. If
* NULL, blending is effectively disabled, which is
* equivalent to a blend equation of ADD, source blend
- * factors of ONE and destination blend factors of ZERO. The
- * blend math is the familiar OpenGL blend math:
- * \f[
- * dst.a = equation(blendFactorDstAlpha*dst.a,
- * blendFactorSrcAlpha*src.a);
- * \f]
- * \f[
- * dst.rgb = equation(blendFactorDstColor*dst.rgb,
- * blendFactorSrcColor*src.rgb);
- * \f]
+ * factors of ONE and destination blend factors of ZERO.
+ * See \ref VdpOutputSurfaceRenderBlendState for details
+ * regarding the mathematics of the blending operation.
* \param[in] flags A set of flags influencing how the
* compositing operation works.
* \arg \ref VDP_OUTPUT_SURFACE_RENDER_ROTATE_0
@@ -3990,6 +3992,14 @@ typedef VdpStatus VdpPresentationQueueGetTime(
* Using this technique, an application's response to window resizing may
* simply be to render to, and display, a different region of the surface,
* rather than de-/re-allocation of surfaces to match the updated window size.
+ *
+ * Implementations may impose an upper bound on the number of entries
+ * contained by the presentation queue at a given time. This limit is likely
+ * different to the number of \ref VdpOutputSurface "VdpOutputSurface"s that
+ * may be allocated at a given time. This limit applies to entries in the
+ * QUEUED or VISIBLE state only. In other words, entries that have
+ * transitioned from a QUEUED or VISIBLE state to an IDLE state do not count
+ * toward this limit.
*/
typedef VdpStatus VdpPresentationQueueDisplay(
VdpPresentationQueue presentation_queue,
@@ -4008,10 +4018,11 @@ typedef VdpStatus VdpPresentationQueueDisplay(
* that 0 means the surface was never displayed.
* \return VdpStatus The completion status of the operation.
*
- * Note that this API will block indefinitely if queried about
- * the surface most recently added to a presentation queue,
- * since there is no other surface that could possibly replace
- * the queried surface.
+ * Note that this API would block forever if queried about the surface most
+ * recently added to a presentation queue. That is because there would be no
+ * other surface that could possibly replace that surface as the currently
+ * displayed surface, and hence that surface would never become idle. For
+ * that reason, this function will return an error in that case.
*/
typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(
VdpPresentationQueue presentation_queue,