Hash :
b7a5714f
        
        Author :
  
        
        Date :
2023-03-31T00:00:00
        
      
Add polygon mode extension stubs * Added NV_polygon_mode * Specified a portable polygon mode extension implementable on all ANGLE backends Bug: angleproject:1791 Bug: angleproject:8132 Change-Id: I018aaaf1fb43ec16910859b152049e02169ede91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492684 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
Name
    ANGLE_polygon_mode
Name Strings
    GL_ANGLE_polygon_mode
Status
    Draft
Version
    Last Modified Date: March 31, 2023
    Revision: 1
Number
    OpenGL ES Extension XX
Dependencies
    This extension is written against the OpenGL ES 3.1 (November 3, 2016)
    specification, but can apply to earlier versions.
Overview
    Rendering triangle primitives as lines, i.e., in a wireframe mode,
    is useful for debugging GPU applications.
    This effect cannot be achieved by drawing the same triangle primitives with
    the LINES mode due to differences in primitive assembly and rasterization.
    Moreover, polygon offset state is ignored for line primitives thus making
    the wireframe overlay even more difficult to be rendered correctly.
    This extension has the same semantics as NV_polygon_mode but the point
    rasterization mode is omitted to support the extension on layered OpenGL ES
    implementations, such as ANGLE, when the underlying API does not support
    point rasterization mode.
New Procedures and Functions
    void PolygonModeANGLE(enum face, enum mode);
New Tokens
    Accepted by the <pname> parameter to GetIntegerv:
        POLYGON_MODE_ANGLE                          0x0B40
    Accepted by the <pname> parameters of Enable, Disable and IsEnabled:
        POLYGON_OFFSET_LINE_ANGLE                   0x2A02
    Returned by GetIntegerv, GetFloatv, and GetInteger64v when <pname> is
    POLYGON_MODE_ANGLE:
        LINE_ANGLE                                  0x1B01
        FILL_ANGLE                                  0x1B02
New State
    Modify Table 20.6, Rasterization
    Add:
                                          Initial
    Get Value                 Type Get Command  Value     Description                    Sec.
    -----------------------   ---- ----------- ---------- ---------------------------    ------
    POLYGON_MODE_ANGLE         E   GetIntegerv FILL_ANGLE Polygon rasterization mode     13.5.1pm
                                                          (front & back)
    POLYGON_OFFSET_LINE_ANGLE  B   IsEnabled   FALSE      Polygon offset enable for      13.5.2
                                                          LINE_ANGLE mode rasterization
    Change description for POLYGON_OFFSET_FILL to "Polygon offset enable for
    FILL_ANGLE mode rasterization"
Errors
    An INVALID_ENUM error is generated by PolygonModeANGLE if <face> is not
    FRONT_AND_BACK.
    An INVALID_ENUM error is generated by PolygonModeANGLE if <mode> is not
    one of LINE_ANGLE or FILL_ANGLE.
Revision History
    3/31/2023   First revision