1. 12 Dec, 2019 3 commits
  2. 11 Dec, 2019 10 commits
  3. 10 Dec, 2019 8 commits
  4. 09 Dec, 2019 8 commits
  5. 07 Dec, 2019 2 commits
  6. 06 Dec, 2019 7 commits
  7. 05 Dec, 2019 2 commits
    • Linux AMD crash when src blit region outside framebuffer · 11e6944e
      Jonah Ryan-Davis authored
      Linux AMD has a crash on an assert in the mesa driver that the source rectangle
      for blitFramebuffer be inside the framebuffer. Add Linux AMD to the existing
      workaround for this case.
      Note: this will duplicate some work on Linux AMD if the blit call is outside
      the framebuffer and also very large (the adjustSrcDstRegionBlitFramebuffer
      workaround)
      
      Bug: 1014370
      Change-Id: I1afd1c92ab07dba6814d6b87ff7c3c19a19bdc0e
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953487
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Vulkan: Implement multisample textures · 4576f1d0
      Ian Elliott authored
      This functionality is exercised by running angle_deqp_gles31_tests with the
      following sets of command arguments:
      
        --gtest_filter=dEQP.GLES31/functional_texture_multisample* --use-angle=vulkan
      
        --gtest_filter=dEQP.GLES31/functional_state_query_texture_level_texture_2d_multisample* --use-angle=vulkan
      
        --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_immutable* --use-angle=vulkan
      
      The following are some high-level design notes:
      
      - Texture::setStorageMultisample() handles converting the "requested number of
        samples" to the actual number of samples used (e.g. converting 3 to 4),
        supported by the underlying back-end).  The actual number used is stored in
        gl::TextureState::mImageDescs, for use by other GLES commands.
      
      - ANGLE uses the Vulkan standard sample locations/positions.  If the underlying
        Vulkan driver's VkPhysicalDeviceLimits::standardSampleLocations is false,
        ANGLE limits itself to GLES 2.0 (i.e. before GLES 3.0 which adds multisample
        renderbuffers).
      
      - The Vulkan specification currently doesn't support ANGLE providing support
        for GLES 1-sample textures, because of the following Vulkan specification
        statement:
      
        - If the image was created with VkImageCreateInfo::samples equal to
          VK_SAMPLE_COUNT_1_BIT, the instruction must: have MS = 0.
      
      - At least one Vulkan driver returns different
        VkPhysicalDeviceLimits::*SampleCounts for different formats.  Because of
        this, ANGLE does a logical-AND of all values in order to only support the
        commonly-available numbers of samples.
      
      The detailed design document is located at:
      https://docs.google.com/document/d/1NiM8gAR74iGGXGTE6IP1ChdDUZjhtXRuJdtEp_wGFEM/edit?usp=sharing
      
      Bug: angleproject:3565
      Bug: angleproject:4103
      Bug: angleproject:4104
      Bug: angleproject:4196
      Bug: angleproject:4197
      Bug: angleproject:4198
      Change-Id: I28921badf9568427799b0af347198b5df06c2db0
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919982
      Commit-Queue: Ian Elliott <ianelliott@google.com>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>