1. 22 Sep, 2020 3 commits
    • Suppress 3 more Intel/GL/Compute shader fails. · 566821cb
      Jamie Madill authored
      Happen when run in different orders. This time with a test variation
      with 2 shards instead of 4.
      
      ComputeShaderTest.DrawTexture1DispatchTexture2/ES3_1_OpenGL
      ComputeShaderTest.UniformBuffer/ES3_1_OpenGL
      ComputeShaderTest.BindImageTextureWithMixTextureTypes/ES3_1_OpenGL
      
      Bug: angleproject:5072
      Change-Id: Iddec2b795dc380e29a0124195491fcf6ec0520bf
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423208Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Metal: Disable unused attribute slots. · d7149f2a
      Le Hoang Quyen authored
      If an attribute slot is unused and user enables it but doesn't bind any
      buffer, Metal validation layer will complain that a buffer slot is
      missing (even though the slot is not used inside shader).
      
      Fix: if shader program doesn't use an attribute slot or there is no
      buffer bound to it, then disable that attribute.
      
      Bug: angleproject:2634
      Change-Id: Ib56e0bf64bab13efce8b2972bfe386e26f45e50e
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392171
      Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
      Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Use subpass to unresolve render-to-texture attachments · f39e0f01
      Shahbaz Youssefi authored
      GL_EXT_multisampled_render_to_texture allows singlesampled textures to
      be used with multisampled framebuffers in such a way that the final
      resolve operation is automatically done.  In Vulkan terminology, the
      render-to-texture GL attachment is used as a Vulkan subpass resolve
      attachment with an implicit (ideally-)lazy-memory multisampled image as
      the color attachment.
      
      This extension expects that if the texture is drawn to after the
      automatic resolve, the implicit multisampled image would take its
      fragment colors from the singlesampled image.  In other words, the
      opposite of a resolve operation should be automatically performed at the
      start of the render pass.  This change refers to this operation as
      "unresolve".
      
      The goal of this extension is to allow tiling GPUs to always keep
      multisampled data on tile memory and only ever load/store singlesampled
      data.  The latter is achieved by using a subpass resolve attachment and
      setting storeOp of the multisampled color attachment to DONT_CARE.  This
      change achieves the former by using an initial subpass that uses the
      resolve attachment as input attachment, draws into the multisampled
      color attachment and sets loadOp of said attachment to DONT_CARE.
      
      Bug: angleproject:4881
      Change-Id: I99f410530365963567c77a7d62fc9db1500e5e3e
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2397206
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 21 Sep, 2020 25 commits
  3. 20 Sep, 2020 1 commit
    • Vulkan: Implement a SharedResourceUse pool · de335c16
      Mohan Maiya authored
      When adding a Resource to the ResourceUseList of ContextVk
      we constructed a new SharedResourceUse object for tracking
      and update of the Resource's Serial. We would then delete
      it after releasing the resource. This incurs repeated
      memory operation costs.
      
      Instead we now allocate a pool of SharedResourceUse objects
      and acquire and release from this pool as needed.
      
      VTune profile of the Manhattan 30 offscreen benchmark
      shows the CPU occupancy of bufferRead decrease from an
      average of 0.9% -> 0.6% and imageRead decreases from
      an average of 0.4% -> 0.3%. The bottleneck for both
      these methods is the retain() method that leverages
      the new SharedResourceUse pool.
      
      Bug: angleproject:4950
      Change-Id: Ib4f67c6f101d4b2de118014546e6cc14ad108703
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396597Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
  4. 19 Sep, 2020 5 commits
  5. 18 Sep, 2020 6 commits