15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_draw_transform_feedback
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_EXT_draw_transform_feedback
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Mark Callow (khronos 'at' callow.im)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2016 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciStatus
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Complete
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciIP Status
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    No known IP issues
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciVersion
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    Date: Oct 14, 2016
295bd8deadSopenharmony_ci    Revision: 2
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ciNumber
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ci    OpenGL ES Extension #272
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciDependencies
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    Requires OpenGL ES 3.2.
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    Written based on the wording of the OpenGL ES 3.2 specification
405bd8deadSopenharmony_ci    (June 15th, 2016).
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciOverview
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    This extension adds the DrawTransformFeedback commands. These
455bd8deadSopenharmony_ci    were omitted from OpenGL ES 3.0 because the number of vertices
465bd8deadSopenharmony_ci    captured by transform feedback could never be different than
475bd8deadSopenharmony_ci    the number drawn during capture. The addition of geometry shaders
485bd8deadSopenharmony_ci    in OpenGL ES 3.2 broke that assumption but, due to an oversight,
495bd8deadSopenharmony_ci    DrawTransformFeedback et al were not reinstated. The
505bd8deadSopenharmony_ci    DrawTransformFeedback commands unlock the full potential of
515bd8deadSopenharmony_ci    geometry shaders.
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ciIssues
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    None
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ciNew Procedures and Functions
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci   void DrawTransformFeedbackEXT( enum mode, uint id );
605bd8deadSopenharmony_ci   void DrawTransformFeedbackInstancedEXT( enum mode, uint id, sizei instancecount );
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ciNew Tokens
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    None
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ciAdditions to Chapter 1-11 of the OpenGL ES 3.2 specification
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci    None
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ciAdditions to Chapter 12 of the OpenGL 3.2 Specification (Fixed-
715bd8deadSopenharmony_ciFunction Vertex Post-Processing)
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    Add new section 12.1.3 Transform Feedback Draw Operations
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    When transform feedback is active, the values of output variables
765bd8deadSopenharmony_ci    or transformed vertex attributes are captured into the buffer
775bd8deadSopenharmony_ci    objects attached to the current transform feedback object.
785bd8deadSopenharmony_ci    After transform feedback is complete, subsequent rendering
795bd8deadSopenharmony_ci    operations may use the contents of these buffer objects (see
805bd8deadSopenharmony_ci    section 6). The number of vertices captured during transform
815bd8deadSopenharmony_ci    feedback is stored in the transform feedback object and may be
825bd8deadSopenharmony_ci    used in conjunction with the commands
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci        void DrawTransformFeedbackEXT( enum mode, uint id );
855bd8deadSopenharmony_ci        void DrawTransformFeedbackInstancedEXT( enum mode, uint id,
865bd8deadSopenharmony_ci           sizei instancecount );
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    to replay the captured vertices.
895bd8deadSopenharmony_ci        Calling DrawTransformFeedbackInstancedEXT is equivalent
905bd8deadSopenharmony_ci    to calling DrawArraysInstanced with mode as specified, first
915bd8deadSopenharmony_ci    set to zero, count set to the number of vertices captured the
925bd8deadSopenharmony_ci    last time transform feedback was active on the transform feedback
935bd8deadSopenharmony_ci    object named id, and instancecount as specified.
945bd8deadSopenharmony_ci        Calling DrawTransformFeedbackEXT is equivalent to calling
955bd8deadSopenharmony_ci    DrawTransformFeedbackInstancedEXT with instancecount set to
965bd8deadSopenharmony_ci    one.
975bd8deadSopenharmony_ci        Note that the vertex count is from the number of vertices
985bd8deadSopenharmony_ci    recorded during the transform feedback operation. If no
995bd8deadSopenharmony_ci    outputs are recorded, the corresponding vertex count will be
1005bd8deadSopenharmony_ci    zero.
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci    No error is generated if the transform feedback object named
1035bd8deadSopenharmony_ci    by id is active; the vertex count used for the rendering operation
1045bd8deadSopenharmony_ci    is set by the previous EndTransformFeedback command.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    Errors
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if id is not the name of a
1095bd8deadSopenharmony_ci    transform feedback object.
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if instancecount is negative.
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if EndTransformFeedback
1145bd8deadSopenharmony_ci    has never been called while the object named by id was bound.
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ciAdditions to Chapters 13-21 of the OpenGL 3.2 Specification
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    None
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ciAdditions to the EGL/AGL/GLX/WGL Specifications
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci    None
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ciGLX Protocol
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    n/a
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ciNew State
1295bd8deadSopenharmony_ci
1305bd8deadSopenharmony_ci    None
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciRevision History
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    Rev.  Date     Author     Changes
1355bd8deadSopenharmony_ci    ----  -------- ---------  -----------------------------------------
1365bd8deadSopenharmony_ci      0   09/14/16 markc      Initial draft.
1375bd8deadSopenharmony_ci      1   09/27/16 markc      Add suffices. Remove vestiges of
1385bd8deadSopenharmony_ci                              "stream". Change overview to plural.
1395bd8deadSopenharmony_ci      2   10/14/16 markc      Change to EXT.
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci# vim:ai:ts=4:sts=4:sw=4:expandtab:textwidth=70
142