1. 14 Sep, 2016 3 commits
  2. 13 Sep, 2016 5 commits
  3. 12 Sep, 2016 4 commits
    • Add newlines to error messages. · e79c2d1f
      Yuly Novikov authored
      Looks like this breaks parsing tests list in gtest runner,
      which causes deqp_gles2 to fail on Nexus 5X swarmed bot.
      
      Driveby fix of HowToMakeChanges md format.
      
      BUG=angleproject:1471
      
      Change-Id: I6cfa2d9287385aabf2aee47521e5e55e309831c0
      Reviewed-on: https://chromium-review.googlesource.com/383813Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Disallow multiple locations on output variables · 87d410c8
      Olli Etuaho authored
      GLSL ES specs from version 3.00 to 3.20 all mention that output layout
      location qualifier may appear at most once within a declaration.
      Enforce this rule when parsing shaders.
      
      Also set max draw buffers to 8 when compiling GLSL ES >= 3.00 in the
      qualification order tests and shader translator sample, so that
      parsing locations > 0 will succeed.
      
      BUG=angleproject:1505
      TEST=angle_unittests
      
      Change-Id: I50fe409041385f5e10e695f43dc3a572433e9772
      Reviewed-on: https://chromium-review.googlesource.com/381211Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Promote unary nodes automatically · a223430c
      Olli Etuaho authored
      Unary nodes now get their type set automatically based on the
      operation and operand. The operand should only be changed to another
      of the same type after the node is constructed. The operation can't
      be changed on unary and binary nodes after they've been constructed.
      
      BUG=angleproject:1490
      TEST=angle_unittests
      
      Change-Id: Ib1ea3dcb1162261966c02d5f03d8091cf647fac1
      Reviewed-on: https://chromium-review.googlesource.com/378935Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Promote and fold indexing nodes similarly to other binary ops · 3272a6d3
      Olli Etuaho authored
      Indexing nodes now get their type set in TIntermBinary::promote, same
      as math and logic ops. They are also constant folded through
      TIntermBinary::fold() instead of having special functions for constant
      folding them in ParseContext.
      
      Index nodes for struct and interface block member access now always
      have integer type, instead of sometimes having the type of the field
      they were used to access.
      
      Usage of TIntermBinary constructor is cleaned up so only the
      constructor that takes in left and right operands is used. The type
      of TIntermBinary nodes is always determined automatically.
      
      Together these changes make the code considerably cleaner.
      
      Note that the code for constant folding for array indexing is actually
      never hit because constant folding array constructors is still
      intentionally disabled in the code.
      
      BUG=angleproject:1490
      TEST=angle_unittests
      
      Change-Id: Ifcec45257476cdb0d495c7d72e3cf2f83388e8c5
      Reviewed-on: https://chromium-review.googlesource.com/377961Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  4. 09 Sep, 2016 1 commit
  5. 08 Sep, 2016 7 commits
  6. 07 Sep, 2016 3 commits
  7. 06 Sep, 2016 11 commits
  8. 05 Sep, 2016 1 commit
  9. 02 Sep, 2016 3 commits
  10. 01 Sep, 2016 2 commits
    • Fix standalone build. · d08163d7
      Jamie Madill authored
      BUG=angleproject:1471
      
      Change-Id: I52aadeb58f75d5b944421bd0cd4a5dddead3f6d1
      Reviewed-on: https://chromium-review.googlesource.com/379916
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Change grammar to support features from es31 · 70866b89
      Martin Radev authored
      The grammar has been changed so that ES31 grammar is followed more
      closely. The ES31 grammar is not fully supported, only functionality
      related to qualifier enumeration is added.
      
      The ParseContext is changed so that type qualifiers can be now joined
      together (i.e. like layout qualifiers). This will allow enumeration of
      multiple storage qualifiers (i.e. uniform readonly coherent) which is
      essential for support of ES31 features.
      
      Some of the error checks had to be moved closer to the root of the
      parse tree since some of the information about the expression might be
      missing.
      
      Unfortunately, as there is no explicit ordering imposed by the
      grammar, additional checks for proper order of qualifiers had to be
      added. I also included unit tests which test against malformed
      shaders.
      
      BUG=angleproject:1442
      
      TEST=angle_end2end_tests
      TEST=angle_unittests
      TEST=dEQP-GLES3.functional.shaders.*precision*
      TEST=dEQP-GLES3.functional.shaders.*function*
      TEST=dEQP-GLES2.functional.shaders.*
      
      Change-Id: Ib3653a1ed1bfced099a6b2cbf35a7cd480c9100d
      Reviewed-on: https://chromium-review.googlesource.com/362940
      Commit-Queue: Corentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>