1. 20 Jun, 2016 8 commits
  2. 17 Jun, 2016 8 commits
  3. 16 Jun, 2016 6 commits
    • D3D11: Fix readback of BGRA-backed formats. · 230d9561
      Jamie Madill authored
      For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels
      implementation wasn't aware the BGRA format didn't exactly match the
      RGBA format. For these it would do the 'fast path' memcpy method, when
      it should stop and do the slow pixel-by-pixel packing method.
      
      BUG=angleproject:1407
      BUG=chromium:616176
      
      Change-Id: Ie24758513af6f9ef87f0aa503135456c96493701
      Reviewed-on: https://chromium-review.googlesource.com/352252Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • perf_tests: Work around stalls in gl_null test teardown. · cd1b1226
      Jamie Madill authored
      The Clear command in the draw call benchmark was not being properly
      no-op'ed. This would cause the driver to get a huge queue of GL
      command, which it would only flush when the test was torn down. This
      manifested as a 5+ second stall on test teardown.
      
      Looking at the clear command, it does some work with binding
      and then calling GL functions, so properly filtering out the driver
      commands would be a bit more complicated. For now, we can hack in a
      workaround for the draw call test (the only one that uses the GL
      NULL renderer at the moment) to not call clear when it would give
      us problems.
      
      BUG=620687
      
      Change-Id: I64a2ed1883e8d3bf0d4c423c8bce0902ae9bf8df
      Reviewed-on: https://chromium-review.googlesource.com/352828Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Fix unpacking overlapping unpack buffer rows on NVIDIA GL · 218cf9ee
      Olli Etuaho authored
      When unpack parameters are set so that rows being read overlap in
      the unpack buffer stored in GPU memory, NVIDIA GL driver may not
      upload the last pixels of the last one or more rows of a texture. The
      driver may also crash when the amount of overlap is high.
      
      This issue affects both TexImage* and TexSubImage* calls.
      
      Work around the issue by uploading textures row by row when the rows
      being read overlap in the unpack buffer. The workaround could possibly
      be optimized by uploading several of the first rows with a single call
      in some cases where the amount of overlap is low, but this is expected
      to be a rarely used corner case, so the added complexity that the
      optimization would create seems like a bad tradeoff.
      
      The issue does not seem to be triggered when the layers (images) of a
      3D texture overlap, as long as the rows inside the images don't.
      
      The workaround has been ported from Chromium.
      
      This patch adds setting dirty bits when unpack state is set in
      StateManagerGL.
      
      The included test case also reveals some issue in the D3D backend, but
      this is left to be addressed later.
      
      BUG=angleproject:1376
      TEST=angle_end2end_tests
      
      Change-Id: I7dbe73ebb70bbbc284fa92381546f4f2f832d333
      Reviewed-on: https://chromium-review.googlesource.com/346430Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • D3D11: Prevent DXGI hooking the Alt+Enter keystroke · cd9aa12a
      James Ross-Gowan authored
      When ANGLE is using D3D11 and not using DirectComposition, DXGI will hook
      the window's message loop and override Alt+Enter to trigger a transition
      to exclusive fullscreen mode. This disables that behaviour, since it's
      inconsistent between backends and, at least during my testing, the
      application did not even work correctly after the transition to fullscreen
      mode.
      
      This commit should be similar to the workarounds implemented in Qt and mpv
      to prevent this behaviour and will hopefully make those workarounds
      unnecessary. Only the DXGI_MWA_NO_ALT_ENTER flag is used, since the other
      flags didn't seem to have an effect and probably only matter in fullscreen
      mode.
      
      BUG=angleproject:1414
      
      Change-Id: Icb70c2c1405225619dcb27c5ffc9472fddd1157b
      Reviewed-on: https://chromium-review.googlesource.com/352950Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Validate that unpack skip is in bounds · 989cac34
      Olli Etuaho authored
      Unpack skip needs to be taken into account when determining which part
      of the unpack buffer is read. This is now done in the out-of-bounds
      check when validating texture upload calls.
      
      Unpack skip code is removed from D3D9 backend, since skip is not
      supported in GLES2.
      
      BUG=angleproject:1411
      TEST=angle_end2end_tests
      
      Change-Id: I0db4db0877a352613c57e2820e5b650edb5a73ab
      Reviewed-on: https://chromium-review.googlesource.com/352450Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Don't allow returning a struct containing an array in ESSL 1.00 · e29324ff
      Olli Etuaho authored
      ESSL 1.00.17 section 6.1 forbids this. Returning arrays was already
      covered by the checks that disallow declaring array types in ESSL
      1.00.
      
      BUG=angleproject:1015
      TEST=dEQP-GLES2.functional.shaders.functions.* (2 new tests pass)
           dEQP-GLES3.functional.shaders.functions.* (no regression)
      
      Change-Id: Iaffa1631c0c940afb57819221e7e8603b2305021
      Reviewed-on: https://chromium-review.googlesource.com/352920Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  4. 15 Jun, 2016 5 commits
  5. 14 Jun, 2016 7 commits
  6. 13 Jun, 2016 1 commit
  7. 10 Jun, 2016 1 commit
    • Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D · 95faa233
      Olli Etuaho authored
      Resubmitted with test skip added for Intel OpenGL.
      
      GLES 3.0.4 section 3.8.3:
      
      "For the purposes of decoding the texture image, TexImage2D is
      equivalent to calling TexImage3D with corresponding arguments and
      depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
      
      An "applySkipImages" boolean parameter is added to the functions in
      the D3D backend that apply skip offset to the unpack pointer. In case
      2D texture data is uploaded, the parameter is set to false and
      UNPACK_SKIP_IMAGES is not applied.
      
      BUG=angleproject:1406
      TEST=angle_end2end_tests
      
      Change-Id: I5878439e3d38dbae89cc2452a056c2d6bbf9e0b3
      Reviewed-on: https://chromium-review.googlesource.com/351330Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  8. 09 Jun, 2016 4 commits