1. 20 Jan, 2021 7 commits
  2. 19 Jan, 2021 15 commits
  3. 18 Jan, 2021 13 commits
  4. 17 Jan, 2021 1 commit
    • Reland "Vulkan: Generate gl_Position pre-rotation in SPIR-V" · dfd9bdfd
      Shahbaz Youssefi authored
      This reverts commit 3d39b7c5.
      
      Reason for revert: Fixed interaction with the
      `forceDriverUniformOverSpecConst` workaround.
      
      Original change's description:
      > Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V"
      >
      > This reverts commit 0f86b196.
      >
      > Reason for revert:
      > Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape.
      >
      > Original change's description:
      > > Vulkan: Generate gl_Position pre-rotation in SPIR-V
      > >
      > > Instead of having the translator output pre-rotation code in the vertex
      > > stage based on a specialization constant, this change makes the SPIR-V
      > > transformer perform pre-rotation of gl_Position on the last geometry
      > > stage.
      > >
      > > An alternative solution would be to generate pre-rotation code in the
      > > translator in every geometry stage, each controlled by a separate
      > > specialization constant.  This change avoids unnecessary modifications
      > > to earlier stages.  The generated shaders are also smaller, as they
      > > don't contain a mat2[8] pre-rotation constant matrix.  The SPIR-V
      > > transformer knows the pre-rotation at transformation time, so it can
      > > simply use swizzles to achieve the same results.
      > >
      > > This also ties in with upcoming changes which move gl_Position.z
      > > correction to the last geometry shader stage, which is trivially done
      > > piggy-backing on the infrastructure in this change.
      > >
      > > Bug: angleproject:5478
      > > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf
      > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584
      > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      > > Reviewed-by: Charlie Lao <cclao@google.com>
      > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
      >
      > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
      >
      > Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: angleproject:5478
      > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694
      > Reviewed-by: Tim Van Patten <timvp@google.com>
      > Commit-Queue: Tim Van Patten <timvp@google.com>
      
      TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
      
      Bug: angleproject:5478
      Change-Id: I7c5eaeef03d9520abd36a1c4a766b6abbf4fdb45
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633709Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
  5. 16 Jan, 2021 4 commits
    • Vulkan: Redo RewriteStructSamplers · 60015ff6
      Shahbaz Youssefi authored
      This transformation is split into two.  The first transformation solely
      takes out the samplers out of structs, and potentially generates array
      of array of samplers.  A second transformation is added that takes any
      array of array of opaque uniforms and flattens it.
      
      A follow up change will simplify RewriteAtomicCounters which also
      handles array of arrays (which is no longer possible), and removes
      dependency on shaderStorageBufferArrayDynamicIndexing.
      
      Bug: angleproject:2703
      Bug: angleproject:3881
      Bug: angleproject:4071
      Bug: angleproject:4211
      Change-Id: I352bb2bbe65ac49f4d7d753c0ba3160fa3cc925a
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628138
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Rename ReplaceClipDistanceVariable files · 9f09435b
      Mohan Maiya authored
      With the addition of EXT_clip_cull_distance extension
      the files are renamed like so -
          ReplaceClipDistanceVariable.h   -> ReplaceClipCullDistanceVariable.h
          ReplaceClipDistanceVariable.cpp -> ReplaceClipCullDistanceVariable.cpp
      
      Bug: angleproject:5458
      Change-Id: I277b2d4b6eea6f2014e10acb251284a159292dbc
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617572
      Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    • Tests: Add Real Gangster Crime trace · ff170c6f
      Tim Van Patten authored
      Note: Hand edits required to capture this trace:
      
      CaptureMidExecutionSetup():
          // Check for supported textures
          ASSERT(index.getType() == gl::TextureType::_2D ||
                 index.getType() == gl::TextureType::_3D ||
                 index.getType() == gl::TextureType::_2DArray ||
                 index.getType() == gl::TextureType::CubeMap ||
                 index.getType() == gl::TextureType::External);  <<--- add
      
      Test: angle_perftests --gtest_filter=TracePerfTest.Run/*real_gangster_crime*
      Bug: angleproject:5550
      Change-Id: I32391cc8de0b4307334bb873af4f3c5899b584f2
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2626357
      Commit-Queue: Tim Van Patten <timvp@google.com>
      Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V" · 3d39b7c5
      Tim Van Patten authored
      This reverts commit 0f86b196.
      
      Reason for revert:
      Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape.
      
      Original change's description:
      > Vulkan: Generate gl_Position pre-rotation in SPIR-V
      >
      > Instead of having the translator output pre-rotation code in the vertex
      > stage based on a specialization constant, this change makes the SPIR-V
      > transformer perform pre-rotation of gl_Position on the last geometry
      > stage.
      >
      > An alternative solution would be to generate pre-rotation code in the
      > translator in every geometry stage, each controlled by a separate
      > specialization constant.  This change avoids unnecessary modifications
      > to earlier stages.  The generated shaders are also smaller, as they
      > don't contain a mat2[8] pre-rotation constant matrix.  The SPIR-V
      > transformer knows the pre-rotation at transformation time, so it can
      > simply use swizzles to achieve the same results.
      >
      > This also ties in with upcoming changes which move gl_Position.z
      > correction to the last geometry shader stage, which is trivially done
      > piggy-backing on the infrastructure in this change.
      >
      > Bug: angleproject:5478
      > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf
      > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584
      > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      > Reviewed-by: Charlie Lao <cclao@google.com>
      > Reviewed-by: Jamie Madill <jmadill@chromium.org>
      
      TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
      
      Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: angleproject:5478
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
      Commit-Queue: Tim Van Patten <timvp@google.com>