1. 11 Sep, 2015 3 commits
    • Re^5-land "Move Uniform and UBO info to the gl::Program layer." · 78d35692
      Jamie Madill authored
      This data was previously stored entirely in the Impl level. Move
      as much as possible to the GL level, using a read-only view in the
      Impl level. Some information in D3D-specific, and should be stored
      separately in the Impl.
      
      This patch has a lot of refactoring that splits the D3D and GL info,
      and moves as much validation as possible to the GL layer, where it
      is shared between the back-ends.
      
      Re-land with fix for dEQP unused uniforms. The fix involves storing
      a local copy of all uniform data in the GL layer. This will also
      let us validate sampler indexes during draw calls at the GL layer.
      
      Re-re-land with a fix for multiply defined symbols on Clang.
      
      Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
      
      Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
      
      Re^5-land with a fix for a test warning on Linux.
      
      BUG=angleproject:1123
      TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
      
      Change-Id: I03afcd446d9e74573c4d4c712ed7407b91d8001c
      Reviewed-on: https://chromium-review.googlesource.com/299180Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Revert "Re^4-land "Move Uniform and UBO info to the gl::Program layer."" · a2eb02c9
      Jamie Madill authored
      Test has a warning on Linux:
      
      In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:13:
      ../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
        if (expected == actual) {
            ~~~~~~~~ ^  ~~~~~~
      ../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
          return CmpHelperEQ(expected_expression, actual_expression, expected,
                 ^
      ../../third_party/angle/src/tests/gl_tests/UniformBufferTest.cpp:357:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
          EXPECT_EQ(GL_FLOAT, type);
          ^
      
      BUG=angleproject:1123
      
      This reverts commit 2ae1ee61.
      
      Change-Id: Ic3dabea54068377d1f2c5f722ba52966cf1a0491
      Reviewed-on: https://chromium-review.googlesource.com/299170Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Re^4-land "Move Uniform and UBO info to the gl::Program layer." · 2ae1ee61
      Jamie Madill authored
      This data was previously stored entirely in the Impl level. Move
      as much as possible to the GL level, using a read-only view in the
      Impl level. Some information in D3D-specific, and should be stored
      separately in the Impl.
      
      This patch has a lot of refactoring that splits the D3D and GL info,
      and moves as much validation as possible to the GL layer, where it
      is shared between the back-ends.
      
      Re-land with fix for dEQP unused uniforms. The fix involves storing
      a local copy of all uniform data in the GL layer. This will also
      let us validate sampler indexes during draw calls at the GL layer.
      
      Re-re-land with a fix for multiply defined symbols on Clang.
      
      Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
      
      Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
      
      BUG=angleproject:1123
      TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
      
      Change-Id: I4c9f5ed31b81380507bef7981f97086d642801ae
      Reviewed-on: https://chromium-review.googlesource.com/298451
      Tryjob-Request: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 10 Sep, 2015 5 commits
  3. 09 Sep, 2015 12 commits
  4. 08 Sep, 2015 11 commits
  5. 07 Sep, 2015 1 commit
    • Don't evaluate short-circuited preprocessor expressions · 6ffe6135
      Olli Etuaho authored
      ESSL 3.00 spec section 3.4 mentions that the second operand in a logical
      && or || preprocessor operation is evaluated only if the first operand
      doesn't short-circuit the expression. The non-evaluated part of a
      preprocessor expression may also have undefined identifiers.
      
      Make the expression parser follow the spec by ignoring errors that are
      generated inside short-circuited expressions. This includes undefined
      identifiers and divide by zero.
      
      BUG=angleproject:347
      TEST=dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers.*
           angle_unittests
      
      Change-Id: Ieed02a71298af838f784a5d1197d4f4a9ba0e3c8
      Reviewed-on: https://chromium-review.googlesource.com/295033Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
  6. 04 Sep, 2015 8 commits