Log

Author Commit Date CI Message
Ian Elliott 08142700 2020-10-01T19:30:03 Work-around test runner & DebugAnnotator Note: This precedes another CL that needs this change. DebugAnnotator uses a global variable. The test runner doesn't change state between testing different back-ends. This works-around the problem by setting the global variable when the context is switched. Because the GL back-end doesn't have its own DebugAnnotator sub-class, add a Display* to DisplayImpl::makeCurrent(), so that DisplayGL::makeCurrent() can install the front-end-Display's DebugAnnotator. Note: the Vulkan back-end gets this fix even though the new DebugAnnotatorVk class will be added in a follow-on CL. Bug: b/162068318 Bug: b/169243237 Bug: angleproject:5121 Change-Id: If08626a5310f9b4e3210e1a897a6886248e4d8ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451423 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 23624c53 2020-10-05T21:07:02 Test Runner: More docs. Bug: angleproject:3162 Change-Id: I5b282d7815973cef9f7e029bc3c65cf42729e009 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451596 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 77e3d0ae 2020-09-25T14:12:04 Vulkan: Defer the depthStencil buffer layout change to endRenderPass Depth stencil layout may change while we build the render pass, depending on the read/write access been made. Right now we are always inserting a layout change barrier at the start of render pass. Later on when the read/write property changes, we insert another layout change barrier. Similarly, we maintain the attachmentOps and RenderPassDesc::mPackedColorAttachmentRangeAndDSAccess as we changes read/write access. This makes code quite commplicated. This CL moves mReadOnlyDepthStencilMode from FramebufferVK to CommandBufferHelper object and we only maintain that boolean while we updating the read/write access. Then at the end of render pass or when depthStencil image is deleted, we update attachmentOps and mRenderPassDesc and layout transition all at once and only done once. This simplifies the read only depth stencil mode implementation a lot. Bug: b/168953278 Change-Id: Ie263b4526c82a9858e5d1f141ea58f499187a3ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432075 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott f074d61a 2020-09-28T21:40:57 Plumb EntryPoint & Context to DebugAnnotator/EVENT() This makes it easier to plumb debug labels to a future DebugAnnotatorVk class. Bug: b/162068318 Bug: b/169243237 Change-Id: I01e3779569c27c91252dc2874f6deaec526afd6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451516 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 86ca5d2b 2020-10-01T11:56:05 Vulkan: Add plumbing to render pass when ImageHelper gets deleted ImageHelper object is not refcounted and garbage collected and endRenderPass call is deferred until next render pass starts. This caused a situation that an ImageHelper object gets deleted while still referenced in the open render pass. This CL make sure that we call into all shared context's open renderpass when an image goes away so that they can take appropriate action for this. Bug: b/169618408 Change-Id: I5075e805980084db82ca3e699462272eee5d2d59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443571 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Kai Ninomiya da61c40e 2020-10-06T01:57:55 Revert "Work-around test runner & DebugAnnotator" This reverts commit e44c94d96a9b65615fe8f5038e124763ac8c45e5. Reason for revert: Breaks build of DisplayGbm on ChromeOS: src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.{h,cpp} First failing builds: https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28amd64-generic%29/1608 https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28kevin%29/2212 Original change's description: > Work-around test runner & DebugAnnotator > > Note: This precedes another CL that needs this change. > > DebugAnnotator uses a global variable. The test runner doesn't change > state between testing different back-ends. This works-around the > problem by setting the global variable when the context is switched. > > Because the GL back-end doesn't have its own DebugAnnotator sub-class, > add a Display* to DisplayImpl::makeCurrent(), so that > DisplayGL::makeCurrent() can install the front-end-Display's > DebugAnnotator. > > Note: the Vulkan back-end gets this fix even though the new > DebugAnnotatorVk class will be added in a follow-on CL. > > Bug: b/162068318 > Bug: b/169243237 > Bug: angleproject:5121 > Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095 > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Commit-Queue: Ian Elliott <ianelliott@google.com> TBR=courtneygo@google.com,ianelliott@google.com,jmadill@chromium.org Change-Id: I99df2716951726ead24961dc3d27a7ec63aeda80 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/162068318 Bug: b/169243237 Bug: angleproject:5121 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451420 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Jamie Madill a8d4457c 2020-10-02T23:51:57 Change shader compile failures into an info message. This reduces spam in our unit tests. Speeds up test execution. Bug: angleproject:3162 Change-Id: I286a18b3ce862c4e4155076b2ee3f93c9db2eb33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447041 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill d3aa1e9c 2020-10-03T01:31:33 Test Runner: Pass dEQP args to child processes. This fixes the sharding to use the specified back-end. With the bug ANGLE would start the platform default back-end instead. Bug: angleproject:3162 Change-Id: Ib2453dd3c58ea40fb36619301865ae0818038d15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447043 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill f0d9471c 2020-10-02T23:51:57 Test Runner: More misc improvements. - reduces default batch size from 1000 -> 256 - reduces default max processes to a max of 16 - stripes tests when in bot mode - prints less spam when waiting for child processes The striping and smaller batch size can help with slow tests. The max process limit seemed to prevent errors on Linux. Bug: angleproject:3162 Change-Id: Ibed89ca35db54c62ec8ed63b32bc5aed916faec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447037 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Ian Elliott e44c94d9 2020-10-01T19:30:03 Work-around test runner & DebugAnnotator Note: This precedes another CL that needs this change. DebugAnnotator uses a global variable. The test runner doesn't change state between testing different back-ends. This works-around the problem by setting the global variable when the context is switched. Because the GL back-end doesn't have its own DebugAnnotator sub-class, add a Display* to DisplayImpl::makeCurrent(), so that DisplayGL::makeCurrent() can install the front-end-Display's DebugAnnotator. Note: the Vulkan back-end gets this fix even though the new DebugAnnotatorVk class will be added in a follow-on CL. Bug: b/162068318 Bug: b/169243237 Bug: angleproject:5121 Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 7004523a 2020-10-02T23:51:57 KHR_debug: Fix off-by-one message length. The dEQP tests were timing out due to the "get message" call skipping messages. The get call had a bufSize that ANGLE was rejecting as too small because it didn't include the null terminator. The dEQP test would pass but would always take ten seconds. I noticed this when debugging the ANGLE test launcher and seeing batch timeouts. Bug: angleproject:5130 Change-Id: Ie9f949218590b98a11f6c10b1f86074e90dbca17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447039 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 9214fc18 2020-10-05T17:53:48 Suppress failing Mac GL dEQP-GLES3 tests. dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.stencil_index8 dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil.stencil_index8 dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth.stencil_index8 Bug: angleproject:5136 Change-Id: I3e534df7312f173716952adc7ef24ac052914308 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451317 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Trevor David Black f69aaf60 2020-10-05T21:50:10 Replaced allow_list with files_to_check Link to the inclusivity rules https://source.android.com/setup/contribute/respectful-code Bug: b/162834212 Change-Id: I2bb65ca7ae73109dc858c93f3a9f973ebfe9d4cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451318 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor Black <vantablack@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill be73728d 2020-10-03T17:52:25 Improve capture replay tests. Removes the custom logger class and uses the python logging class. Moves the argument descriptions into argparse help. Keep build directories around by default. Essential for normal use. Print more debug messages. Bug: angleproject:5133 Change-Id: Ida48828512abe60ee7d16873cbdb87c58529a60a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446898 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 8608b402 2020-10-04T11:42:08 Capture/Replay: Don't capture XFB 0 in MEC. This will only add an extra unused XFB object. Noticed when capturing from the T-Rex replay. Bug: angleproject:5134 Change-Id: Ia368f9e9f59f9ea7473ac88928a413001fa99496 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449157 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 0ff24ae0 2020-10-05T14:54:31 Suppress failing Mac GL dEQP tests. dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.stencil_index8 dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.stencil_index8 dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.stencil_index8 Bug: angleproject:5136 Change-Id: I787bf4505a5c10d47fa669423df8a7510e28bcab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2450916 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 61b13f8f 2020-09-30T16:29:04 Tests: Update two traces, remove one * Update candy_crush and temple_run to use more recent capture headers. * Remove subway_surfer because the app no longer uses GLES. Its Unity backend now runs Vulkan, so we can't re-record it. Test: angle_perftests --gtest_filter="*Trace*" Bug: angleproject:4845 Change-Id: I9d219f2be05813c50b31287a65bfc099787d114c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441851 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 505a8d05 2020-09-26T23:40:51 Capture/Replay: Split very large replay function. This allows a replay of the T-Rex offscreen benchmark. Bug: angleproject:5133 Change-Id: I9998c4785e61a6410863a1cd8a8a569b1e08098a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446897 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill c15d1e2d 2020-09-26T15:11:43 Capture/Replay: Generalize function splitting. We can use this to split up the replay function as well as very large setup functions. This will let us replay the gfxbench offscreen benchmarks directly. Bug: angleproject:5133 Change-Id: Ic24f25f2ab6821e68356a28a698cb84301e99be2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446896 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 34445b29 2020-10-02T15:23:35 FrameCapture: More fixes for app updates * Disable GL_EXT_map_buffer_range during capture, several native GLES drivers do not support it. * Unmap buffers before updating them during Reset. Some native drivers require it. Test: Temple Run on multiple systems Bug: angleproject:4845 Change-Id: I9aea9c220320095aee87da107320b8fcad6c0a2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll ef897a9c 2020-10-05T10:01:15 Roll SwiftShader from 375fee944c76 to b3c1e71eb1cb (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/375fee944c76..b3c1e71eb1cb 2020-10-02 nicolascapens@google.com Regres: List regressions before summary 2020-10-02 vantablack@google.com Added support for AndroidHardwareBuffer If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I6765670fbd22e6c37290c1ef51823b9148eb765a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2448992 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b33da9ae 2020-10-05T10:01:58 Roll SPIRV-Tools from d91afd8de27a to f15133788010 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d91afd8de27a..f15133788010 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I9509dbb7a234dfd00d9457d522dcdd0068dd2ea8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2448213 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d8b31486 2020-10-05T10:01:38 Roll Vulkan-Headers from e1ba543c6789 to 94ff600cc862 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/e1ba543c6789..94ff600cc862 2020-10-05 oddhack@sonic.net Update for Vulkan-Docs 1.2.156 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Change-Id: Iefb59064e9acccd309eaaef2993f60c70de73dd9 Bug: None Tbr: timvp@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2448959 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e56466d4 2020-10-05T07:01:08 Roll Chromium from 7b91afe96128 to 78d150eb2790 (541 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7b91afe96128..78d150eb2790 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9cc0704ecc..4317485981 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5538030635..ddb20d82f3 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3187b54c0c..54a9cb2f54 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/921f371807..f513a0bef6 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/410285a57e..5e26fff7a7 No update to Clang. Bug: angleproject:5124 Tbr: jonahr@google.com Change-Id: I51018170b29a3c03e59c856db57d4f0d780c20d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449150 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 50070481 2020-10-02T01:03:41 Vulkan: Render pass creation cleanup Bug: angleproject:4836 Change-Id: If7b0beef4b32149bebb0f63558ac34d0c3cd79c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444098 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi c5494728 2020-10-02T00:55:28 Vulkan: Free up 2 bits in PackedAttachmentOpsDesc These bits will be used to aid in invalidation of multisampled-render-to-texture attachments. Bug: angleproject:4836 Change-Id: Ib2b438386f8cd8c057bc0ef16144b9d2ddbc1594 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444097 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 23825b12 2020-10-02T16:32:32 Test Runner: Set interrupted to 'false' normally. The bug here was to output 'interrupted: true' when running in --bot-mode. Instead in normal execution we will output that we were not interrupted. Bug: angleproject:3162 Bug: chromium:1134619 Change-Id: I3842e90466473ff05b0b90bc4660f88606a3c9f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446851 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill c488f0c9 2020-10-02T16:23:08 Suppress flaky test on Win/Intel/GL. CopyTextureTestES3.ES3UnormFormats/ES3_OpenGL Bug: angleproject:5127 Change-Id: I93628beb92b8d9b4d8c6f70b32d15ed9add54667 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446595 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Trevor David Black e815afbf 2020-09-07T22:09:22 First pass at increasing inclusivity Link to the inclusivity rules https://source.android.com/setup/contribute/respectful-code Bug: b/162834212 Bug: chromium:1097198 Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor Black <vantablack@google.com>
Jeff Vigil 7a92d958 2020-07-21T16:32:49 Implement GL_OES_texture_stencil8 Add extension to Caps and code gen files. Add to Validation of TexImage Add all the autogen for new extension Fix swizzle for stencil only Add LoadFunction Fix formatutils Add validation Test: angle_deqp_egl_tests --deqp-case=GLES31.functional.stencil_texturing.format.stencil_index8_2d Bug: angleproject:3231 Change-Id: Id59c7d183ea1658732887e99637d9c8faab938e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404327 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 513095e9 2020-10-02T11:47:19 Disable AMD OpenGL testing on Windows ANGLE tests. Our current CI testing for AMD is quite out-of-date and unsupported. If necessary we could skip based on a GPU device ID. Bug: angleproject:5123 Change-Id: Idf919a330aa9903ad80aba38f745d4a35d1b501e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446092 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao c6dc9d73 2020-09-19T20:09:34 Vulkan: Add a test and fix the bug with draw/invalidate/clear This adds a test that does draw with depth enabled, then disable depth test but with depth mask still enabled. Then invalidate framebuffer and followed by a clear. That clear will go down clearWithCommand path and should still work and data stored. Bug: b/169590459 Change-Id: I6dd30d6a1e12ad7820d98fe79445c336cfa3a643 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422081 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill e9a82849 2020-10-02T11:29:44 Skip ResizeWindowWithDraw test on all Linux. Flakes on NVIDIA Linux as well when run in certain orders. Bug: angleproject:4453 Change-Id: I7565b7868518d01d5e928ce95d0edb8abd651e28 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446091 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya a2d9abef 2020-10-01T16:28:59 Vulkan: Add OES_sample_shading extension entry points Addition of just the entry points for OES_sample_shading extension. Bug: angleproject:3587 Change-Id: I7ef5ceb846d130c2d1e0b4ea7dcbe92452b5d7d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444212 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jeff Vigil 348814f9 2020-09-30T09:50:10 EGL: Add stencil8 to configs Add stencil8 option to Depth and Stencil of configs based on support of stencil8 format from GLES. Add stencil8 to configs Adjust dEQP-EGL expectations Unblocks dEQP-EGL.functional.*.*_no_depth_stencil tests Test: angle_deqp_egl_tests Bug: angleproject:3231 Change-Id: I57d7085a71a5b0dc45803351c9116a1694668852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430191 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2f3d18f2 2020-10-01T05:58:44 Vulkan: Fix unresolve disagreement between FB and RP FramebufferVk::updateRenderPass reset the render pass description, but not the framebuffer description. This caused a disagreement between the two regarding which attachments need to be unresolved. Later, FramebufferVk::startNewRenderPass could miscalculate whether a new framebuffer needs to be generated based on changes in unresolve attachments. For example: - say in the first render pass color needs to be unresolved. Both RP and FB desc would remember this (each being keys for their respective caches). - A following operation triggers syncState such that FB desc changes (for example rebind of attachment), which cleared RP desc but not FB desc's unresolve attachment state. - If the next render pass does not require an unresolve (for example due to a clear or invalidate), then the framebuffer is not recreated because according to RP desc at the start and end of FramebufferVk::startNewRenderPass there has been no change in unresolve mask. * At start there's no unresolve because of syncState clearing it. * At end there's no unresolve because there's no need for unresolve. - In the end, the framebuffer used for the first render pass would be used for the second render pass as well. Note that: * The first render pass included an unresolve, i.e. two subpasses. * The second render pass requires one subpass according to its RP desc. It's quite easy to accidentally have the framebuffer correctly recreated (based on the reset RP desc) before FramebufferVk::startNewRenderPass. Note that since syncState has called updateRenderPass, FB desc has necessarily changed, and mFramebuffer is nullptr, so any call to FramebufferVk::getFramebuffer would recreate the framebuffer. Both clear and invalidate call FramebufferVk::getFramebuffer. The issue is reproducible in situations where clear/invalidate has been called before the framebuffer is modified, and then draw is issued after the modification. An ASSERT is added to catch discrepencies between RP desc and FB desc to catch bugs even when the issue doesn't manifest itself as a VVL error. Bug: angleproject:4836 Change-Id: I8a0d116402a6c298377d03e0908baa942019ccd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 527064f1 2020-10-02T10:01:29 Roll Vulkan-Loader from 0c0ac2c6c458 to 7c07085ad1cc (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0c0ac2c6c458..7c07085ad1cc 2020-10-01 lenny@lunarg.com loader: Fix incorrect allocation error cleanup If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I2594abe522813ea09b7525ff87a6b182dfff79a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2445061 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4bb78856 2020-10-02T10:01:45 Roll Vulkan-ValidationLayers from 7a78cc629cca to b588cd4df419 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7a78cc629cca..b588cd4df419 2020-10-01 mark@lunarg.com chassis: Make gpuaf/debugprintf add'l parm void* 2020-10-01 jleger@qti.qualcomm.com fix formatting error 2020-10-01 jleger@qti.qualcomm.com Add fix for renderpass compatibility 2020-10-01 jeremyg@lunarg.com state_tracker: Remove 'using std::*' statements If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I2612ffebd6b287f0f303a98ddee7ac567763d8b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2445062 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 073ff5fe 2020-10-02T10:01:46 Roll Vulkan-Tools from c5c6265c026e to 14289452a832 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/c5c6265c026e..14289452a832 2020-10-01 charles@lunarg.com vulkaninfo: Add more portability macro guards 2020-10-01 charles@lunarg.com vulkaninfo: properly macro guard the portability features. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I2618db2a3b4cf6306b68fb8fc9053bd1a5dce4c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2445063 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a2618061 2020-10-02T10:01:14 Roll SwiftShader from 5e947adaf26e to 375fee944c76 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/5e947adaf26e..375fee944c76 2020-10-02 zzyiwei@google.com Use vndk/window.h instead of the system one 2020-10-01 swiftshader.regress@gmail.com Regres: Update test lists @ 5e947ada If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I8317cc5e94ba148993be70910c95b62807db4044 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2445060 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2b7e7262 2020-10-02T10:00:58 Roll SPIRV-Tools from 615fbe6cbc78 to d91afd8de27a (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/615fbe6cbc78..d91afd8de27a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Id07d30f214dafc716c2b41aa2297021e7405df1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2445059 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7530bab3 2020-10-02T07:00:19 Roll Chromium from 5efa84e265f7 to 7b91afe96128 (507 revisions) https://chromium.googlesource.com/chromium/src.git/+log/5efa84e265f7..7b91afe96128 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/83b9c33a0b..9cc0704ecc * testing: https://chromium.googlesource.com/chromium/src/testing/+log/66ad7ae099..5538030635 No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: I5f39cb814435589c2cec8c37efa277c40a904306 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444100 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 1fd3e5d8 2020-10-01T10:00:18 Test Runner: Fix race in watchdog timeouts. This fixes a TSAN warning that popped up with the standalone test runner. The watchdog timer actually was never started so timeouts were not working as intended. It also switches the timeout mode to call _Exit which skips all the atexit handlers and avoids some races on teardown. This change also speeds up the TestSuiteTest. Also a small fix to GetTempDir that was including an extra path separator on Windows. Bug: angleproject:3162 Bug: angleproject:5117 Change-Id: I0e7880a08b61bbb6e30c65665d5c0acec2d78db2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442381 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 01641c7a 2020-09-30T15:25:28 Vulkan: Fix UtilsVk clear in non-zero subpass Mid-render-pass clears (through UtilsVk) run on the current subpass, which in the presence of multisampled-render-to-texture unresolve would be subpass 1. The graphics pipeline for that draw call should set the correct subpass index. Bug: angleproject:4836 Change-Id: Iba4a03ea96a63b0f5d09c27e5283ff8a8b534e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441509 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6534a6f8 2020-10-02T01:10:54 Revert "Vulkan:Add debug labels for OpenGL calls" This reverts commit 3705fc41315b50a64299ecb1d75015a33fefd6aa. Reason for revert: Causes errors on Debug bots. See bug. Bug: angleproject:5121 Original change's description: > Vulkan:Add debug labels for OpenGL calls > > Implement the DebugAnnotatorVk class, and plumb the EVENT macro in the > GL entrypoints to save a string of call info in the vector of all > GL calls in ContextVk. > > Then add a vkCmdBeginDebugUtilsLabelEXT() call that includes the > OpenGL draw/dispatch call prior to any Vulkan Draw or Dispatch calls. > Also embedded under that label add a second > vkCmdBeginDebugUtilsLabelEXT() call labeled "OpenGL Commands" that > includes all of the OpenGL calls leading up to the draw/dispatch. > Each individual OpenGL call is then given its own > vkCmdBegin/EndDebugUtilsLabelEXT() pair so that the complete sequence > of GL calls leading up to a draw call is visible for each Draw. > > Enable the OGL->VK mapping feature by setting > "angle_enable_trace = true" in GN args. > > Note: This will create an ANGLE APK on Android that generally won't > work with games, unless launched by AGI (which provides the debug > utils extension). A future version will disable these labels unless > the debug utils extension is found. > > Bug: b/162068318 > Bug: b/169243237 > Change-Id: I09886f17fa9287528c12552698738ea1fe2a4b8c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427557 > Commit-Queue: Ian Elliott <ianelliott@google.com> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=courtneygo@google.com,ianelliott@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: b/162068318 Bug: b/169243237 Change-Id: I772d549213e1ad64ae58a1937e5de0f7ea740084 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444094 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 7b25b643 2020-10-01T08:49:58 Add a standalone GN isolate map. This will allow us to use trigger.py in a standalone checkout to fire off swarming jobs. Bug: angleproject:5114 Change-Id: I99302a4e8fdfc0f6d9996748a2d6c97dc5f03cde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442079 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis eb1df14b 2020-10-01T16:25:33 Suppress MultisampledRenderToTextureBenchmark on Pixel2/GLES This test started failing, but we don't care about performance on GLES so we can suppress it for now. Bug: angleproject:5120 Change-Id: If5eb865956ee5fb6f798d110d42e3493294bc18e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443590 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi a8872e6d 2020-10-01T15:54:25 Skip MSRTT tests on Nvidia/Windows7 These bots don't have VK_EXT_depth_stencil_resolve. Bug: chromium:1134286 Change-Id: I4cc5a627996139bf03dc3cc334435d08876a0a8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443584 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade 22d7db6e 2020-09-25T18:09:23 Vulkan: Change sampleCoverage calculation When emulating the sample coverage to a mask, truncate the value. Test: dEQP-GLES3.functional.multisample.fbo*sample_coverage* Bug: angleproject:4568 Change-Id: Ie0f9fee7dc7cf08e2289ff24f0fa69f9929c4ae3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433069 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen 6136cbcb 2020-09-23T21:31:05 Metal: Implement transform feedback - XFB is currently emulated by writing to storage buffers. - Metal doesn't allow vertex shader to both write to storage buffers and to stage output (i.e clip position). So if GL_RASTERIZER_DISCARD is NOT enabled, the draw with XFB enabled will have 2 passes: + First pass: vertex shader writes to XFB buffers + not write to stage output + disable rasterizer. + Second pass: vertex shader writes to stage output (i.e. [[position]]) + enable rasterizer. If GL_RASTERIZER_DISCARD is enabled, the second pass is omitted. + This effectively executes the same vertex shader twice. TODO: possible improvement is writing vertex outputs to buffer in first pass then re-use that buffer as input for second pass which has a passthrough vertex shader. - If GL_RASTERIZER_DISCARD is enabled, and XFB is enabled: + Only first pass above will be executed, and the render pass will use an empty 1x1 texture attachment since rasterization is not needed. - If GL_RASTERIZER_DISCARD is enabled, but XFB is NOT enabled: + we still enable Metal rasterizer. + but vertex shader must emulate the discard by writing gl_Position = (-3, -3, -3, 1). This effectively moves the vertex out of clip space's visible area. + This is because GLSL still allows vertex shader to write to stage output when rasterizer is disabled. However, Metal doesn't allow that. In Metal, if rasterizer is disabled, then vertex shader must not write to stage output. - See src/libANGLE/renderer/metal/doc/TransformFeedback.md for more details. Bug: angleproject:2634 Change-Id: I6c700e031052560326b7f660ee7597202d38e6aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408594 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill b09f16ee 2020-10-01T10:02:07 Don't pull in Vulkan headers in Skia standalone. Bug: angleproject:5118 Change-Id: I92f4932b9d0c0413703177d13ae526307327a710 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442382 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop b390d8b0 2020-09-30T16:28:46 Capture/Replay: Minor fixes for MEC Detected when recapturing Temple Run and Candy Crush. Each of these apps has updated recently. Test: angle_perftests --gtest_filter="*Trace*" Bug: angleproject:4845 Change-Id: Id0e8d362661d97d7b8e60b3afb0a3a989b6a6771 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 64eb64a0 2020-10-01T10:01:59 Roll SPIRV-Tools from fcb22ecf0f7e to 615fbe6cbc78 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fcb22ecf0f7e..615fbe6cbc78 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ie48755f1b9097f2c54609c6d4ac3d81b4cee25bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441348 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 27331a01 2020-10-01T10:01:14 Roll SwiftShader from b042f4e70879 to 5e947adaf26e (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/b042f4e70879..5e947adaf26e 2020-10-01 capn@google.com Fix clamping cube face coordinates to [0.0, 1.0) range 2020-09-30 nicolascapens@google.com Fix delegating eglCreateWindowSurface to CreatePlatformWindowSurface 2020-09-30 amaiorano@google.com Fix GN build 2020-09-30 amaiorano@google.com Optimize transcendentals for Subzero If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I729937d96941832d2330eac96ec00b4e08939bca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441986 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 456af879 2020-10-01T10:01:45 Roll Vulkan-ValidationLayers from e2b329a75b6a to 7a78cc629cca (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e2b329a75b6a..7a78cc629cca 2020-09-30 shannon@lunarg.com build: Update Android known-good for 1.2.154 SDK 2020-09-30 tony@lunarg.com tests: Add test for sampler with null image view 2020-09-30 tony@lunarg.com layers: Allow for sampler with null image view If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I7b3d6184abeda68c76acba190a15d320abc26070 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441987 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3d5e8c4c 2020-10-01T08:05:56 Roll Chromium from 18cdc3179c58 to 5efa84e265f7 (627 revisions) https://chromium.googlesource.com/chromium/src.git/+log/18cdc3179c58..5efa84e265f7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3ede10128b..83b9c33a0b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fe12eb7d0a..66ad7ae099 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/bd8e096f1d..921f371807 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/6c5b056475..410285a57e No update to Clang. Bug: angleproject:5038 Tbr: jonahr@google.com Change-Id: I6d685864226e263081fe146ff3e7d04cfed4d336 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441981 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 11d94d86 2020-09-23T15:16:19 Integrate Skia Gold with restricted trace tests. The implementation is based heavily on the Chromium Skia Gold Python classes in //build/skia_gold_common . Results will be visible here: https://angle-gold.skia.org/ Currently results are not visible until this CL lands. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I7a5d64fe35583ad7ea6360804a0f6b72cd9f6d8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430179 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 38ef7955 2020-09-30T18:27:47 Drop isolated perf output arg in test runner. This argument isn't used and is in the process of being removed. We need to remove it partially to unblock landing ANGLE tests in Chrome. We can follow up later to remove it from the argument set. Bug: angleproject:3162 Change-Id: I3f80eb1bc14fd93a2b6d9732e51f49873fabb27e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com>
Tim Van Patten 91b819a9 2020-09-30T10:02:04 Vulkan: Always reset during createPipelineLayout() We need to always call reset() during createPipelineLayout(), particularly to reset the descriptor pools to handle the new descriptor set layouts that are generated by new immutable samplers. Otherwise, DynamicDescriptorPool::init() will detect that a pool is attempting to be created with a mis-matching descriptor set layout handle. Bug: angleproject:4307 Test: Manually verify Cut the Rope doesn't crash Change-Id: I0993bc37170e3ddf45c50abdfefda1d7f782b801 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441127 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Ian Elliott 3705fc41 2020-09-28T21:40:57 Vulkan:Add debug labels for OpenGL calls Implement the DebugAnnotatorVk class, and plumb the EVENT macro in the GL entrypoints to save a string of call info in the vector of all GL calls in ContextVk. Then add a vkCmdBeginDebugUtilsLabelEXT() call that includes the OpenGL draw/dispatch call prior to any Vulkan Draw or Dispatch calls. Also embedded under that label add a second vkCmdBeginDebugUtilsLabelEXT() call labeled "OpenGL Commands" that includes all of the OpenGL calls leading up to the draw/dispatch. Each individual OpenGL call is then given its own vkCmdBegin/EndDebugUtilsLabelEXT() pair so that the complete sequence of GL calls leading up to a draw call is visible for each Draw. Enable the OGL->VK mapping feature by setting "angle_enable_trace = true" in GN args. Note: This will create an ANGLE APK on Android that generally won't work with games, unless launched by AGI (which provides the debug utils extension). A future version will disable these labels unless the debug utils extension is found. Bug: b/162068318 Bug: b/169243237 Change-Id: I09886f17fa9287528c12552698738ea1fe2a4b8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427557 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter b156a753 2020-09-28T16:43:50 Move LayoutCaches to ShareGroup Testing with TSN found a race condition with RefCounted objects (DescriptorSetLayout and PipelineLayout). Rather than add more lock calls to protect accesses to mRefCount and mObject recommendation was to put these caches in the ShareGroup (basically part of the context). Locking at the GL level will ensure that two threads that share the same context will not access the ShareGroup at the same time. The ShareGroup also works because these layouts are not destroyed until the context is destroyed so don't have to worry about other threads (e.g. command processor thread) accessing them. Bug: b/168744561 Change-Id: Icc0aa07bf4787a69572d6ec62da2f21d286232c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437509 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao b3859a3c 2020-09-30T12:52:39 Vulkan: disable glFlush deferral optimization for QualComm GPUs. It appears this optimization causing Manhattan performance regression on pixel4 with QualComm GPU. It does have a measurable performance improvement on S20+ that has ARM GPU. This disables this optimization for QualComm but still leaves it enabled on other GPUs. Bug: b/166475273 Change-Id: I9c9cd55ab169463fc8cc16d7d917be660cb2f363 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441667 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill e1d1b8b3 2020-09-29T19:59:54 Fix info collection on Android without Vulkan. Allows Vulkan info collection even if Vk is not enabled in ANGLE. Also removes the system_utils error message so that the Android test runner can parse the standard output without conflicts. Bug: chromium:1133459 Bug: angleproject:5109 Change-Id: I7d7bff0f1c3e456342f27538812b33ee6cd1054b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2436657 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f8e5b97e 2020-09-28T23:31:41 Additional perf test cleanup & functionality. Adds several new command line arguments and documents all args in the README. Changes the trace tests to output milliseconds. Bug: b/169600938 Change-Id: Ie8c7840a6a8958951992c806979dde6dc7d8a709 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438194 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Courtney Goeltzenleuchter 34f66126 2020-09-10T15:59:22 Vulkan: Check that its okay to add commands It can be hard to tell sometimes when the mRenderPassCommands or mOutSideRenderPassCommands command buffers have changed and there have been some issues with code that locally caches a pointer to a commandBuffer that then becomes invalid. This change adds checking so that if a command is being added to a commandBuffer that's been closed (e.g. submitted for processing) then we hit an assert. Bug: b/168144059 Change-Id: If5d37c462e3bcb51f6ec2ca44c27a2fad4e57c19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405812 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 463e02e6 2020-09-29T14:46:46 Vulkan: Constants for unpacked D/S attachment indices kClearValueDepth/StencilIndex is renamed and repurposed in other places where depth and stencil are placed at indices MAX_DRAW_BUFFERS and MAX_DRAW_BUFFERS+1. Bug: angleproject:4836 Change-Id: Idaeff5017d944d786a5f388c4f1ce3a4e3fe9b7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437505 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll fa082bb5 2020-09-30T10:01:58 Roll SPIRV-Tools from c6ca885c0b4a to fcb22ecf0f7e (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c6ca885c0b4a..fcb22ecf0f7e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ice3b01847559d28504fbdb31fce4bd4e2445cfd3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438321 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d2764304 2020-09-30T10:01:45 Roll Vulkan-ValidationLayers from db992e60cc7a to e2b329a75b6a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/db992e60cc7a..e2b329a75b6a 2020-09-29 jmadill@chromium.org layers: Fix duplicate header in GN build. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I59148be2f0530db904394c864c8fd264f47166c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438319 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9efc2480 2020-09-30T10:01:14 Roll SwiftShader from 44be0942f9a8 to b042f4e70879 (15 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/44be0942f9a8..b042f4e70879 2020-09-29 caramelli.devel@gmail.com EGL_KHR_platform_x11: wrong implementation in CreatePlatformWindowSurface() 2020-09-29 caramelli.devel@gmail.com Add DirectFB support for Vulkan WSI 2020-09-29 srisser@google.com Add VK_KHR_imageless_framebuffer 2020-09-29 bclayton@google.com SpirvShaderDebugger: Mark II 2020-09-29 bclayton@google.com Vulkan/Debug: Support Locations as hashmap keys 2020-09-29 bclayton@google.com System/Types: Add support for vec3 2020-09-29 bclayton@google.com Pipeline: Remove hack to disable spirv-opt when debugging 2020-09-29 bclayton@google.com Vulkan/Debug: Add Context::Lock::findFile() 2020-09-29 bclayton@google.com src/Pipeline: Misc fixes 2020-09-29 bclayton@google.com Vulkan/Debug: Various fixes / improvements to Thread 2020-09-29 bclayton@google.com Vulkan/Debug: Don't accumulate function breakpoints 2020-09-29 bclayton@google.com Vulkan/Debug: Overhaul Values / Variables 2020-09-29 bclayton@google.com Vulkan/Debug: Assert on locking context twice on same thread 2020-09-29 bclayton@google.com Vulkan/Debug: Add File::getBreakpoints() 2020-09-29 bclayton@google.com Vulkan/Debug: Split EventListener If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I1ed77dc24226c95be3dcb458b2ea705703ec56c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2439100 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2bf019f7 2020-09-30T10:01:46 Roll Vulkan-Tools from 2bfd6a752dc6 to c5c6265c026e (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/2bfd6a752dc6..c5c6265c026e 2020-09-29 nathaniel@lunarg.com build: Fix linux/windows build in single directory 2020-09-29 richard@lunarg.com Update known_good.json for MoltenVK 2020-09-29 richard@lunarg.com Fixed paths for MoltenVK changes If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ia046082a56d0d9a5ed0095f75ab8cf35793ec1d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438320 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 58a9893c 2020-09-30T10:01:46 Roll Vulkan-Loader from 8fdc21e4078d to 0c0ac2c6c458 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/8fdc21e4078d..0c0ac2c6c458 2020-09-29 charles@lunarg.com docs: Update static linking info If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ia0290adf8de0751eaada3f97963b9b5b0f0f986d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2439101 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll cb4a008a 2020-09-30T07:00:12 Roll Chromium from 3049a95d28fb to 18cdc3179c58 (353 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3049a95d28fb..18cdc3179c58 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/00ed20cfb8..3ede10128b * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/3ff4f5027b..4be464e050 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/31ad7f13e1..fe12eb7d0a * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/4668feaaa4..26211a5a8e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3017edade6..bd8e096f1d * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/dec9a2365d..6c5b056475 No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: I4a39180b2dbd382967aea77fe9121ce439b8dea1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2439767 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 43163491 2020-09-22T11:45:06 Vulkan: Unresolve depth/stencil MSRTT attachments Using the same shader that unresolves color, this change allows depth/stencil to be unresolved as well. In turn, this allows the depth and stencil loadOp/storeOp of the implicit multisampled image associated with a multisampled-render-to-texture renderbuffer to be set to DONT_CARE. Stencil unresolve depends on VK_EXT_shader_stencil_export. In the absence of this extension, the stencil aspect is not unresolved and must continue to use loadOp=LOAD and storeOp=STORE. This is not ideal, but the expected use-case of depth/stencil MSRTT renderbuffers is that they get invalidated, so that load and store wouldn't happen in practice. Bug: angleproject:4836 Change-Id: I9939d1e15e10fa8ed285acdd6fe6edb42c59054f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427049 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 74ed9b65 2020-09-16T16:50:31 Support EXT_color_buffer_half_float on WebGL 2.0 contexts EXT_color_buffer_half_float was recently updated to be valid for WebGL 2 contexts because iOS can't support EXT_color_buffer_float. Bug: angleproject:5038 Change-Id: Ib0d35c6b26a6cd215ff6725e92c47d1efd64e048 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415187 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill e9813ba0 2020-09-29T19:38:03 trigger.py: Add launching of Android tests. This adds new conditonal arguments --device-type and --device-os (shortened as -t and -o) that specify an Android device type/OS. In practice only -t is usually necessary. Also makes the GPU dimension optional (-g or --gpu). Bug: angleproject:5109 Bug: chromium:1133459 Change-Id: Id975c676db40e9eb104b73a4ed5858e6083cbd70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2439481 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten f57b00f1 2020-09-28T09:53:52 Vulkan: Don't modify mReadOnlyDepthStencilMode in syncState() We're currently looking for any deferred clears before disabling read-only depth/stencil mode in FramebufferVk::syncState(). This CL removes that checking, since read-only D/S mode is configured at the start of a render pass, so it doesn't need to be updated again as part of changing framebuffers. Bug: b/168953278 Test: CQ Change-Id: I386114640f2b763c964d5ef0c18b1d31449a6f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435497 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya 43a3519d 2020-09-29T11:45:58 Add Samsung to ANGLE vendor list Add Samsung's PCI-SIG vendor ID to ANGLE's list of known vendors. Bug: angleproject:5111 Change-Id: I0ec7b6b0dd057fc02828ccb3bfd597591cd7a9ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438930 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten ec42b143 2020-09-28T10:15:46 Check angle_enable_abseil in Abseil group and config The contents of the group angle_abseil and config angle_abseil_config needs to be underneath a check of angle_enable_abseil, so we don't erroneously attempt to access Abseil files when Abseil is disabled (like when building ANGLE in Skia). Bug: angleproject:4873 Bug: skia:7647 Test: CQ Test: Manual verification of Skia 'gn gen' on Windows Change-Id: I587da0edb66be8c422ae4e7f9d7ed0461749179a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435898 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6e36029d 2020-09-28T21:57:08 Disable Mock ICD perf tests on Android. Bug: angleproject:5084 Change-Id: Iafff2adbd8bfc2844c43ca31329f3f8be1250631 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438193 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 2cace8f8 2020-09-29T10:01:14 Roll SwiftShader from b94db86cf9b3 to 44be0942f9a8 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/b94db86cf9b3..44be0942f9a8 2020-09-28 bclayton@google.com Pipeline: Fix return type of SIMD::Pointer::limit() 2020-09-28 bclayton@google.com Pipeline: Assign to SpirvRoutine::pointCoord If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ie8783795d53a8c576e4f362ce97a749586b828d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438152 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ebb87e1e 2020-09-29T10:01:58 Roll SPIRV-Tools from 4b07d50cd9a0 to c6ca885c0b4a (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4b07d50cd9a0..c6ca885c0b4a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I52e67398f10213eb3044055347bc66be04c77142 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438153 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll dbb090f4 2020-09-29T07:01:43 Roll Chromium from 30cee4f4533f to 3049a95d28fb (469 revisions) https://chromium.googlesource.com/chromium/src.git/+log/30cee4f4533f..3049a95d28fb If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/8f04da0238..00ed20cfb8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/505458c140..31ad7f13e1 * tools/skia_goldctl/linux: afwCiHe5Fh5p0UN2CvmhSo6uWXlU0d289Yml61Egvg0C..dMvix4BkhDJmKBK1tudaxlOMub1Dif3ZPcqzSY72-ZAC * tools/skia_goldctl/mac: _s8IulBrrqUxGhXDY3zbvzauPXhMHKLl63qibypfwXcC..xJncEfNMb0HaDG9EglMx2YNbKAxqk6qJbckhfn0BXb8C * tools/skia_goldctl/win: 4faik34WiW106WOvsK6NNM4Q1Bz0vY5c29bxlSAWOWMC..cLgS219WFD65Hr6NfoCQYA5KEE2FfO3FBl30KYhpTFoC No update to Clang. Bug: angleproject:2634,angleproject:4090 Tbr: jonahr@google.com Change-Id: If22a4ed8cd1b89379bdfc72e74bfe2f3b0094825 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438049 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ian Elliott 981a401e 2020-09-25T08:00:28 Add Context* to EVENT() & DebugAnnotator::beginEvent() This will make it easier for us to record GLES calls and log them with Vulkan vkCmd*DebugUtilsLabelEXT() Bug: b/162068318 Change-Id: I6bddf086ef39cbaca313409802bbb4f2da0d85cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432193 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
James Darpinian 3af07fd5 2020-09-24T14:26:11 EXT_float_blend is core in ES 3.2 Bug: angleproject:5098 Change-Id: I084defba9dd83153a9b8d2ee83f7d50e82eb154c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430164 Reviewed-by: Shrek Shao <shrekshao@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tim Van Patten 2663e601 2020-09-24T18:28:31 Vulkan: Dynamically grow descriptor pool sizes Initial testing using benchmarks shows that the majority of the descriptor pools allocate fewer than 32 descriptor sets worth of descriptors. This CL reduces the initial size of each pool from 128 to 32 to reduce memory consumption. Additionally, when a pool is exhausted and a new one is created, the size of the pool doubles each time, up to a max of 512 descriptor sets worth of descriptors. This allows us to aggressively increase the size of the pools that appear to be very hot and decrease the total number of pools created. Bug: angleproject:5067 Test: CQ Change-Id: I190059cf04134902d6251d475dd908c1cbb82b58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430193 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jeff Vigil 6612da1f 2020-09-25T09:52:58 GL_OES_texture_stencil8 autogen Add extension string to registry_xml.py and autogen files. Bug: angleproject:3231 Change-Id: I57d7f8d8e9292f32b2ae461c539296eb63ce26d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432270 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 19e9df68 2020-09-23T23:37:17 Re-land "Add a small unit test that dumps system info." Re-land fixes the GL APIs accidentally leaking into the test. We can use this in the trace gold tests to identify system properties. The test uses Vulkan info collection when available and dumps out the known GPU info as JSON. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I1481fee14ed8c573f10164d74ec27701e1ad80ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433090 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1179b299 2020-09-25T21:33:10 D3D11: Enable renderable mipmap generation. This path might have been broken some time back with the "setData" path enabled. This speeds up sRGB mipmap generation considerably. Bug: chromium:1130678 Change-Id: Id1c22bc1cfb815339bad5955ce990fe9f48d8b5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432112 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 7930477f 2020-09-28T10:01:46 Roll Vulkan-Tools from e7fcc14d450b to 2bfd6a752dc6 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/e7fcc14d450b..2bfd6a752dc6 2020-09-25 charles@lunarg.com vulkaninfo: Add json output for portability subset If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I3e0a2020f6e8467284616c7b89e92e4714b8e72e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435252 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 061e6844 2020-09-28T10:02:45 Roll Vulkan-ValidationLayers from 8ab1c000aaa0 to db992e60cc7a (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8ab1c000aaa0..db992e60cc7a 2020-09-25 shannon@lunarg.com build: Update glslang commit for 154 SDK 2020-09-25 jzulauf@lunarg.com syncval: Add multi subpass dep support 2020-09-25 jzulauf@lunarg.com syncval: Add multi subpass dep to state tracker 2020-09-25 jzulauf@lunarg.com syncval: Clarify debugging usage for all platforms 2020-09-25 jzulauf@lunarg.com syncval: Integrate quick start into usage doc If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Ib2c182d12c49369250c83b48b212b12c9016943f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435254 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 059781ed 2020-09-28T10:01:37 Roll Vulkan-Headers from 7f9879b1b1fa to e1ba543c6789 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/7f9879b1b1fa..e1ba543c6789 2020-09-28 oddhack@sonic.net Update for Vulkan-Docs 1.2.155 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Change-Id: I9141f819aee62a66e15ac532f509b6768560307b Bug: None Tbr: jonahr@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435285 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fbb1d1c1 2020-09-28T10:01:58 Roll SPIRV-Tools from 9e17b9d07a25 to 4b07d50cd9a0 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9e17b9d07a25..4b07d50cd9a0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: If1f4bfaad428e2b7c86125670ce9a933317b6615 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435253 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d2f6cc6f 2020-09-28T07:01:04 Roll Chromium from 1ba024edc1fa to 30cee4f4533f (638 revisions) https://chromium.googlesource.com/chromium/src.git/+log/1ba024edc1fa..30cee4f4533f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9efd36f044..8f04da0238 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/de417f8eec..505458c140 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/75b1e4b1dd..dec9a2365d * tools/skia_goldctl/linux: XNeE-uWpzXzcRoD6ylUJHEbIn411jlyiRNiGMUlyH9wC..afwCiHe5Fh5p0UN2CvmhSo6uWXlU0d289Yml61Egvg0C * tools/skia_goldctl/mac: McQX6w7ojyNaDcWISrmicbt00IsXxTSvxjuEPfPLiIEC.._s8IulBrrqUxGhXDY3zbvzauPXhMHKLl63qibypfwXcC * tools/skia_goldctl/win: 1qkV-5d6qu6v6W60NcAt1E8QDBmBNVS9ndWZPH93OVwC..4faik34WiW106WOvsK6NNM4Q1Bz0vY5c29bxlSAWOWMC No update to Clang. Bug: angleproject:4090 Tbr: syoussefi@google.com Change-Id: Iec8c5ab4727cd14651ac6158d0a9bf7200e0af7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2434843 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 6f521921 2020-08-24T11:29:33 Vulkan: Use one triangle for full-screen utils In tiling GPUs, using two triangles means the tiles intersecting the seam would be processed twice. Bug: angleproject:4936 Change-Id: Ib10b77e6ab15bba932f0e4e970e10ed5a8399cdd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372623 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 88dd1a59 2020-09-26T18:21:19 Revert "Add a small unit test that dumps system info." This reverts commit 52ee81cfdc13d3f44c1b5db041b14f236c57188c. Reason for revert: Causes build failure on Android (https://ci.chromium.org/b/8868097753228061152), and is blocking ANGLE roll (crrev.com/c/2433419) Original change's description: > Add a small unit test that dumps system info. > > We can use this in the trace gold tests to identify system properties. > The test uses Vulkan info collection when available and dumps out the > known GPU info as JSON. > > Bug: angleproject:4090 > Bug: b/168049670 > Change-Id: Ib8d2244d82b650b94818da30adab180b471af556 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> TBR=cnorthrop@google.com,jmadill@chromium.org Change-Id: I2b87c323c896be67aa9fbee2cad980927d551d7f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4090 Bug: b/168049670 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433089 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill dff93316 2020-09-25T13:31:25 Add Skia Gold CIPD package to DEPS. Will be used in restricted trace testing. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I0931a974c665dd8f8cf557c8af3bdc6e2fdc2544 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2431776 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao ae24f28a 2020-09-22T17:33:32 Vulkan: Move mReadOnlyDepth out of FramebufferDesc The depth read only or not should not affect VkFramebuffer creation. RenderPasses with just depthstencil layout differences are considered compatible. This CL moves this out of FramebufferDesc into FramebufferVk. Bug: b/168953278 Change-Id: I5bd05b262b7b3b0dc70f9fb8fc4a3db5e7082916 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425032 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao d2d9e682 2020-09-15T16:06:42 Vulkan: Use DepthStencilReadOnly when it is read only. We are tracking depth and stencil read or write during the renderpass. We can use that to switch to DepthStencilReadOnly layout if both depth and stencil are not writing. This allows drivers to optimize out the storeOp for the renderpass. Bug: b/168953278 Change-Id: Id82e06b4bae1ae8c83d880bb5e58accfa61f8191 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2411336 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 52ee81cf 2020-09-23T23:37:17 Add a small unit test that dumps system info. We can use this in the trace gold tests to identify system properties. The test uses Vulkan info collection when available and dumps out the known GPU info as JSON. Bug: angleproject:4090 Bug: b/168049670 Change-Id: Ib8d2244d82b650b94818da30adab180b471af556 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi a3b16c6b 2020-08-28T16:14:30 Vulkan: Workaround vkCmdClearAttachment bug on Pixel Adds a workaround to use draw calls to clear color instead of vkCmdClearAttachment when the clear happens in the middle of render pass. On Pixel phones, vkCmdClearAttachment races with the previous draw calls in the render pass. Bug: b/166809097 Change-Id: I8c96b87793da191757635658ad4ee2c3a7875aca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2382416 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>