1. 15 Apr, 2015 8 commits
    • Disable macro redefinition warning for vs2015 · a825fdce
      Scott Graham authored
      From flexint.h (because VS2015 has some of c99, but doesn't
      define __STDC_VERSION__ yet.
      
      Change-Id: Iff82f4c72dd816dcc1959abb218442a848ea592a
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): error C2220: warning treated as error - no 'object' file generated
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): warning C4005: 'INT8_MIN': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(83): note: see previous definition of 'INT8_MIN'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(49): warning C4005: 'INT16_MIN': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(86): note: see previous definition of 'INT16_MIN'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(50): warning C4005: 'INT32_MIN': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(89): note: see previous definition of 'INT32_MIN'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(52): warning C4005: 'INT8_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(92): note: see previous definition of 'INT8_MAX'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(53): warning C4005: 'INT16_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(95): note: see previous definition of 'INT16_MAX'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(54): warning C4005: 'INT32_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(98): note: see previous definition of 'INT32_MAX'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(56): warning C4005: 'UINT8_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(101): note: see previous definition of 'UINT8_MAX'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(57): warning C4005: 'UINT16_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(104): note: see previous definition of 'UINT16_MAX'
      c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(58): warning C4005: 'UINT32_MAX': macro redefinition
      d:\src\cr3\src\out\debug\glslang_lex.cpp(107): note: see previous definition of 'UINT32_MAX'
      Reviewed-on: https://chromium-review.googlesource.com/265594Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Add support for implicit array size · 376f1b5d
      Olli Etuaho authored
      ESSL3 introduces implicit array size that is determined automatically
      according to the initializer. Implicit sizes are resolved when parsing
      constructors and when initializers are evaluated, so ANGLE's AST will not
      contain implicit sizes.
      
      Declarations where there are two differently sized arrays with the same
      implicitly sized type, for example:
      
      float[] a = float[](0.0), b = float[](0.0, 1.0);
      
      will be transformed into declarations where the two arrays don't share
      the array size like this:
      
      float a[1] = float[1](0.0), float b[2] = float[2](0.0, 1.0);
      
      so they are not a problem.
      
      Unlike sized arrays, implicitly sized arrays don't have a size limit
      enforced by the parser.
      
      Include a test that verifies that non-initialization of an implicitly
      sized array defined using ESSL3 type syntax is caught by the parser.
      
      Additionally tested with WebGL 2 test
      sdk/tests/deqp/data/gles3/shaders/arrays.html
      
      TEST=WebGL 2 conformance tests, angle_unittests
      BUG=angleproject:941
      
      Change-Id: Ib55b7601848102a103af9db284a80f09abaeb021
      Reviewed-on: https://chromium-review.googlesource.com/265653Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
    • Add parser support for initializing sized arrays · 3875ffd1
      Olli Etuaho authored
      Still missing from this patch: HLSL output, implicitly sized arrays.
      
      Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
      
      TEST=WebGL 2 conformance tests
      BUG=angleproject:941
      
      Change-Id: I900f2af843fd8046f23dd4b77352e77026bbba84
      Reviewed-on: https://chromium-review.googlesource.com/265652Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
    • Unify declaration parsing code · e7847b08
      Olli Etuaho authored
      Remove the unused identifierSymbol parameter from parseSingleDeclarator
      and unify the ordering of parameters and the code style of different
      declaration and declarator parsing functions. Some minor functional
      changes to array size handling are done mainly to unify error message
      generation. There's soon going to be more of these functions, so it's
      good to be systematic.
      
      TEST=angle_unittests, WebGL conformance tests
      BUG=angleproject:941
      
      Change-Id: I03b0220de93ca5719fdb7c1790a5999b8cb5b225
      Reviewed-on: https://chromium-review.googlesource.com/265202Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
    • Add tests for disallowing arrays of arrays · 33e98913
      Olli Etuaho authored
      TEST=angle_unittests
      BUG=angleproject:941
      
      Change-Id: Ie45a8a581bf2931ecccfc41b26db49a257fcaf1d
      Reviewed-on: https://chromium-review.googlesource.com/265201Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Improve handling of declarator lists with empty declarations · fa33d580
      Olli Etuaho authored
      The code previously failed to check for correctness of layout qualifiers
      in case a declarator followed an empty declaration, like so:
      
      layout(packed) uniform float, a;
      
      Fix this by running all necessary declaration checks also for declarators
      which follow an empty declaration.
      
      structQualifierErrorCheck is merged into singleDeclarationErrorCheck.
      
      TEST=angle_unittests, WebGL conformance tests
      BUG=angleproject:969
      
      Change-Id: Idcb0673e3bcf64087744ff0d260f51a7546f024a
      Reviewed-on: https://chromium-review.googlesource.com/264812Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Fix structQualifierErrorCheck calls in glslang.y · e16eae36
      Olli Etuaho authored
      structQualifierErrorCheck is called incorrectly in glslang.y. Remove one
      unnecessary call entirely and change another call to samplerErrorCheck.
      This will enable further changes to merge structQualifierErrorCheck into
      singleDeclarationErrorCheck.
      
      TEST=angle_unittests
      BUG=angleproject:969
      
      Change-Id: Ib43233e275fbf4db7e5fda6df6b45a655bdee8a2
      Reviewed-on: https://chromium-review.googlesource.com/265200Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Add support for arrays as function return values in GLSL output · ab6fc6a2
      Olli Etuaho authored
      Output the array brackets and the array size correctly when a function's
      return value type is array.
      
      Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
      
      BUG=angleproject:971
      TEST=WebGL 2 conformance tests
      
      Change-Id: I63aa8c54d2696f65351b23acb0749a487298ddfb
      Reviewed-on: https://chromium-review.googlesource.com/265410Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  2. 14 Apr, 2015 19 commits
  3. 13 Apr, 2015 3 commits
  4. 10 Apr, 2015 10 commits