Log

Author Commit Date CI Message
Mohan Maiya e674625d 2020-11-20T13:05:49 Reland "Vulkan: Fix incorrect exposure of sRGB extensions" This is a reland of abcabb474bf1c25eea48d7dca14bcafde737eba7 only we continue to suppress the validation error Original change's description: > Vulkan: Fix incorrect exposure of sRGB extensions > > When we check to see what formats we can reinterpret for sRGB > extensions, we need to make sure we can match the image usage > flags as well. If the original format supports framebuffer > attachment usage, we need to make sure that the reinterpreted > format can support it as well. > > Bug: angleproject:5309 > Change-Id: I7e84d01004504f854a3e22227e99b1740ed1a2b2 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549156 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5309 Change-Id: I0efb6180b7be4e14d24b4bb339de01a2b9177e7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556571 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b1917fe1 2020-12-01T20:42:36 Revert "Vulkan: Use specialization constant for halfRenderAreaWidth" This reverts commit ff38106d62fca2e36ec2db1cd580b546fd53ae43. Reason for revert: Speculative revert to clear up AMD. See bug. Bug: chromium:1154356 Original change's description: > Vulkan: Use specialization constant for halfRenderAreaWidth > > halfRenderArea is used by fragment shader to adjust gl_FragCoord for > rotation and yflip compensation. This CL bakes halfRenderAreaWidth into > shader via specialization constant, thus allow compiler to consolidate > the calculation into one MAD instruction. > > Bug: b/173800146 > Change-Id: Id66301278e3389e2582369b695825e632bccecee > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: Idab612bcad4f179857c41ffc4bf8fa2355fae946 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/173800146 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568244 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 234fccfb 2020-12-01T10:59:16 Entry Points: Add egl:: namespace to Display. This will prevent symbol collision with X11. This fixes the build integration with Skia. Bug: angleproject:2621 Bug: angleproject:5416 Change-Id: I6949a375cf9fcdd790b4c40ffb82c7c25bc15315 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567644 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 9fe2d211 2020-12-01T13:24:33 Test Runner: Handle flaky failures. When a test mark as flaky fails consistently we need to avoid marking the test as flaky. We treat is as a deterministic failure. This means we output "PASS" as the expected result instead of "PASS FAIL". That change will produce the correct behaviour with the test scripts. Also adds missing test runner output when we retry a flaky test. Bug: chromium:1152515 Change-Id: I9e3cbaf04ea57a198717ee81505b5d63a9183410 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568231 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e56fd224 2020-12-01T09:44:38 Vulkan: Fix BufferHelper leaks in DynamicBuffer. We were leaking BufferHelper pointers in a couple cases. Fix these systematically by using a unique_ptr template. This leak was detected running ANGLE with LSAN enabled. Bug: angleproject:5377 Change-Id: I30ab235105cf74fae2cfc62a22dde534e2d07e81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567641 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0be3f296 2020-11-30T17:27:39 Entry Points: Combine desktop GL minor versions. This reduces the proliferation of small entry point files. Bug: angleproject:2621 Change-Id: Ib882fd9e32e165279439d5d6cab7205eae0732ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2566592 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 6edaf098 2020-11-30T16:03:45 Entry Points: Clean up versions lists. This reduces code duplication in a few generator scripts. The version lists are now located in registry_xml. Bug: angleproject:2621 Change-Id: Ia1470f2863753d78d8def1132a20e81d3f8ec4a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2566591 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 0c47015b 2020-12-01T10:01:36 Roll SwiftShader from 9dff6a3bb595 to bfb211914759 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/9dff6a3bb595..bfb211914759 2020-11-30 aeubanks@google.com Fix swiftshader_reactor_llvm_unittests under UBSan Vptr 2020-11-30 srisser@google.com Accept Sign/Zero Extend operands in OpImageRead 2020-11-30 srisser@google.com Implement shaderSubgroupBroadcastDynamicId 2020-11-30 bclayton@google.com SpirvShaderDebugger: Fix crash when attempting to display nullptrs 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 ianelliott@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: ianelliott@google.com Change-Id: I5fac2d07d616a3dc71651a69963d49e0125bfde8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567669 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll df873e5f 2020-12-01T08:13:07 Roll Chromium from 2232da5cfdfa to db49fa80f93d (475 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2232da5cfdfa..db49fa80f93d 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 ianelliott@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/3328d0bdee..70bbe68c87 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/88c7098f26..8a83254bed * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5537c03942 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/20f5376c29..8636efe70f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/212bc84e4e..1e9edde7ad No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: I9b263ae7702473b66663e53b7a46764a217e65c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567712 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya ccd0b7e1 2020-11-30T08:37:04 Add support for OES_framebuffer_object extension Expose OES_framebuffer_object extension for GLES1 contexts. Bug: angleproject:5401 Test: FramebufferObjectTest* Change-Id: I63b504f580cdab4655b4bfbd3438bcd807b422ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561795 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao ff38106d 2020-11-19T16:47:25 Vulkan: Use specialization constant for halfRenderAreaWidth halfRenderArea is used by fragment shader to adjust gl_FragCoord for rotation and yflip compensation. This CL bakes halfRenderAreaWidth into shader via specialization constant, thus allow compiler to consolidate the calculation into one MAD instruction. Bug: b/173800146 Change-Id: Id66301278e3389e2582369b695825e632bccecee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3f564fc7 2020-11-23T13:59:17 EGL: Generate entry points. This adds two final auto-generated files for the EGL and EXT extension entry points. It adds a new data file that stores a mapping between object types and entry points for associating labeled objects with certain methods. When we generate errors we record the associated object in the debug message output. This places the remainder of the hand-written code in "stub" files. Going forward the work for implementing new extension entry points for EGL will be to update the registry XML files and then implement the corresponding stub methods. Event logging, parameter packing, and validation are all handled by the auto-generated code. Bug: angleproject:2621 Change-Id: I28153432802c37b929ff2ea1e1a3e3ce9de91605 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562680 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Paul Thomson db679caf 2020-11-25T21:08:46 Capture/Replay: track swapWithDamage Frames were captured in Surface::swap, but not in Surface::swapWithDamage. Adds the same callback in Surface::swapWithDamage and Surface::swapWithFrameToken. Bug: b/174256233 Change-Id: I3425fa2b9ae388f62f616dd2c9444797358ba148 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560726 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1a8eec63 2020-11-26T16:33:59 Rename FromGL to PackParam. This will allow us to use the same method with EGL without complications. Bug: angleproject:2621 Change-Id: I03dea2291adc13025723fe02eb47b76a74cef911 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562679 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 9528641b 2020-11-23T15:47:09 EGL: Generalize the entry point enum. This both generalizes the GL entry point enum to include other APIs like EGL and inserts the EGL and WGL entry points into the enum. This will faciliate EGL entry point auto-generation and also frame capture for EGL entry points. Bug: angleproject:2621 Change-Id: Iaf4310e03b3d55839dd1328362fb29dcef918fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555861 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill bccaaffd 2020-11-27T16:33:09 Vulkan: Use XFB queries with the XFB extension. This will enable accurate XFB primitive counts when using tessellation and geometry shaders. Adds new vk::QueryResult and gl::QueryTypeMap helper classes. Based on contributions by Mohan Maiya (m.maiya@samsung.com). Bug: angleproject:3572 Change-Id: Ie3f496deda887c13bb4ad7ab430e31d615849bfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2564002 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi 01e8b675 2020-11-27T17:24:11 Fix ordering of stages in gl::ShaderType When iterating over a bitset of stages, they are now processed in the same order as the rendering pipeline. Bug: angleproject:5405 Change-Id: If9e0f24be047b060f759e0e1db622a91e24e9646 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2564008 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 619ae003 2020-11-30T10:01:51 Roll Vulkan-ValidationLayers from 8756b1cb930a to ce0450b9e8e5 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8756b1cb930a..ce0450b9e8e5 2020-11-29 lionel.g.landwerlin@intel.com tests: Add test for DRM_FORMAT_MOD 02248 check 2020-11-29 lionel.g.landwerlin@intel.com layers: Add VK_EXT_image_drm_format_modifier flag VUID 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 ianelliott@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: ianelliott@google.com Change-Id: Ie6c9fde1beb8f1c231231aa1f0755d2cc56f11fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2564209 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 5968da64 2020-11-27T15:36:05 code gen: Be more robust to dirty hashes. If any JSON files get out of whack this will print which file is malformed. Also will show any temporary files (e.g. .rej or .orig) as untracked in the code generation hashes dir. Bug: angleproject:3691 Change-Id: I534e87bd2ea692182aa558bb80e09fb526e441b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2564000 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 3d061021 2020-11-30T08:16:49 Roll Chromium from 553b5bcd72c7 to 2232da5cfdfa (287 revisions) https://chromium.googlesource.com/chromium/src.git/+log/553b5bcd72c7..2232da5cfdfa 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 ianelliott@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/169d15ccdb..3328d0bdee * testing: https://chromium.googlesource.com/chromium/src/testing/+log/913fc377e5..88c7098f26 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..7598272651 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5726acbc16..20f5376c29 * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e * tools/skia_goldctl/linux: 7OAln1cRnDCb00TBld5dPAV-X6ezVIxW3xzBDZW9CCkC..qmz8kJxTUN_Mt51qpFOU1gn2Es-tf5fUQbm_dwWR4WsC * tools/skia_goldctl/win: yZ7VbaW1KAIyuzwfeFwPomNFownHQYrrzEEe9ZdOpZsC..VR4k806B8ASaIGHP_wz13-mO3s-X-NxvU7dSULraOMEC No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: I095829440625539b0851e53d1cec470ec21453d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2564888 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 59aa1ef1 2020-11-27T15:08:26 Suppress TextureSampleShadingTest.Basic on Vulkan AMD Fails on Windows and Linux. Bug: angleproject:5412 Change-Id: I0a8a0d194c63a92ede0f10cd89eb3db703b93ea2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562756 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi a5da17cd 2020-11-26T17:09:37 Vulkan: Remove vk:: inside namespace vk Bug: angleproject:5404 Change-Id: I51df1ad69a65b17621a3cbe4e5d55621cc9ae6ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562683 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll eabbfcdd 2020-11-27T10:01:07 Roll SwiftShader from 43bb60e1fa11 to 9dff6a3bb595 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/43bb60e1fa11..9dff6a3bb595 2020-11-26 rharrison@chromium.org Roll SPIRV-Headers and SPIRV-Tools 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 jmadill@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: jmadill@google.com Change-Id: I6979f43bb1d14f26f17596519f7cb7fd45018832 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2563246 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 10e6c1e4 2020-11-27T10:01:51 Roll Vulkan-ValidationLayers from 1835944edcfa to 8756b1cb930a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1835944edcfa..8756b1cb930a 2020-11-26 mark@lunarg.com threading: Check DevWaitIdle ext sync on all device queues 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 jmadill@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: jmadill@google.com Change-Id: I5680ab2a1ad29b69e1c8f021423a46189d6dcec7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2563247 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 96b71bee 2020-11-27T07:00:50 Roll Chromium from 730f0fe9e50a to 553b5bcd72c7 (214 revisions) https://chromium.googlesource.com/chromium/src.git/+log/730f0fe9e50a..553b5bcd72c7 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 jmadill@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/7b7e25e69c..169d15ccdb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c3ae330521..913fc377e5 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ae003f552e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/41850cbe98..5726acbc16 No update to Clang. Bug: None Tbr: jmadill@google.com Change-Id: I16054c13a2481e7c544c046289b4de5e0dcdeb83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2563278 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi fcb6b5a5 2020-11-25T22:16:15 Vulkan: Fix precision transformation for geometry shaders When a varying precision mismatch is present between two stages, the SPIR-V transformer transforms the following: in precision1 type1 inVar; out precision2 type2 outVar; void main() { f(inVar); outVar = g(); } to: in precision3 type1 inVarModified; out precision4 type2 outVarModified; precision1 type1 inVarTurnedPrivate; precision2 type2 outVarTurnedPrivate; void main() { // Input preamble inVarTurnedPrivate = inVarModified; f(inVarTurnedPrivate); outVarTurnedPrivate = g(); // Output preamble outVarModified = outVarTurnedPrivate; } This doesn't work for geometry shaders as they take the varying outputs on EmitVertex() as opposed to return from main. This change simply places the output preamble before every EmitVertex() instead of at the end of the shader, if it's a geometry shader. Bug: angleproject:5403 Change-Id: Ie395a3270c6903c54b49f64a26bc5297044cbaeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561939 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi ab9aae05 2020-11-26T12:00:11 Vulkan: Implement multisampled incomplete textures Bug: angleproject:3588 Change-Id: I5b7d3151b34a77998b25dd4fa5761c92d74d8c81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562120 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 2114fcf2 2020-11-23T13:38:09 More cleanups to run_code_generation. Moves some include definition blocks into constants. Also fixes a small case error in the capture headers. Bug: angleproject:2621 Change-Id: I0e5eadcfd8e16969f3502339f58dbf13eb53f43c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555860 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f60823d3 2020-11-25T17:03:50 Vulkan: Experimentally enable geometry shaders Partial support for GS was added by jaedon1.lee@samsung.com already. This change enables the extension and adds suppressions for GLES3.1 dEQP tests. Suppressions for KHR GLES3.2 will be updated separately as currently GS shaders in "version 320" fail validation. Bug: angleproject:3571 Change-Id: Ic6ed65554937fd0cce2d0f6ea0ac2eb7e6ed9f10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561445 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Anders Leino 4e913d34 2020-11-02T10:44:51 Vulkan: Work around Nvidia depth clamping bug In GL ES, depth is always clamped to [0,1]. The same is true in Vulkan, but not for implementations affected by Nvidia bug 3171019. This patch implements a workaround. The workaround introduced test failures on Linux with Nvidia Quadro P400 and driver version 418.56, so it's only applied conditionally, and as a result the test failure expectations are not removed completely. Bug: angleproject:3970 Change-Id: I0d9f855d7f3df72fea4af9f9b134ae3177cf820d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514377 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9c6f7385 2020-11-25T22:01:33 Vulkan: Move SPIR-V generators to base transformer class Moves the generators from SpirvVertexAttributeAliasingTransformer to the base class, and makes SpirvTransformer use the same functions. Bug: angleproject:4889 Change-Id: I1f105e2ac764fc7b36c8c75d2cf5f30dec841f97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561938 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 8420c5ac 2020-11-26T10:01:52 Roll Vulkan-ValidationLayers from fc78e93ce895 to 1835944edcfa (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/fc78e93ce895..1835944edcfa 2020-11-25 s.fricke@samsung.com layers: Label VU 04563 2020-11-25 locke@lunarg.com tests: Fix wrong descriptor type 2020-11-25 locke@lunarg.com layers: Skip some CMD_TYPE 2020-11-25 mark@lunarg.com tests: Add some checks for imageFormatMaybeLinear & 02259 2020-11-25 mark@lunarg.com stateless: Calculate correct state for 02257, add 02259 2020-11-25 mark@lunarg.com corechecks: Use named initializing for vuid structs 2020-11-25 mark@lunarg.com drawdispatch: Use named initializing for DrawDispatch structs 2020-11-25 mark@lunarg.com corechecks: Moved some #defines to static consts 2020-11-25 mark@lunarg.com cmddraw: Align non-CF'd source 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 jmadill@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: jmadill@google.com Change-Id: I52a4be5687c435eacd719b46652fe26693291313 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562032 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c7a55f36 2020-11-26T07:00:23 Roll Chromium from 4b04564d4cb2 to 730f0fe9e50a (373 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4b04564d4cb2..730f0fe9e50a 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 jmadill@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/66f22dbb61..7b7e25e69c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/70017627a0..c3ae330521 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/dea56e139b..5d6094bfbc * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ae003f552e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/74b8b81586..212bc84e4e * tools/skia_goldctl/linux: F1V3MxURYBy3ZkQCqWrW-_qo1aZFer1oyHdGOjT_CZoC..7OAln1cRnDCb00TBld5dPAV-X6ezVIxW3xzBDZW9CCkC * tools/skia_goldctl/mac: Z_FxtkL4vnfqaGkZhy2qkTcVwRXIfMzIP0gDJO5O6HkC..VNy9awCiFUEMvA_Yv0NaAUvTu5qcX1KK9w7RAp7kua8C * tools/skia_goldctl/win: qZ2Cb5DPSSKjIrxhfYGgVzooq2ElNVLxNOVjsMKgfV0C..yZ7VbaW1KAIyuzwfeFwPomNFownHQYrrzEEe9ZdOpZsC No update to Clang. Bug: angleproject:3379,angleproject:4852,angleproject:5391 Tbr: jmadill@google.com Change-Id: I101efb4811fdded81e24480b1bf0fec0cb8b314c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561424 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 5850c748 2020-11-20T22:14:27 Vulkan: Emulated RGB copies in compute The copy between emulated RGB formats can take a number of paths: - Sample from src (reinterpreted as UINT), output to dst - Sample from src, output to temp buffer, copy to dst - Copy src to temp buffer, output to dst - Copy src to temp buffer, convert to another temp buffer, copy to dst While directly sampling from src and outputting to dst is more efficient, these are not always possible. The former may not have SAMPLED_IMAGE usage bit for the reinterpreted UINT format, and the latter may not have STORAGE_IMAGE usage at all. This change takes the universal approach of using two temp buffers. The ConvertVertex shader is used to transform between RGB and RGBA when copying from the first temp buffer to the second. Bug: angleproject:5278 Change-Id: I63d916cfdb4c389f5b817d89cd7348fdea703ce5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556467 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Schade <b.schade@samsung.com>
Shahbaz Youssefi 113b7e63 2020-11-24T17:16:25 Add a sample shading test to verify FS invocation per sample A test is added that uses the RedGreenGradient shader, which doesn't include gl_SampleID, gl_SamplePosition or the sample qualifier, but uses GL_SAMPLE_SHADING to perform per-sample shading. The samples from the resulting image are copied to a buffer in compute and verified. Bug: angleproject:5395 Change-Id: I3567329e4d567d149e4548eb12222b8dd5255bba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559266 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi 939fcd1a 2020-11-23T21:47:58 Vulkan: Pass in emulated alpha value to ConvertVertex In prepration for EXT_copy_image taking advantage of ConvertVertex. Also a small optimization to this ALU heavy shader. Bug: angleproject:5278 Change-Id: I6520391fe1af608db66f8c362f1038786b2c65e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556466 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4dba2767 2020-11-24T16:01:51 Vulkan: Enable OES_shader_multisample_interpolation Bug: angleproject:5395 Change-Id: I5cebb30fa71ad3c6f04a185ee992f77a900e6b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558931 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi bc82325e 2020-11-24T21:58:30 Fix RedGreenGradient to not output 0 for half the image The shader directly used v_position.xy as output color, but for half of the image x and y are negative and the respective channel became zero. This change makes the shader use v_position.xy*0.5+0.5. Additionally, the tests that use this shader are changed to mathematically derive the pixel colors instead of using magic numbers. Bug: angleproject:5395 Change-Id: Ic11c362c22ca725aa173faa5fd6033a02a4303fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559265 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 23db7360 2020-11-17T12:22:01 Add test coverage of sampling YUV AHBs without API 29. We can't initialize the data of a YUV AHB without Android API 29 but we can still add test coverage of sampling one without verifying the results. This exposes some Vulkan validation errors. Bug: angleproject:4852 Change-Id: I978cab84f325cededa2ac08f7c7cc083dbbb69b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543298 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang feafc888 2020-11-24T14:06:09 GL: Treat RGBA+HALF_FLOAT IOSurfaces as sized formats. ANGLE_iosurface_client_buffer imports IOSufraces with GL_RGBA + GL_HALF_FLOAT which isn't a valid GLES internalFormat + type combination so sampling from this format fails. We cannot easily update the spec on this format because it is also implemented by SwiftShader so manually adjust the format to sized RGBA16F. Bug: chromium:1148599 Change-Id: I3f24bbdcd08003eaae26e8391e5edca7a51f6888 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558950 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 23d4b64a 2020-11-22T13:01:36 EGL: Auto-generate Windows .def file. Several entry points were missing from the .def file. The auto- generation ensures we remain consistent. Bug: angleproject:2621 Change-Id: Icb4089c4235f43e76ebd588216d4b988e3a2f0f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552775 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 0a5bc0ce 2020-11-22T12:31:45 EGL: Auto-generate "libEGL" export cpp file. This steps towards full auto-generation of EGL entry point files. Bug: angleproject:2621 Change-Id: I629447bb6754ee1e87bef020de21b28e37e20eaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552774 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 105b43f9 2020-11-25T10:22:18 Skip Occlusion query tests on Metal. Flaky on the bots. Bug: angleproject:5400 Change-Id: Ibb6ef6e16f14ee45138b99f0f549d01017c84a4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560559 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 732dc295 2020-11-22T12:46:51 Fix auto-generated export file comment. The comment incorrectly was missing the _autogen suffix. Bug: angleproject:2621 Change-Id: Iaeb1bc5b8a1b7174e6c3699162720e0e77eff667 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552773 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 11c81534 2020-11-22T09:39:51 EGL: Auto-generate entry point headers. This steps towards the goal of auto-generating EGL entry points. Also cleans up some EP definition inconsistencies. Bug: angleproject:2621 Change-Id: I94dcf3d080b6864bca3f9db6c4c01429f4f8b91f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553968 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Xinghua Cao da1e4122 2020-11-24T14:36:49 D3D: Fix wrong visit mode UniformBlockTranslatedToStructuredBufferTraverser needs InVisit step when calling visitBinary. Bug: angleproject:3682 Change-Id: I5c6cec1df52f94de24e1ea0ed13e4fe1e5674faf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557557 Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll bb4f496d 2020-11-25T10:01:51 Roll Vulkan-ValidationLayers from 31f74e1a4605 to fc78e93ce895 (10 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/31f74e1a4605..fc78e93ce895 2020-11-24 locke@lunarg.com layers: Attachment lifetime 2020-11-24 locke@lunarg.com tests: Test protected, instance index, filter cubic 2020-11-24 locke@lunarg.com layers: Validate filter cubic 2020-11-24 locke@lunarg.com layers: Set enum for push constat byte state 2020-11-24 locke@lunarg.com layers: Move validation for both image and sampler 2020-11-24 locke@lunarg.com layers: Change map lastBound into array 2020-11-24 locke@lunarg.com layers: Find Sampler in CmdBind 2020-11-24 locke@lunarg.com layers: Validate maxMultiviewInstanceIndex 2020-11-24 locke@lunarg.com layers: Save shared_ptr 2020-11-24 locke@lunarg.com layers: Protected command buffer 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 jmadill@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: jmadill@google.com Change-Id: I5b282e815694e3f601d46bb1f3f1c2ff61287c8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560600 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7c0b4a32 2020-11-25T07:01:43 Roll Chromium from 013c962f863f to 4b04564d4cb2 (410 revisions) https://chromium.googlesource.com/chromium/src.git/+log/013c962f863f..4b04564d4cb2 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 jmadill@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/356ef25e24..66f22dbb61 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ae656081dc..70017627a0 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ae003f552e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d046f3d4cb..74b8b81586 No update to Clang. Bug: angleproject:5372 Tbr: jmadill@google.com Change-Id: I23fd42810111a83e179a1f47afb44ed66dbff44a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559895 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 130597e1 2020-11-23T18:59:02 Vulkan: Use PackedScissor struct to reduce GraphicsPipelineDesc size We are running out of space in GraphicsPipelineDesc. According to gpuinfo, the max reported viewport size is 32768. This CL changes scissor's x/y/w/h from uint32_t to uint16_t, which saves two uint32_t for other usages. Bug: b/173800146 Change-Id: Icf2d8ba8ea8a8c412ecef2059401a8d831c410e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557218 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3efa290d 2020-11-19T14:36:16 EGL: Auto-generate validation header. This is a first step towards auto-generating more EGL code. It includes format handling for all the EGL parameter types, type reinterpretation for EGL types using the "packed enum" handling, and code refactoring to support the new consistent validation entry point pattern. Bug: angleproject:2621 Change-Id: I2740e82928db311aa934825cbe74bd75bf49c33c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552976 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 10b22c11 2020-11-24T15:28:05 Skip failing tests on Win AMD RX 5500 XT BlitFramebufferANGLETest.BlitStencil ClearTestES3.ClearMaxAttachments RobustResourceInitTest.MaskedDepthClear RobustResourceInitTestES3.InitializeMultisampledDepthRenderbufferAfterCopyTextureCHROMIUM RobustResourceInitTestES3.MaskedDepthClearBuffer RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly RobustResourceInitTestES3.TextureInit_IntRGB8 RobustResourceInitTestES3.TextureInit_UIntRGB8 VertexAttributeTest.DrawArraysWithShortBufferOffsetNotMultipleOf4 Bug: chromium:1004356, angleproject:5396, angleproject:5397 Bug: angleproject:5398, angleproject:5399 Change-Id: I5a6f16b38696b7cf3bb007363160d2ecbb06ac9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558932 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi acf004a1 2020-11-19T16:58:30 Vulkan: Use transfer more opportunistically with copyTextureCHROMIUM If the difference between formats is sRGB vs not or normalized vs integer, still allow the transfer path to be taken. Bug: b/159211070 Change-Id: I53334812ed29baec6ad434de1fcd6dde35049c12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551534 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi cf336839 2020-11-20T00:27:59 Vulkan: Initial expectations for GLES32 KHR tests Bug: angleproject:3647 Change-Id: I8eca26b01a0e2ec7b34ab39c448956f43b9f4511 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551840 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao aa8b10ae 2020-11-19T11:06:50 Vulkan: Avoid driver call when yflip changed but shader not using it If shader is not using yflip, don't get into driver to ask for a new pipeline program just because yflip has changed. Instead try to use the non-yflipped program. Bug: b/173461931 Change-Id: If938f5dc0632529c4f5e477fcb0c67bf58a1f3d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549538 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 9041ca0c 2020-11-20T16:27:48 Limit testing of in-progress work to ANGLE's build of dEQP A new feature is added, exposeNonConformantExtensionsAndVersions, which is set by ANGLE's build of dEQP to allow exposing ES3.2 or extensions that are not yet entirely conformant. This would allow ANGLE to expose WIP extensions for regression testing without affecting partners that test ANGLE with dEQP's standalone build. Bug: angleproject:3647 Change-Id: Id1e6219f26b41d3f8cdc9763131b8052227761c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552926 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Sunny Sun <sunny.sun@arm.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5fac02c8 2020-11-24T14:20:36 Revert "Vulkan: Fix incorrect exposure of sRGB extensions" This reverts commit abcabb474bf1c25eea48d7dca14bcafde737eba7. Reason for revert: Failed on CQ and build passed, see bug. Bug: angleproject:5394 Original change's description: > Vulkan: Fix incorrect exposure of sRGB extensions > > When we check to see what formats we can reinterpret for sRGB > extensions, we need to make sure we can match the image usage > flags as well. If the original format supports framebuffer > attachment usage, we need to make sure that the reinterpreted > format can support it as well. > > Bug: angleproject:5309 > Change-Id: I7e84d01004504f854a3e22227e99b1740ed1a2b2 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549156 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com Change-Id: I211802eb17deff3399ec680eeae4c4ff33e52d9d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5309 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557567 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8a657ff9 2020-11-24T10:01:28 Roll Vulkan-Tools from 6ef69fbda85b to 0e8c2a5ca5f3 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6ef69fbda85b..0e8c2a5ca5f3 2020-11-23 richard@lunarg.com vulkaninfo: clang-format cleanup 2020-11-23 richard@lunarg.com vulkaninfo: clang-format cleanup 2020-11-23 richard@lunarg.com vulkaninfo: cleanup and comments 2020-11-23 richard@lunarg.com vulkaninfo: Fix to pass appveyor tests 2020-11-23 richard@lunarg.com vulkaninfo: WIP: Modified for use from iOS 2020-11-20 mikes@lunarg.com scripts: Remove assert for nested array types 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 jmadill@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: jmadill@google.com Change-Id: I6c2eb1718e7f5c20005b2fcd5f7a126c23f86009 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557479 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 536aa499 2020-11-24T10:01:07 Roll SwiftShader from 6d612051c083 to 43bb60e1fa11 (6 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/6d612051c083..43bb60e1fa11 2020-11-23 amaiorano@google.com Run ReactorUnitTests.LargeStack on non-Windows targets 2020-11-23 amaiorano@google.com Workaround for ReactorUnitTests.LargeStack taking too long on LLVM 2020-11-23 amaiorano@google.com CMake: set REACTOR_DEFAULT_OPT_LEVEL to "" by default 2020-11-23 amaiorano@google.com Add "fmod" external symbol to LLVM backend 2020-11-23 capn@google.com Limit the recursion depth of llvm::SelectionDAG::isSplatValue() 2020-11-23 srisser@google.com Add OpCopyLogical 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 jmadill@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: jmadill@google.com Change-Id: Ibc94442f5592553b9bb2481948a80f06dce8f5fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557528 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3679a7f0 2020-11-24T10:01:52 Roll Vulkan-ValidationLayers from 0ec6b066bfbc to 31f74e1a4605 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0ec6b066bfbc..31f74e1a4605 2020-11-24 tony@lunarg.com layers: Fix spirv-headers known good 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 jmadill@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: jmadill@google.com Change-Id: I66014ef7da5d2e671da73624903389f54a1a1d7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557348 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 81de58ae 2020-11-24T10:01:09 Roll Vulkan-Loader from b54d55122868 to 02a49daeeece (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/b54d55122868..02a49daeeece 2020-11-23 mikes@lunarg.com scripts: Add default return type for VkDeviceSize 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 jmadill@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: jmadill@google.com Change-Id: I670a7bbce612db2a3499d5ce59e7e636ccdf96cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557529 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 084b862b 2020-11-24T07:00:33 Roll Chromium from a41860e83258 to 013c962f863f (389 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a41860e83258..013c962f863f 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 jmadill@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/fe03ecff2c..356ef25e24 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5da61f6a14..ae656081dc * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/207d48e407..dea56e139b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a629d81faa * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/d685b9def8..1be42a5a07 * tools/luci-go: git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47..git_revision:1a022d3a4c50be4207ee93451255d71896416596 * tools/luci-go: git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47..git_revision:1a022d3a4c50be4207ee93451255d71896416596 * tools/luci-go: git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47..git_revision:1a022d3a4c50be4207ee93451255d71896416596 No update to Clang. Bug: angleproject:5372 Tbr: jmadill@google.com Change-Id: I86b20bb839965ae808f631e20049abe933efeda7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556455 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 35df41da 2020-11-23T21:34:13 Skip more tests on Linux AMD RX 5500 XT Remove EGLFeatureControlTest suppression, which crashed due to calling IsVulkan() without an initialized context. angle_perftests: MultisampledRenderToTextureBenchmark.Run/vulkan_multipass_ds angle_white_box_tests: VulkanPerformanceCounterTest.RenderToTextureDepthStencilRenderbufferShouldNotLoad Bug: chromium:1004356, angleproject:5380, chromium:1097750 Change-Id: I38819374242b71fb57c54a9d0fb47b1547dda895 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556445 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 1b413197 2020-11-22T09:51:33 generate_entry_points.py clean-ups. Use all upper-case for Python constants. Also use line breaks to make the templates more readable. No functional changes, refactoring only. Bug: angleproject:2621 Change-Id: I3ec1c07089b33fd1655ffbacc8c3a8cdcb919a3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553967 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill fb82b119 2020-11-22T09:05:06 EGL: Add const to several methods. This is in preparatino for auto-generating the EGL validation header. The auto-generation script will force multiple parameters to const. Bug: angleproject:2621 Change-Id: I04e442c6ff118fd7c296341f12f442901f6fb8c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552979 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 309bd3b6 2020-11-22T09:09:49 Use hard-coded year in generate_entry_points. Using a dynamic year isn't fully supported as it makes the auto- generation depend on the date. Also we do not need to update the year in the copyright notices for any files in ANGLE. Bug: angleproject:2621 Change-Id: I123864e77bffe8e04e5b299f0c58853c89287372 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552980 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill cfe14e28 2020-11-19T18:11:42 EGL: Remove egl::Error from validation code. Instead of using an egl::Error return value, errors are recorded on the egl::Thread immediately at the call site. This makes the code work the same way as in the GL entry points. Updates the EGL "try" macros to include a special handler for the EGL validation entry points. Uses a special ValidationContext helper class to preserve the existing info. Bug: angleproject:5378 Change-Id: I897f221a41fe406676950600e4ac559081b9f541 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551790 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 56663dbf 2020-11-19T21:21:19 EGL: Expose device query as a client extension. This matches the extension spec. Previously we were exposing the ext as a normal display extension. The extension should work without needing a display. Because the extension requires a non-null device for every display we also add a MockDevice class to handle back-ends which don't implement any attribute query extensions. By default the device query ext does not expose any way to use devices so this works fine. Bug: angleproject:5372 Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao c2a74cbb 2020-11-23T11:48:14 Vulkan: Re-enable the tests that was disabled due to specConst The specialization constant crrev.com:/c/2514773 was hitting test failures on pixel2 devices but not able to reproduce on pixel4. Now I think the problem is likely attribute to QC driver bug http://b/173636783. And we have disabled specialization constant code path on older driver. This CL is to re-enable those tests that we skipped in that CL so that they gets tested. Bug: b/173636783 Change-Id: I3452abee26ebc6b8e81e68831fb2c698e464cf07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555858 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 03ace87e 2020-11-23T08:32:39 Vulkan: Enable floating point end2end tests. The upstream issue was marked fix so these tests should be passing. Bug: angleproject:2898 Change-Id: Ib5db7d3e06d2925730dcf691cf02d92b10983b99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553790 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya abcabb47 2020-11-20T13:05:49 Vulkan: Fix incorrect exposure of sRGB extensions When we check to see what formats we can reinterpret for sRGB extensions, we need to make sure we can match the image usage flags as well. If the original format supports framebuffer attachment usage, we need to make sure that the reinterpreted format can support it as well. Bug: angleproject:5309 Change-Id: I7e84d01004504f854a3e22227e99b1740ed1a2b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549156 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6f6504c9 2020-11-23T08:31:56 Suppress WebGL Mac end2end failures. WebGLCompatibilityTest.R16FTextures/ES3_OpenGL WebGLCompatibilityTest.RG16FTextures/ES3_OpenGL WebGLCompatibilityTest.RGB16FTextures/ES3_OpenGL WebGLCompatibilityTest.RGBA16FTextures/ES3_OpenGL WebGLCompatibilityTest.RGBA32FTextures/ES3_OpenGL Bug: angleproject:5357 Change-Id: I63a98fc1dc7316db0a5203e3bc814d8751c1bf58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553789 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 46823b0b 2020-11-23T10:01:51 Roll Vulkan-ValidationLayers from ec5cd38a0ca6 to 0ec6b066bfbc (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ec5cd38a0ca6..0ec6b066bfbc 2020-11-21 marky@lunarg.com build: Fix clang warnings 2020-11-18 shannon@lunarg.com build: Update known-good files for 1.2.161 header 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 cnorthrop@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: cnorthrop@google.com Change-Id: Ie598d39836343edff790eadf116cc56f451062bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553895 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 98d08839 2020-11-23T10:01:08 Roll SwiftShader from de9e649438ed to 6d612051c083 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/de9e649438ed..6d612051c083 2020-11-20 amaiorano@google.com Kokoro: add Windows x86 (Win32) debug builds 2020-11-20 amaiorano@google.com marl: fix extra ';' warning 2020-11-20 amaiorano@google.com Make vk-unittests load/unload swiftshader only once per suite 2020-11-20 bclayton@google.com Vulkan: Fix use-after-destruction of VkFence event 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 cnorthrop@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: cnorthrop@google.com Change-Id: I707af9a2c8c89cc2b2e17c0d576add852d827709 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553894 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 93045774 2020-11-23T07:00:49 Roll Chromium from bfc1b42ff141 to a41860e83258 (83 revisions) https://chromium.googlesource.com/chromium/src.git/+log/bfc1b42ff141..a41860e83258 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 cnorthrop@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/afc55ca8f3..fe03ecff2c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..91c1a7c2dc * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/d2979b278f..d685b9def8 No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I4a2dd310aac643feb6c73ca9696cf57b03a9c50c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2554351 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov a304f111 2020-11-22T18:47:39 Skip tests failing on Linux AMD RX 5500 XT Crashes: OpenGL: MemoryObjectTest.MemoryObjectQueries MemoryObjectTest.MemoryObjectShouldBeMemoryObject MemoryObjectTest.ShouldFailValidationOnImportFdUnsupportedHandleType UniformBufferTest.SizeOverMaxBlockSize VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores VulkanExternalImageTest.ShouldDrawOpaqueFdWithSemaphores VulkanExternalImageTest.WaitSemaphoresRetainsContentOpaqueFd Vulkan: MultisampledRenderToTextureTest.2DColorDepthMultisampleDrawTest MultisampledRenderToTextureTest.DepthReadWriteToggleWithStartedRenderPass MultisampledRenderToTextureES3Test.RenderbufferClearDrawCopyThenBlendWithDepthStencilSameProgram MultisampledRenderToTextureES3Test.RenderbufferDepthStencilClearDrawCopyThenBlend MultisampledRenderToTextureES3Test.RenderbufferDepthStencilDrawCopyClearThenBlend MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthStencilThenTwoColors MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthThenTwoColors MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndStencilThenTwoColors SimpleStateChangeTest.RebindTranslatedAttribute Failures: OpenGL: GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteArrayOfArray GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteSideEffect PixmapTest.BindTexImage ReadPixelsPBONVTest.Basic SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlend StateChangeTestES3.DrawPausedXfbThenNonXfbLines Bug: angleproject:5379, angleproject:5380, angleproject:5381 Bug: angleproject:5382, angleproject:5383, angleproject:5384 Bug: angleproject:5385, angleproject:5386, angleproject:5387 Bug: angleproject:5388, chromium:1004356 Change-Id: I73c6ba193ef230f576c804e8880f326ac5eabe0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552940 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll ebf890fc 2020-11-22T02:45:04 Roll Chromium from 62214500294f to bfc1b42ff141 (898 revisions) https://chromium.googlesource.com/chromium/src.git/+log/62214500294f..bfc1b42ff141 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 cnorthrop@google.com,jmadill@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/0e1eb49be6..afc55ca8f3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a71d13aa1c..5da61f6a14 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..91c1a7c2dc * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/e84c9a3fd7..9893e506b3 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2d30d8744f..41850cbe98 * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47 * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47 * tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:6cbe3f56e9f00b8f65eae21f01838a8b58191a47 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a63101d578..d046f3d4cb No update to Clang. Bug: angleproject:3647,angleproject:5328 Tbr: cnorthrop@google.com,jmadill@google.com Change-Id: I915e98f9a6bdc1043dcaa91ec7397c6148ac7ee4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553402 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop e51c9068 2020-11-10T20:57:07 Tests: Add Google Maps trace TBR: jmadill@chromium.org,courtneygo@google.com Test: angle_perftests --gtest_filter="*google_maps*" Bug: b/172977194 Change-Id: I1e2a2ed7af95069d30fd4d0fede036555688e98b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530456 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 24f64249 2020-11-16T17:55:02 Vulkan: Track specialization constant usage bit and feedback to ctx Right now context does not know which specialization constant is used by the shader. Whenever a specialization constant changes, we assume shader program is using it, we always reach into vulkan driver to ask for a new program. Instead we can track shader's usage of specialization constant so that context can utilize this information to avoid recompile pipeline program if an unused specialization constant has changed. This CL implements the plumbing the usage bits form compiler to program object, it does not actually utilize the usage bits to avoid unnecessary compilation yet. Bug: b/173461931 Change-Id: Iebc9d0638c17b1a282c8b6093ce6bae154246e57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542866 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop 565f1b16 2020-11-18T14:49:52 Tests: Add LEGO Legacy trace Requires GL_EXT_shadow_samplers which is not exposed by Qualcomm's native driver on Pixel 4 XL. Test: angle_perftests --gtest_filter="*lego_legacy*" Bug: b/161716126 Bug: angleproject:5373 Bug: angleproject:5374 Change-Id: Ifff9c5e878b7fe9a3ade684ae5f8e57167f01a25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477441 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
James Darpinian f845a387 2020-11-19T16:16:01 Misc. iOS fixes These fixes are necessary for ANGLE to work on iOS. I made these while updating ANGLE in WebKit. Unless we make an iOS bot, there will likely be small fixes like this every time we roll ANGLE in WebKit. Bug: angleproject:4613 Change-Id: Ia0ed432c82d0a43b9514c26ddb65c168c393d50d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551537 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Courtney Goeltzenleuchter 040de921 2020-11-20T09:26:35 Vulkan: Move FenceRecyler to CommandQueue. SharedFences are now only used by CommandQueue so move fence recycler to live there instead of RendererVk. Bug: b/170312581 Change-Id: Ib055ec50fbebe675a0064e1059089720e63b96b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551792 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 9407404e 2020-11-20T12:52:36 Capture/Replay: Limit GL_MAX_IMAGE_UNITS further From testing on the bots, the limit of 8 is required. Also happens to be the most common limit per gpuinfo.org. Test: LEGO MEC Bug: b/161716126 Change-Id: I76447a02c5546bda9085a179b123640d2a93474d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552557 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill ae5a2047 2020-11-20T16:31:32 Trace Tests: Screenshot within the render loop. Previously we were using a separate mechanism to capture screen shots. This would cause very long traces to replay the entire trace before normal execution. The Maps trace used hundreds of frames and this was timing out the test step. Instead we can capture a screenshot after the first time we run a trace. This will normally not interfere with performance work because we don't usually capture screenshots and do performance work at the same time. Bug: b/172977194 Change-Id: I12cfe2d051d41f1e000a98ac8aef16eb153879c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552925 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya c4ca12e3 2020-11-20T09:02:54 Vulkan: Support the single-sampled targets Add support for gl_SampleMask for single-sampled targets. When dealing with a single-sampled target, gl_SampleMask is always be set to 0xFFFFFFFF. And when the target is single-sampled, sample shading is disabled to enable Bresenham line rasterization. Bug: angleproject:3588 Tests: dEQP-GLES31.functional.shaders.sample_variables. sample_mask.discard_half_per_pixel.* sample_mask.discard_half_per_sample.* sample_pos.correctness.* sample_mask_in.bit*_per_two_samples.* sample_mask.discard_half_per_two_samples.* sample_mask.inverse_per_* Change-Id: Ibb471261b8451ff01fab3dc43f2e965ae2999610 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477909 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
angle-autoroll 7784fce4 2020-11-20T11:14:38 Roll VK-GL-CTS from 3f73b676d6e8 to 524e5bcfba33 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/3f73b676d6e8..524e5bcfba33 2020-11-20 venni.ihanakangas@siru.fi Update tests to not trigger undefined behaviour in framebuffer_fetch cases 2020-11-20 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2020-11-20 piotr.byszewski@mobica.com Add tests for empty structs in UBOs and SSBOs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC cnorthrop@google.com,angle-bots+autoroll-info@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: cnorthrop@google.com,angle-bots+autoroll-info@google.com Change-Id: Iefb4f6764338906e64f87ea070448ffd9cf2054f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552421 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e4bbc0cf 2020-11-20T10:01:08 Roll SwiftShader from 282aa417236a to de9e649438ed (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/282aa417236a..de9e649438ed 2020-11-19 capn@google.com Fix GN build for aarch64 2020-11-19 zzyiwei@google.com AHB: minor clean up to avoid build failures on different platforms 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 cnorthrop@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: cnorthrop@google.com Change-Id: Ia7d5f3eb5efb5bf6245c1b9bf80fad730be35737 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552224 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 4e5a50b6 2020-11-13T22:56:59 Vulkan: Drop dependency to VK_EXT_shader_atomic_float This VK extension exposes features that are not necessary for GL_OES_shader_image_atomic. Instead, support for necessary features for VK_FORMAT_R32_SFLOAT is used to determine support for this GL extension. Bug: angleproject:5342 Change-Id: Ia504cba69ffe51cfd7da69df28f58563cb1f0744 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536908 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Brandon Schade 777749aa 2020-11-13T09:43:31 Vulkan: Fix image copies with renderbuffers When doing an EXT_copy_image copy, renderbuffers were being recreated due to a mismatch in sample count values. Bug: angleproject:3593 Test: dEQP-GLES31.functional.copy_image.*renderbuffer* Change-Id: Ic6b85ea098ab6382b56520b1ca6b76ac25801b54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538076 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e3c0469c 2020-11-19T16:44:40 Capture/Replay: Limit GL_MAX_IMAGE_UNITS during capture Test: LEGO MEC Bug: b/161716126 Change-Id: I15e34bbeafe79c921ee01e99425555badad36fe4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551538 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 8930f182 2020-11-18T13:12:03 Vulkan: Add feature flag to fallback rotation to use driver uniform It appears that older Qualcomm driver has some serious performance issue with specialization constant. This does not happen with latest development driver. This adds a feature flag to pick driver uniform path for older driver. Bug: b/173636783 Change-Id: Ia494fedbb1e0e69fbd8c44f8457c1bc30bc9fa4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547809 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 6bdeacb1 2020-11-19T20:44:37 Roll VK-GL-CTS from 4fe17f3425ee to 3f73b676d6e8 (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/4fe17f3425ee..3f73b676d6e8 2020-11-19 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master 2020-11-19 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master 2020-11-18 zzyiwei@google.com Add external memeory tests for the VK_EXT_device_memory_report extension 2020-11-18 rgarcia@igalia.com Enable random writes for storage images 2020-11-18 rgarcia@igalia.com Fix depth/stencil image logging in renderpass tests 2020-11-18 adam.jereczek@intel.com Fix initial layout of depth stencil attachment 2020-11-18 arkadiusz.sarwa@amd.com Fix tests dEQP-VK.draw.depth_clamp 2020-11-18 rgarcia@igalia.com Avoid advertising disabled robustness2 features 2020-11-18 slawomir.cygan@intel.com Fix regressions in renderpass tests If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC cnorthrop@google.com,angle-bots+autoroll-info@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: cnorthrop@google.com,angle-bots+autoroll-info@google.com Change-Id: I286bac4e33496b1aebaa7a5e2b576e3b5771d201 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551395 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang a5e98a83 2020-11-19T15:50:36 roll_aosp: Pass more forceful args to gclient sync Gclient sync would get stuck if the deps were left in a bad state from a previous failed roll. Pass the same args as the Chrome bots to forcefully sync. Bug: b/150458033 Change-Id: I6bd1aefbd7e4db22dd08acf781b6a08985f600da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551533 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 46107d3e 2020-11-18T22:03:22 Vulkan: Delay defining D/S content to endRenderPass Take the following situation: 1. Start RP with D/S undefined: loadOp = DONT_CARE, storeOp = STORE * At this point, onDepthStencilWrite calls image->onWrite, setting depth/stencil contents defined. 2. At endRP, observe depth/stencil is not used: storeOp = DONT_CARE 3. Start another RP with D/S: loadOp = LOAD, storeOp = STORE Because the call to image->onWrite was done at startRP, the contents of the depth/stencil image is marked as defined, and the next render pass is loading these data. This change moves image->onWrite to endRenderPass, and only calls it if storeOp = STORE, taking advantage of all the opportunistic optimizations that try to set storeOp to another value. Bug: angleproject:4836 Change-Id: I9858e5caa6b1f67f841a5c6356e66927356ef469 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548319 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang e0619360 2020-11-18T11:13:11 Skip tracking non-preprocessor tokens in disabled if-blocks ESSL1 states that it is an error to have a non-preprocessor token before an extension pragma but ANGLE would mark a non-preprocessor token as seen even if it was in a disabled if-block. Bug: b/161716126 Change-Id: I782224bee211bc7214a2d1d98d4829b4c94101bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547205 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
James Darpinian b47f6868 2020-11-18T16:50:09 Don't use CGL in Mac Catalyst on Apple Silicon This change was made downstream in WebKit: https://bugs.webkit.org/show_bug.cgi?id=218303 It turns out we must use EAGL in macCatalyst on Apple Silicon in all cases, not just in-process in iOS apps (the problem is not just about coexistence of the two GLs, but actually about our ability to load the accelerated renderer /at all/ in macCatalyst processes). I left the runtime switching in place, because there is a future in which we /can/ use CGL in non-iOS-app processes, but that future is not now. Bug: angleproject:5369 Change-Id: I9a523d038eeeeef81efa3b97771443db857e97c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548316 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Shahbaz Youssefi 006c53ba 2020-11-18T22:44:53 Add angle_deqp_khr_gles32_tests to gn_isolate_map.py Bug: angleproject:3647 Change-Id: I8af7d21ae7b25586b9e3bb77bb64f033fc6cafce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548861 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 202304e7 2020-11-17T17:33:47 Trace Tests: Add renderer string logging. This outputs the GL_RENDERER string in each test when using the --verbose-logging command-line flag. Bug: b/173518650 Change-Id: Id966294d50aaba0c8a1f3e010f76d5560e6f1288 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545403 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis c7d2c434 2020-11-18T18:26:44 GL: Fix missing BufferBinding case in GetBufferBindingQuery Texture buffers were missing from the query, which was crashing the GPU process immediately on startup when ANGLE was used on Mac. Bug: angleproject:3573 Change-Id: I02657964de1be700b604b7259f3ea10361614f86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548741 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya cc5f7989 2020-11-19T07:59:01 Vulkan: Support gl_SampleMask with non-const index Add support for access to gl_SampleMask or gl_SampleMaskIn with non-constant index. Replace gl_SampleMask with ANGLESampleMask and reassign ANGLESampleMask to gl_SampleMask in the end. Bug: angleproject:3588 Tests: dEQP-GLES31.functional.shaders.sample_variables.sample_mask. discard_half_per_pixel.* discard_half_per_sample.* Change-Id: Ie668c3ccf4d40352574db57f5e43b2f17ef6d8b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477908 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 8a401051 2020-11-19T07:58:05 Vulkan: Support OES_sample_variables extension Enable OES_sample_variables extension on Vulkan backend. Add support for built-in variables, uniform state and constants - gl_SampleId, gl_SamplePosition, gl_SampleMask, gl_SampleMaskIn - gl_NumSamples - gl_MaxSamples Bug: angleproject:3588 Tests: dEQP-GLES31.functional.shaders.sample_variables.* KHR-GLES31.core.sample_variables.* Change-Id: Idf37c7b4ccb0331dbda7acd6389ff4e1022ba959 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477907 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>