1. 08 Jan, 2019 2 commits
  2. 07 Jan, 2019 1 commit
  3. 06 Jan, 2019 2 commits
  4. 05 Jan, 2019 2 commits
  5. 04 Jan, 2019 2 commits
    • Slightly simplify .def file use. · 9db8df4c
      Nico Weber authored
      From `gn help sources`:
      
        As a special case, a file ending in ".def" will be treated as a Windows
        module definition file. It will be appended to the link line with a
        preceding "/DEF:" string.
      
      This makes the code slightly shorter, and also gives ninja a chance of
      re-running the link when the .def file changes since it now knows about
      this file.
      
      No intended behavior change.
      
      Change-Id: I5fecb22752508880b726482f7c3da5a75180e446
      Reviewed-on: https://chromium-review.googlesource.com/c/1396499Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Nico Weber <thakis@chromium.org>
    • WebGL: validate texture format matches sampler type · e4109f27
      James Darpinian authored
      WebGL requires that drawing produces INVALID_OPERATION if a texture's
      format doesn't match the sampler type it is bound to. This is a little
      confusing because samplers have two attributes that could be called
      "type": addressing mode (2D/3D/Cube), and component format
      (float/signed/unsigned/shadow). ANGLE already handled checking the
      addressing mode; this change adds checking for the component format.
      
      Fixes WebGL conformance test
      conformance2/uniforms/incompatible-texture-type-for-sampler.html
      
      Bug: chromium:809237
      Change-Id: I52ebfecd92625e3ee10274cb5f548d7e53de72dd
      Reviewed-on: https://chromium-review.googlesource.com/c/1377611Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: James Darpinian <jdarpinian@chromium.org>
  6. 03 Jan, 2019 8 commits
  7. 02 Jan, 2019 6 commits
  8. 01 Jan, 2019 5 commits
  9. 30 Dec, 2018 1 commit
  10. 29 Dec, 2018 7 commits
    • Revert "Load entry points dynamically in tests and samples." · 9f088621
      Yuly Novikov authored
      This reverts commit 03923558.
      
      Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
      
      Original change's description:
      > Load entry points dynamically in tests and samples.
      > 
      > This CL adds a dynamic loader generator based on XML files. It also
      > refactors the entry point generation script to move the XML parsing
      > into a helper class.
      > 
      > Additionally this includes a new GLES 1.0 base header. The new
      > header allows for function pointer types and hiding prototypes.
      > 
      > All tests and samples now load ANGLE dynamically. In the future this
      > will be extended to load entry points from the driver directly when
      > possible. This will allow us to perform more accurate A/B testing.
      > 
      > The new build configuration leads to some tests having more warnings
      > applied. The CL includes fixes for the new warnings.
      > 
      > Bug: angleproject:2995
      > Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
      > Reviewed-on: https://chromium-review.googlesource.com/c/1359516
      > Commit-Queue: Jamie Madill <jmadill@chromium.org>
      > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
      
      TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
      
      Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: angleproject:2995
      Reviewed-on: https://chromium-review.googlesource.com/c/1392381Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Load entry points dynamically in tests and samples. · 03923558
      Jamie Madill authored
      This CL adds a dynamic loader generator based on XML files. It also
      refactors the entry point generation script to move the XML parsing
      into a helper class.
      
      Additionally this includes a new GLES 1.0 base header. The new
      header allows for function pointer types and hiding prototypes.
      
      All tests and samples now load ANGLE dynamically. In the future this
      will be extended to load entry points from the driver directly when
      possible. This will allow us to perform more accurate A/B testing.
      
      The new build configuration leads to some tests having more warnings
      applied. The CL includes fixes for the new warnings.
      
      Bug: angleproject:2995
      Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
      Reviewed-on: https://chromium-review.googlesource.com/c/1359516
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    • Use visitor pattern for Shader Variable APIs. · 8c78ce4b
      Jamie Madill authored
      In many places in ANGLE we need to traverse a ShaderVariable tree. We
      do this to store uniform offset and other information, to flatten the
      tree of uniforms for the front-end, or to produce active variable lists
      for uniform and shader storage blocks. In each case, we would write
      separate tree traversal code.
      
      This patch introduces a shared visitor pattern for all of the shader
      variable tree traversal instances. With that get more common code. Also
      it is easier to write new variable traversals. ProgramD3D and
      ProgramLinkedResources in particular get nice simplificiations.
      
      The visitor object recieves callbacks from the traversal when entering
      structs, array elements, and new variables. The visitor can treat these
      differently depending on the use case. A common visitor that constructs
      full variable names is used as a base class in several places.
      
      Also moves the 'isRowMajorLayout' from sh::InterfaceBlockField to
      sh::ShaderVariable. This allows us to forgo using templates in several
      call sites.
      
      Bug: angleproject:3024
      Change-Id: I472d81ec775e2eee92fb3d2eb0ca83860221ba2e
      Reviewed-on: https://chromium-review.googlesource.com/c/1358722
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    • Vulkan: Move image clear functionality to UtilsVk · e321940c
      Shahbaz Youssefi authored
      DispatchUtilsVk is renamed to UtilsVk and the functionality in
      framebuffer's clearWithDraw() is moved to that class.  Eventually, more
      fragment-shader-based internal algorithms will be added to this class as
      well.
      
      Bug: angleproject:2958
      Change-Id: I4753c9cb3288b59cd1ed60fe7a57b9f189704322
      Reviewed-on: https://chromium-review.googlesource.com/c/1369284
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Improve CopyTexImageTest · af4cef51
      Shahbaz Youssefi authored
      The test is enhanced to perform the copy multiple times.  Initially, the
      copy creates a new texture from a 16x16 framebuffer.  Then, a copy is
      made from another 16x16 framebuffer (which should not trigger the
      recreation of the texture).  Finally, a copy is made from a 32x32
      framebuffer (which should trigger the recreation of the texture).
      
      Bug: angleproject:2958
      Change-Id: Idc934d6f3d6312a2122d079309a4c2ae2608ba7f
      Reviewed-on: https://chromium-review.googlesource.com/c/1392388Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    • Add test case for storage buffer · c5117571
      Xinghua Cao authored
      When storage buffer bound is unchanged and shader writes it,
      buffer content should also be updated. Currently, this case
      cannot work normally on D3D backend.
      
      Bug: angleproject:2814
      TEST=angle_end2end_tests.ComputeShaderTest.StorageBufferBoundUnchanged
      
      Change-Id: I6f25b7eac84c44392befaca61a33bdf2457f29f9
      Reviewed-on: https://chromium-review.googlesource.com/c/1391880
      Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • ES31: Add state change tests for image · 3f01f53c
      Qin Jiajia authored
      This change adds dirty bit state change tests for image textures.
      Meanwhile, syncImages related codes are removed since syncTextures will do
      all texture states sync.
      
      Bug: angleproject:3015
      
      Change-Id: I9b299c86af1d589e72c08c5d7c55ac74cc7833aa
      Reviewed-on: https://chromium-review.googlesource.com/c/1390596
      Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  11. 28 Dec, 2018 1 commit
    • Optimize glDrawElements performance · cb9609fe
      Markus Tavenrath authored
      A call to glDrawElements results in a calling depth of up to 4
      * glDrawElements
      * gl::Context::DrawElements
      * rx::ContextGL::DrawElements
      * VertexArrayGL::syncDrawState.
      
      Each function call has to save/restore a lot of registers which
      results in a stall in the prologue of rx::ContextGL::DrawElements
      due to memory bandwidth limitations.
      
      The main change is the function gl::Context::DrawElements being
      inlined to reduce the calling depth by one. In addition the call
      to ContextGL::syncDrawElementsState is now protected so that it
      gets called only if it's required. Finally a few small getter
      functions have been inlined where the calling code was bigger
      than the actual function.
      
      In total this change improves performance of the
      DrawElementsPerfBenchmark.Run/gl benchmark by 16%.
      
      Bug: angleproject:2966
      
      Change-Id: I423d18452f2f5b520ab52850fda2054e1da86991
      Reviewed-on: https://chromium-review.googlesource.com/c/1389988Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Markus Tavenrath <matavenrath@nvidia.com>
  12. 25 Dec, 2018 1 commit
  13. 23 Dec, 2018 1 commit
  14. 22 Dec, 2018 1 commit