1. 13 Jun, 2017 5 commits
    • Remove Shader::getSemanticIndex. · 34ca4f5b
      Jamie Madill authored
      This method doesn't really belong to GL, and was only used by the D3D
      back-end to compute some attribute indexes. Simplify the code by
      moving it into ProgramD3D. Also add the ability for the ShaderImpl to
      assert that any pending compiles have resolved.
      
      BUG=angleproject:1156
      
      Change-Id: I0af3d3082ff8c908e6a87b9734989efbefd28808
      Reviewed-on: https://chromium-review.googlesource.com/526336
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Clean up coding style issues in InstancingTest.cpp · cabdd1a0
      Shao authored
      This patch intends to clean up all coding style issues in
      InstancingTest.cpp.
      1. Replace SHADER_SOURCE by std::string
      2. Use (expected, actual) as the order of the parameters
         in ASSERT_NE
      3. Replace C-style type cast operators into C++ ones.
      4. Use ANGLE_GL_PROGRAM to build shader programs
      5. Use constexpr when necessary
      6. Other format changes done by 'git cl format'
      
      BUG=angleproject:2005
      
      Change-Id: I37d866c5df681160a66226bf5927dd6e00a6d6b2
      Reviewed-on: https://chromium-review.googlesource.com/528649
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    • Make VertexBinding's member variables private · dd5f27ee
      Martin Radev authored
      The patch decorates all members in VertexBinding as private and limits
      access to them only through getters and setters. This makes it easier to
      debug and keep track of any assignments to the class members.
      
      BUG=angleproject:2062
      TEST=angle_end2end_tests
      
      Change-Id: Iddd49063d060f136bc9cf11c313a5af0931d433c
      Reviewed-on: https://chromium-review.googlesource.com/530786
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Decouple ANGLETest functionality and test parameters · cdadb3ff
      Martin Radev authored
      ANGLETest provides useful functionality for end2end tests, but it
      cannot be used for tests which take other test parameters than the
      platform. The patch introduces another level of abstraction by moving
      all of ANGLETest's functionality to another class - ANGLETestBase -
      which does not inherit from ::testing::TestWithParam<>. New tests can
      either inherit from ANGLETest as before to have only platform
      parameters, or they can inherit from ANGLETestBase and add handling
      of custom test parameters.
      
      Example:
      
      // The new parameter type must inherit from PlatformParameters.
      struct MyCustomParameters : PlatformParameters
      {
          bool mWorkaroundState;
      };
      
      class MyTest : public ANGLETestBase,
                     public ::testing::TestWithParam<MyCustomParameters>
      {
          protected:
          void overrideWorkaroundsD3D(
              angle::WorkaroundsD3D *workaroundsD3D) override
          {
              workaroundsD3D->myCustomWorkaround = GetParam().mWorkaroundState;
          }
      
      };
      
      ANGLE_INSTANTIATE_TEST(MyTest, MyCustomParameters(ES3_D3D11(), false),
                                     MyCustomParameters(ES3_D3D11(), true));
      
      BUG=angleproject:2062
      TEST=angle_end2end_tests
      
      Change-Id: Ia36e429cff8c4c291fc87a286a1d1a3004d6fad6
      Reviewed-on: https://chromium-review.googlesource.com/530945
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Fix RewriteElseBlocks using a non-prefixed struct name · 9f01a0d4
      Olli Etuaho authored
      RewriteElseBlocks used to have an issue where it could add an
      unprefixed struct name to the AST in a TIntermRaw node, as opposed to
      the prefixed name that the struct would be defined with. Use a proper
      return statement node instead of a raw node to fix this issue and make
      the code more robust.
      
      BUG=angleproject:2061
      TEST=angle_unittests
      
      Change-Id: I3993b5093646983f038268f3a5ffe26ccdae66e8
      Reviewed-on: https://chromium-review.googlesource.com/530785Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  2. 12 Jun, 2017 5 commits
  3. 09 Jun, 2017 4 commits
  4. 08 Jun, 2017 3 commits
  5. 07 Jun, 2017 3 commits
  6. 06 Jun, 2017 5 commits
  7. 05 Jun, 2017 10 commits
  8. 02 Jun, 2017 5 commits