Hash :
2a018158
        
        Author :
  
        
        Date :
2018-06-08T15:59:26
        
      
Change Validation For Indexed Draw Without ELEMENT_ARRAY_BUFFER Changed WebGL Validation to return INVALID_OPERATION any time an indexed draw call is made without a bound ELEMENT_ARRAY_BUFFER. Spec was changed to no longer require count > 0 in order to cause error. Make same spec change to GL_ANGLE_client_arrays extension. BUG:angleproject:2639 Change-Id: I23963f357119d081890aa5387b2863e1d42b92a5 Reviewed-on: https://chromium-review.googlesource.com/1093984 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
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 90 91 92 93 94 95 96 97 98 99 100 101 102 103
Name
    ANGLE_client_arrays
Name Strings
    GL_ANGLE_client_arrays
Contributors
    Geoff Lang
Contact
    Geoff Lang (geofflang 'at' google.com)
Notice
    Copyright (c) 2016 The Khronos Group Inc. Copyright terms at
        http://www.khronos.org/registry/speccopyright.html
Status
    Draft
Version
    Version 1, February 13, 2016
Number
    OpenGL ES Extension #??
Dependencies
    Requires OpenGL ES 2.0
    Written against the OpenGL ES 2.0 specification.
Overview
    This extension allows the OpenGL context to indicate if it supports drawing
    with client-side vertex or index data.  Client-side can be very inefficient
    and unsafe, it is convenient for some users to completely disable its usage.
New Procedures and Functions
    None
New Tokens
    Accepted by the <cap> parameter to IsEnabled and the <pname> parameter to
    GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v:
    CLIENT_ARRAYS_ANGLE                 0x93AA
Additions to the OpenGL ES Specification
    Add after paragraph 3 of section 2.8 "Vertex Arrays":
    If VertexAttribPointer is called while zero is bound to the ARRAY_BUFFER
    buffer object binding point, the pointer argument is not NULL, and
    CLIENT_ARRAYS_ANGLE is TRUE, an INVALID_OPERATION error is generated.
    Add to the end of section 2.9.1 "Vertex Arrays in Buffer Objects":
    Rendering commands that draw more than 0 primitives using enabled vertex
    attributes with no buffer bound when CLIENT_ARRAYS_ANGLE is TRUE generate
    an INVALID_OPERATION error.
    Add to the end of section 2.9.2 "Array Indices in Buffer Objects":
    Rendering commands that draw using index data when no buffer is bound to
    the ELEMENT_ARRAY_BUFFER binding point when CLIENT_ARRAYS_ANGLE is TRUE
    generate an INVALID_OPERATION error.
New State
    Modify Table 6.22, Miscellaneous
    Add:
                                          Initial
    Get Value            Type Get Command Value   Description
    -------------------- ---- ----------- ------- ---------------------
    CLIENT_ARRAYS_ANGLE  B    IsEnabled   TRUE    Client arrays enabled
Conformance Tests
    TBD
Issues
    None
Revision History
    Rev.    Date         Author                 Changes
    ----  -------------  ---------              ----------------------------------------
      2   Jun 12, 2018   Brandon Jones (Intel)  Remove primitives > 0 requirement to error
                                                when doing an indexed draw with no bound
                                                ELEMENT_ARRAY_BUFFER
      1   Feb 13, 2016   geofflang              Initial version