1. 20 Jun, 2019 6 commits
  2. 19 Jun, 2019 6 commits
  3. 18 Jun, 2019 13 commits
    • Revert "Vulkan: Add missing command pool reset." · 71ad2a73
      Jamie Madill authored
      This reverts commit 9aa865a6.
      
      Reason for revert: Seems to be causing crashes on Android in glmark2.
      Might also be responsible for a perf regression.
      
      Bug: angleproject:3542
      
      Original change's description:
      > Vulkan: Add missing command pool reset.
      > 
      > We were still calling destroy in checkCompletedCommands. We can
      > instead call reset.
      > 
      > May not significantly impact performance.
      > 
      > Bug: angleproject:3489
      > Change-Id: I61a2cb154faac56dc78a49678dd822d81ce16ad2
      > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1647029
      > Reviewed-by: Jamie Madill <jmadill@chromium.org>
      > Reviewed-by: Tobin Ehlis <tobine@google.com>
      > Commit-Queue: Jamie Madill <jmadill@chromium.org>
      
      TBR=tobine@google.com,jmadill@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: angleproject:3489
      Change-Id: Icb0e99f18ecab09798654605973958bd2b263002
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665748Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Switch ANGLE Win and Linux CI bots to builderless. · 11b9dc59
      Yuly Novikov authored
      Also update doc.
      
      Bug: chromium:973992
      Change-Id: I59a27935d2bcd438df025945b885384b1d5b0792
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665328
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • GL: Add extensions to enable hardware video decode on Android. · 857880e5
      Geoff Lang authored
      The Android SurfaceTexture API has to be initialized with a texture id
      which Chrome has to query from an ANGLE external texture. It also
      rebinds and sets the texture dimensions on calls to
      SurfaceTexture.updateTexImage so ANGLE must be notified about these
      changes so that state tracking and validation continue to function.
      
      BUG=967410
      
      Change-Id: I92e9077f75835b088da3a8caffb3ff40e9ad0361
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630293
      Commit-Queue: Geoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • NVIDIA Shield workaround for IsNVIDIA() detection · 32d718f3
      Jonah Ryan-Davis authored
      NVIDIA Shield do not implement Vulkan, which is used to populate
      vendor IDs in SystemInfo. The vendorIDs are used to check IsNVIDIA().
      This CL adds a workaround so IsNVIDIA() returns true for NVIDIA
      Shield.
      
      Bug: angleproject:3541
      Change-Id: Ib36dd376207163acfc8d3a0e341f07a7d6aa3122
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663080
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Add support for D3D11 texture backed EGLImages · f9686af0
      Sunny Sachanandani authored
      Implement EGL_ANGLE_image_d3d11_texture extension.  Images created with
      this extension might not be renderable based on bind flags and resource
      usage of the client provided texture in which case attaching them to a
      framebuffer won't succeed.
      
      The intended use case is to bind the front and back buffers of a swap
      chain to GL textures that can be used for rendering in the case of the
      back buffer and as a shader input for the front buffer.
      
      Bug: chromium:939655
      Change-Id: Ic3328e831880292217b88be84740740df6031fa6
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646732
      Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Fix Platform.h integration with ANGLE · eee67c6e
      Jonah Ryan-Davis authored
      A function was renamed which broke the platformMethods table strings.
      This CL reverts the rename (originally from crrev/c/1660952)
      
      Bug: angleproject:1621
      Change-Id: I8121a4956ba1d3e3c5036f72f6f1fdf5509dc491
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664792Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    • Remove gl::Context parameter from Observer functions. · 124f78c2
      Jamie Madill authored
      It was only used in exactly one instance in VertexArray. Instead we can
      cache a bool and avoid needing to pass it around.
      
      Will make signaling dirty easier in the Vulkan back-end.
      
      Bug: angleproject:3539
      Change-Id: Ia570aec051a24a5280df49edc4345c54022b46ec
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663838Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Roll SPIRV Tools and Headers into ANGLE · 81b6acfb
      Jonah Ryan-Davis authored
      SPIRV-Tools roller did not roll the correct headers version.
      
      Change-Id: Ifa1c9e2ee92e11a5e84ba78249e422884f5b6582
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663840Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    • Remove unused WidenString function · b8252fdb
      Kimmo Kinnunen authored
      The removed function had incorrect Windows implementation,
      the return value was checked incorrectly.
      
      Last use was removed in commit 573f76b3
      https://chromium-review.googlesource.com/c/1042785
      
      Bug: angleproject:2532
      Change-Id: I66907fcb33041b097062208d53ca88752c05f9cb
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664153Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    • Add support for OES_depth24 · 141a23f6
      Mohan Maiya authored
      Allow 24-bit depth as a valid Renderbuffer format.
      
      Bug: angleproject:3229
      Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthBuffer/*
      Change-Id: I166639ec0e000595dc55848e4b8b7bef627b6471
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661050
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    • D3D: Add a wrapper to Image11 that enables ASAN/MSAN to catch the errors on map operations · a4c639c4
      Kimmo Kinnunen authored
      The wrapper should be a no-op on builds with assertions disabled.
      The wrapper should be useful on ASAN and MSAN builds.
      
      gn args out/release-asan --args="is_debug=false is_asan=true"
      ninja -C out/release-asan angle_end2end_tests ^
       out\release-asan\angle_end2end_tests ^
       --gtest_filter=Texture2DArrayCopy.SnormFormats* --gtest_catch_exceptions=0 ^
       --gtest_repeat=-1
      
      Output when the fix payload of angleproject:2865 is removed:
      
      ...
      
      Repeating all tests (iteration 1) . . .
      
      Note: Google Test filter = Texture2DArrayCopy.SnormFormats*
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      [----------] 1 test from Texture2DArrayCopy
      [ RUN      ] Texture2DArrayCopy.SnormFormats/ES3_D3D11
      =================================================================
      ==500==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x12b2c4777040 at pc 0x7fff9602216b bp 0x00c0eaafd090 sp 0x00c0eaafd0d8
      READ of size 1 at 0x12b2c4777040 thread T0
          #0 0x7fff9602216a in angle::R8G8B8A8::readColor c:\Users\kkinnunen\angle\src\image_util\imageformats.cpp:333
          #1 0x7fff9618dbf0 in rx::CopyImageCHROMIUM c:\Users\kkinnunen\angle\src\libANGLE\renderer\renderer_utils.cpp:377
          #2 0x7fff96186bb2 in rx::Image11::CopyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:113
          #3 0x7fff95e90410 in rx::Renderer11::copyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp:3009
          #4 0x7fff9617b447 in rx::TextureD3D_2DArray::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\TextureD3D.cpp:3293
          #5 0x7fff95afd7e1 in gl::Texture::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\Texture.cpp:1196
          #6 0x7fff95977f19 in gl::Context::copyTexture3D c:\Users\kkinnunen\angle\src\libANGLE\Context.cpp:4347
          #7 0x7fff9568b04a in gl::CopyTexture3DANGLE c:\Users\kkinnunen\angle\src\libGLESv2\entry_points_gles_ext_autogen.cpp:57
          #8 0x7ff7d1d8fc97 in angle::CopyTexture3DTest::testCopy c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:90
          #9 0x7ff7d1dadd10 in angle::Texture2DArrayCopy_SnormFormats_Test::TestBody c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:1272
          #10 0x7ff7d2c22891 in testing::Test::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2522
          #11 0x7ff7d2c243c0 in testing::TestInfo::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2698
          #12 0x7ff7d2c253e8 in testing::TestSuite::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2828
          #13 0x7ff7d2c3f33e in testing::internal::UnitTestImpl::RunAllTests c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:5285
          #14 0x7ff7d2c3e72d in testing::UnitTest::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:4873
          #15 0x7ff7d2bf10a2 in main c:\Users\kkinnunen\angle\src\tests\angle_end2end_tests_main.cpp:15
          #16 0x7ff7d2d27897 in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
          #17 0x7ff801ec7973 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017973)
          #18 0x7ff804cea270 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006a270)
      
      0x12b2c4777040 is located 0 bytes to the right of 256-byte region [0x12b2c4776f40,0x12b2c4777040)
      allocated by thread T0 here:
          #0 0x7ff7d2c6d574 in malloc C:\b\s\w\ir\k\src\third_party\llvm\projects\compiler-rt\lib\asan\asan_malloc_win.cc:68
          #1 0x7fff95af47b2 in angle::MemoryBuffer::resize c:\Users\kkinnunen\angle\src\common\MemoryBuffer.cpp:40
          #2 0x7fff9648c9a6 in rx::MappedSubresourceVerifier11::wrap c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\MappedSubresourceVerifier11.cpp:51
          #3 0x7fff961864b5 in rx::Image11::map c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:648
          #4 0x7fff9618676c in rx::Image11::CopyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:93
          #5 0x7fff95e90410 in rx::Renderer11::copyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp:3009
          #6 0x7fff9617b447 in rx::TextureD3D_2DArray::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\TextureD3D.cpp:3293
          #7 0x7fff95afd7e1 in gl::Texture::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\Texture.cpp:1196
          #8 0x7fff95977f19 in gl::Context::copyTexture3D c:\Users\kkinnunen\angle\src\libANGLE\Context.cpp:4347
          #9 0x7fff9568b04a in gl::CopyTexture3DANGLE c:\Users\kkinnunen\angle\src\libGLESv2\entry_points_gles_ext_autogen.cpp:57
          #10 0x7ff7d1d8fc97 in angle::CopyTexture3DTest::testCopy c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:90
          #11 0x7ff7d1dadd10 in angle::Texture2DArrayCopy_SnormFormats_Test::TestBody c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:1272
          #12 0x7ff7d2c22891 in testing::Test::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2522
          #13 0x7ff7d2c243c0 in testing::TestInfo::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2698
          #14 0x7ff7d2c253e8 in testing::TestSuite::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2828
          #15 0x7ff7d2c3f33e in testing::internal::UnitTestImpl::RunAllTests c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:5285
          #16 0x7ff7d2c3e72d in testing::UnitTest::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:4873
          #17 0x7ff7d2bf10a2 in main c:\Users\kkinnunen\angle\src\tests\angle_end2end_tests_main.cpp:15
          #18 0x7ff7d2d27897 in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
          #19 0x7ff801ec7973 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017973)
          #20 0x7ff804cea270 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006a270)
      
      Bug: angleproject:2865
      Change-Id: I6c8fc203d075014ba8ce31c728982eed73812d04
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1640212
      Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Roll ./third_party/glslang/src def9662348b0..11805e41d992 (5 commits) · 2d223552
      angle-autoroll authored
      https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/def9662348b0..11805e41d992
      
      
      Created with:
        gclient setdep -r ./third_party/glslang/src@11805e41d992
      
      The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
      
      Documentation for the AutoRoller is here:
      https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
      
      If the roll is causing failures, please contact the current sheriff, who should
      be CC'd on the roll, and stop the roller if necessary.
      
      
      TBR=jonahr@google.com
      
      Change-Id: Idf29d79ea4e9f65e239604225af391de7640f313
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662959Reviewed-by: 's avatarangle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
      Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    • Vulkan: Correct synchronization for buffer readback · b1c8dbf3
      Shahbaz Youssefi authored
      When mapping buffer memory, a flush is performed if the buffer has
      pending operations followed by a finishToSerial to make sure the buffer
      is no longer in use by the GPU.
      
      This also implements GLES 3.0 buffer mapping flags:
      
      GL_MAP_INVALIDATE_RANGE_BIT: No-op. Vulkan's vkMapMemory doesn't have
      such a feature.
      
      GL_MAP_INVALIDATE_BUFFER_BIT: Same
      
      GL_MAP_FLUSH_EXPLICIT_BIT: Vulkan automatically flushes host memory
      writes on vkQueueSubmit, so this is no-op as well.
      
      GL_MAP_UNSYNCHRONIZED_BIT: The flush+finishToSerial call is skipped in
      this case.
      
      Bug: angleproject:3213
      Change-Id: I6bdb460dffbb57170649f4c9678afbfae331926c
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661252
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
  4. 17 Jun, 2019 11 commits
  5. 14 Jun, 2019 4 commits