1. 01 Aug, 2017 3 commits
  2. 31 Jul, 2017 3 commits
    • Handle viewport and scissor state changes for side-by-side framebuffers · 878c8b1e
      Martin Radev authored
      Side-by-side framebuffers have viewport offsets as part of their state
      which have to be applied to the viewport and scissor rectangles to
      generate the final viewport and scissor rectangles of each view.
      Whenever there is a transition to or from a side-by-side framebuffer,
      viewport and scissor state has to be synced. Also, because rendering is
      done on the same 2D texture the scissor test has to be always enabled to
      guarantee that no fragments leak to a neighboring view.
      
      The patch addresses this by extending the viewport and scissor state
      in StateManagerGL to be a vector of rectangles instead of a single
      rectangle. Two new dirty bits are added to cover changes in the viewport
      offsets and whether the framebuffer has a side-by-side layout.
      
      BUG=angleproject:2062
      TEST=angle_end2end_tests
      
      Change-Id: I8107d7ba97d06b20cf24358f19963fa494844592
      Reviewed-on: https://chromium-review.googlesource.com/585012
      Commit-Queue: Martin Radev <mradev@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Disallow timer queries with multi-view draw framebuffers · ffe754b7
      Martin Radev authored
      According to the ANGLE_multiview spec Draw* commands should generate
      an INVALID_OPERATION error if there is an active query object for
      target TIME_ELAPSED_EXT and the number of views in the active draw
      framebuffer is greater than 1.
      
      BUG=angleproject:2062
      TEST=angle_end2end_tests
      
      Change-Id: I8a4434784ecec753a39c5ef82fa3ee46255a0851
      Reviewed-on: https://chromium-review.googlesource.com/593315Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Martin Radev <mradev@nvidia.com>
    • Disallow glReadPixels with multi-view read framebuffers · 2803168e
      Martin Radev authored
      According to the ANGLE_multiview spec, glReadPixels must generate an
      INVALID_FRAMEBUFFER_OPERATION error if the active read framebuffer has
      a multi-view layout.
      
      BUG=angleproject:2062
      TEST=angle_end2end_tests
      
      Change-Id: Ia5311ff7a62c5ff732491eb80befd32de57b9d44
      Reviewed-on: https://chromium-review.googlesource.com/591368
      Commit-Queue: Martin Radev <mradev@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  3. 28 Jul, 2017 6 commits
  4. 27 Jul, 2017 3 commits
  5. 26 Jul, 2017 9 commits
  6. 25 Jul, 2017 2 commits
    • Fix BlitFramebuffer validation for BGRA sources and targets. · 17d27031
      Kenneth Russell authored
      It is legal to blit between GL_RGBA8 and GL_BGRA8 sources and
      destinations when resolving multisampled renderbuffers. Expand
      BlitFramebuffer's validation to handle this case.
      
      Work around a bug in macOS' OpenGL driver querying the number of
      samples for GL_BGRA8.
      
      Query GL_MAX_VERTEX_OUTPUT_COMPONENTS on the Core Profile to work
      around an error generated on macOS when querying
      GL_MAX_VARYING_COMPONENTS.
      
      Expand the BlitFramebuffer tests to cover these cases and start
      running them on the OpenGL backend.
      
      BUG=angleproject:891
      
      Change-Id: I4829585d2b6428ce0bc7509c4734d33709a0930b
      Reviewed-on: https://chromium-review.googlesource.com/582268
      Commit-Queue: Geoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Remove IndexRange in DrawElements functions · 1da00653
      Qin Jiajia authored
      This change will remove IndexRange parameter in DrawElements functions.
      And calculate it until we truly need it. Meanwhile we add direct
      drawing path to avoid retrieving index range for DrawElements*
      functions in D3D11 backend. This change may not bring much performance
      improvement since we still need to retrieve index range in validation
      at the beginning of every DrawElements* call entry point.
      
      BUG=angleproject:1393
      
      Change-Id: I86a8739c0893954c94eb398db62820ced7871565
      Reviewed-on: https://chromium-review.googlesource.com/544634Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
  7. 24 Jul, 2017 3 commits
  8. 21 Jul, 2017 5 commits
  9. 20 Jul, 2017 6 commits