Граф коммитов

13371 Коммитов

Автор SHA1 Сообщение Дата
angle-autoroll c9161dcec1 Roll Vulkan-ValidationLayers from 76e8dee41452 to e798df982b1b (20 revisions)
76e8dee414..e798df982b

2020-08-25 locke@lunarg.com layers: Check NULL
2020-08-25 locke@lunarg.com tests: Test overlap and not overlap
2020-08-25 locke@lunarg.com layers: Fix wrong overlap check
2020-08-24 mark@lunarg.com tests: Add test for version-checked pNext structs
2020-08-24 mark@lunarg.com tests: Add TessDomainOrigin pnext version check
2020-08-24 mark@lunarg.com stateless: Version check pNext sTypes
2020-08-24 mark@lunarg.com tests: Fix FramebufferCreateErrors test
2020-08-24 mark@lunarg.com tests: Fix AndroidHwBufferDepthStencil test
2020-08-24 mark@lunarg.com tests: Fix error types for InvalidPipelineSamplePNext test
2020-08-24 mark@lunarg.com tests: Fix error types in message limit tests
2020-08-24 mark@lunarg.com tests: Fix error types for InvalidStructPnext tests
2020-08-24 mark@lunarg.com tests: Fix InvalidGetDeviceQueue invalid struct
2020-08-24 mark@lunarg.com tests: Fix TessDomainOrigin positive test
2020-08-24 mark@lunarg.com stateless: Fix sType check string comparison
2020-08-24 mark@lunarg.com stateless: Fix valid sType list for pMultisampleState pNext ptr
2020-08-24 s.fricke@samsung.com layers: Remove 03269 todo
2020-08-24 s.fricke@samsung.com tests: Add Depth/Stencil BufferImageCopy VU
2020-08-24 s.fricke@samsung.com layers: Add Depth/Stencil BufferImageCopy VU
2020-08-24 s.fricke@samsung.com layers: Add VkCommandPool to COMMAND_POOL_STATE
2020-08-24 s.fricke@samsung.com layers: Fix Descriptor ImageLayout check

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 courtneygo@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: courtneygo@google.com
Change-Id: I388405c9186a540933c8d25c57a5bcd8073298f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374348
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-25 08:23:01 +00:00
angle-autoroll f2be8bd348 Roll Vulkan-Tools from eceb318c06a2 to dda8dabe9eb3 (1 revision)
eceb318c06..dda8dabe9e

2020-08-24 jmadill@chromium.org Bump mock ICD surface max extents.

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 courtneygo@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: courtneygo@google.com
Change-Id: I35ddd35aeedb4e33a155ceefe359ed37a5e5d172
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374347
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-25 08:16:51 +00:00
Shahbaz Youssefi 7bce5194d1 Vulkan: Simplify image read barrier necessity check
RAW hazards were being tested for if the layouts were identical, but
that's impossible.

Bug: angleproject:4911
Change-Id: I73f568b1df2cbffe943217e19b115561e48a56c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370862
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-25 03:05:52 +00:00
Mohan Maiya f9a062c975 Vulkan: Add FastIntegerSet and FastIntegerMap class
Add FastIntegerSet container to enable fast contains operation
for a set of integer keys. The class uses a BitSet vector to
achieve performance.

Add FastIntegerMap container to improve buffer serial
tracking performance. FastIntegerMap uses FastIntegerSet container
to track buffer serial keys. It also provides an ensureCapacity
method to reserve space, for the expected buffer count, upfront.

CommandBufferHelper::mUsedBuffers and ContextVk::descriptorSetCache
are now FastIntegerMap
CommandBufferHelper::mRenderPassUsedImages is now a FastIntegerSet

Based on a CL by Jamie

Bug: angleproject:4950
Test: angle_unittests.exe --gtest_filter=FastInteger*
Change-Id: Ib58be20143f588baab99acadac796f2435f72d54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2369466
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
2020-08-25 01:45:43 +00:00
Le Hoang Quyen 7ce9947d81 Metal: autogen for 3D texture's mipmap generating shader.
Bug: angleproject:4921
Bug: angleproject:2634
Change-Id: I5c379d750114e2ca1c5dd0203e94bb63dac1e0bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336125
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-24 15:41:45 +00:00
angle-autoroll 09b5e6b195 Roll Vulkan-ValidationLayers from 0d6b4440549b to 76e8dee41452 (3 revisions)
0d6b444054..76e8dee414

2020-08-22 locke@lunarg.com tests: Binding and index are different
2020-08-22 locke@lunarg.com layers: Fix wrong index
2020-08-21 mark@lunarg.com layers: Fixed multiview handling in RenderPass code

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: Ibc6ec188f3decea8a02d1127acfba41c27aa4b5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371318
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 09:31:14 +00:00
angle-autoroll c09b3505f1 Roll SPIRV-Tools from b79773a35d52 to 4dd122392f3a (1 revision)
b79773a35d..4dd122392f

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 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: Ibb81d2cffb4bf310a344c23e49b3a36a0871ee22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371280
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 09:15:32 +00:00
angle-autoroll 9373b50efa Roll SwiftShader from 44e1791f100c to 622558b02e1a (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44e1791f100c..622558b02e1a

2020-08-21 srisser@google.com Revert "Add getPhysicalDeviceFeatures2"
2020-08-21 msisov@igalia.com X11 and Ozone: Try to check for display type when creating framebuf
2020-08-21 capn@google.com Perform independent blend state optimization

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: Ia64a7480274de87da5b21f28e1198637edb3d37c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371319
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 09:08:34 +00:00
angle-autoroll 8c86f0d917 Roll glslang from f257e0ea6b9a to 983698bb34ec (2 revisions)
f257e0ea6b..983698bb34

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-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: Id88987775255ab33cfa7e4704ddc5bcdddfacbc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371281
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 08:54:54 +00:00
Jamie Madill 4f7edbe1f6 State: Add dirty object for active textures.
Checking sampler completeness after every sampler related
state change is inefficient. Defer sampler completeness
check to draw time.

Based on a CL by hckim.kim@samsung.com.

Bug: angleproject:4765
Tests: angle_perftests.exe --gtest_filter=TexturesBenchmark.*
Change-Id: I7e971371e40b3044ca3d5ca39bfe7fc600620c3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2268577
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-08-23 23:28:40 +00:00
Dirk Pranke 24c2f0e74e Set use_xvfb where needed in test wrappers.
The GN test() template now generates bin/run_ wrappers for
targets; this CL ensures that they'll properly declare when
the wrappers need to use Xvfb on Linux.

Bug: chromium:816629
Change-Id: I4f227eab3306f737f77bbe3341039d710184db96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-23 22:01:40 +00:00
Le Hoang Quyen acda9ddea1 Metal: Implement GL_OES_texture_3D
Bug: angleproject:2634
Change-Id: I8c46493ac28fe1bbfdb29ee3a60b23076bbc4c0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336119
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-23 21:06:10 +00:00
Le Hoang Quyen f2196ad676 D3D11: Disable OES_texture_3D.
GL_OES_texture_3D requires support for 3D textures at both API and GLSL
levels.

D3D11 back-end doesn't handle GLSL's added functions (texture3D*)
properly. See TextureFunctionHLSL::useTextureFunction()
(TextureFunctionHLSL.cpp:1475)

Bug: angleproject:4926
Change-Id: Icd669b070c68ec04f5de790d5a531912f5b42d98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336132
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-23 21:01:00 +00:00
Le Hoang Quyen 4f247baf66 Metal: Implement EXT_draw_buffers & ANGLE_framebuffer_blit
Bug: angleproject:2634
Change-Id: I769ca7e113e660870e9b31dafb706c313db8ac24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332146
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-23 19:21:10 +00:00
Charlie Lao 1d331c9131 Vulkan: Use context staging buffer for copyImageDataToBuffer
ImageHelper::copyImageDataToBuffer() is called from glCopyTexture*. It
allocate staging buffer and write the copy command into command buffer
right away. This uses context staging buffer instead of ImageHelper's
staging buffer. This has the benefit of able to share staging buffer
with other objects (including buffers etc).

Bug: b/164511310
Change-Id: I3f680b1cd95df172a442aac573a8cc8d48972b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364717
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-22 03:46:25 +00:00
Cody Northrop a2c2a91016 Capture/Replay: Fixes for PUBG:Mobile
This CL does the following:
* Skip calls from KHR_debug and EXT_debug_marker
* Update an assert in setDeletedBuffer
* Warn when capturing an invalid call

Test: Capture first 2000 frames of PUBG:Mobile
Bug: b/165824228
Bug: angleproject:4048
Change-Id: Ib7fa616a1b5c8ed7c83daaaf0779b41acd31a7f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366828
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-22 00:18:14 +00:00
Jamie Madill ea3f501e62 Feedback Loop Redesign 3/3: Remove feedback loop tracking.
We now we detect feedback loops by tracking the Framebuffers that the
Texture is bound to. We still have the old tracking method that counts
sampler and image bindings in the code as well.

This CL removes the old front-end tracking for feedback loops. It's no
longer used by any back-ends. This removal should reduce CPU overhead
around Texture and Program binding changes. Reverts the image binding
tracking to the simpler scheme that tracks if a Texture has ever been
bound as an Image. This should practically have little or no perf
effect and we can reinstate some simpler tracking in the future if
required.

Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: Idc625d6e4c519919f97a4dc72dd9c35d262706fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363210
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2020-08-21 21:34:02 +00:00
Ian Elliott ba1e049fe0 Vulkan: Fix compilation error
Two commits conflicted and the bots didn't catch it somehow

Bug: b/163854287
Change-Id: Idb4d7802eec71b2112b11e4553e609b532cee070
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2369261
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-21 19:38:57 +00:00
Ian Elliott 296d3bfd45 Vulkan: do not end render pass when invalidating
Initially, FramebufferVk::invalidateImpl() was very conservative and
always ended a render pass (if the framebuffer is part of the current
render pass).  This adversely affects PUBG Mobile, which invalidates
the depth buffer every frame, causing the render pass to be split.

Test: PUBG MOBILE on Android
Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.InvalidatingAndUsingDepthDoesNotBreakRenderPass/*
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan
Bug: b/163854287
Change-Id: I343dee1db3ebaf039ff92557f9ef25b24bcdcc93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352627
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-08-21 18:45:47 +00:00
Jamie Madill 682f9141d1 Remove feedback loop support from back-end.
Front-end detection still in place and will be removed in a follow-up.
Removes the Vulkan feature and the special clear handling.

Bug: angleproject:4959
Change-Id: I5d44c3f7dbdb49d8aa0375f54b7148df09732ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363208
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-21 17:02:47 +00:00
angle-autoroll 9d8fd36d3b Roll Vulkan-Loader from 2979391e5b0c to e1c7eaa74142 (1 revision)
2979391e5b..e1c7eaa741

2020-08-20 lenny@lunarg.com loader: Fix invalid cleanup on allocation error

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 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: I1c202b3b886499dd4b33ae1bb8e02f861c5174a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368912
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 08:35:33 +00:00
angle-autoroll 97a899f740 Roll SPIRV-Tools from a711c594b8cc to b79773a35d52 (1 revision)
a711c594b8..b79773a35d

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 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: Iab1da2816a46c4cb658c1560e54b49ab86b21b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368817
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 08:34:03 +00:00
angle-autoroll a2c33e3fa0 Roll SwiftShader from cbfd396756c6 to 44e1791f100c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cbfd396756c6..44e1791f100c

2020-08-20 srisser@google.com Add getPhysicalDeviceFeatures2

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: Ie0cfc798345d8a176168f16fd6c7189611e0769a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368816
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 08:25:23 +00:00
Charlie Lao 4909d08c14 Vulkan: Rename mStagingBufferStorage to mStagingBuffer
Rename only to keep it consistency.

Bug: b/164511310
Change-Id: I7b00c48010b76bff0b292e6e75b9aff154cdecc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364727
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-21 04:03:22 +00:00
Jamie Madill d3e800e9ad Vulkan: Restart RenderPasses in DS read-only mode.
We can combine an initial RenderPass with a read-only RP if the first
RP never writes to depth. We can check the depth-write tracking in
CommandBufferHelper and substitute in a new Framebuffer/RP Desc in this
case as well as issue new layout barriers. We need to disable barrier
merging in this special case.

This reduces the RenderPass count in the Manhattan trace from 15->13.
The performance on the Pixel 4 benchmark goes to ~82% of native for
the on-screen version and ~88% for off-screen. There's also a ~5% bump
in speed for the desktop trace.

Bug: angleproject:4959
Change-Id: I70241824f75eaa1e11b50370f826abc36e91686e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358772
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-21 01:50:22 +00:00
Charlie Lao 552f0f7623 Vulkan: Use context staging buffer for immutable texture update
This uses context's staging buffer for immutable texture
TextureVk::setSubImageImpl call and flushes update right away.

Bug: b/164511310
Change-Id: I04fee0a9afe0e84617a461fb6cd7137e853adf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357971
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-08-21 00:46:22 +00:00
Jamie Madill e689d3164f Vulkan: Don't end RenderPass on DS feedback loops.
Instead of always switching the Framebuffer to mask out depth/stencil
loops we now switch the RenderPass to a "read-only" depth/stencil mode.

Reduces the RenderPass count in Manhattan from 18->15. There are still
a couple extra RenderPasses inserted that we can get rid. We can merge
a few RenderPasses by retroactively changing a started RenderPass to
"read-only" when there are no prior recorded depth writes or clears.

Also adds a test to count the number of RenderPasses ANGLE generates in
DS feedback loop situaions.

Bug: angleproject:4959
Change-Id: I1855a45959655fc27ccd47a3469c1c672fc8fd9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357973
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-08-20 23:36:50 +00:00
angle-autoroll c060d8d657 Roll Vulkan-ValidationLayers from c97acd1d3e07 to 0d6b4440549b (6 revisions)
c97acd1d3e..0d6b444054

2020-08-20 locke@lunarg.com tests: Push constants and image subresources
2020-08-20 locke@lunarg.com layers: Add VUID-vkCmdDraw-None-02687
2020-08-20 locke@lunarg.com layers: Add VUID-vkCmdDraw-None-02698
2020-08-19 mark@lunarg.com docs: Clarify use of BUILD_LAYER_SUPPORT_FILES
2020-08-19 s.fricke@samsung.com layers: Remove double destroy VUID
2020-08-18 shannon@lunarg.com build: Update known-good files for 1.2.151 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: I72c8ed763ee7de32272c5bc34806440eac6d6b5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366566
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-20 09:46:16 +00:00
angle-autoroll 08587bcbcf Roll SPIRV-Tools from 3434cb0b006d to a711c594b8cc (2 revisions)
3434cb0b00..a711c594b8

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 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: I106e7a18a3b2ed1b9bcb44a7905e72729c758bea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366567
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-20 09:39:46 +00:00
angle-autoroll a6bf6a7295 Roll Vulkan-Loader from 30b3f3857835 to 2979391e5b0c (1 revision)
30b3f38578..2979391e5b

2020-08-19 nathbappai@gmail.com loader: Fix some non-msvc compiler warnings

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 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: Ic0c9fa5e93c83901b8e7e94af775210e74e99de7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366568
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-20 09:29:47 +00:00
Tim Van Patten dff47d5fda Vulkan: Optimize MSAA using subpass resolve attachments
If a user is performing a blit to resolve a multisample color buffer
into a single attachment, ANGLE can use subpass resolve attachments to
resolve directly into the destination buffer as part of the render pass.
This allows the data to remain in tiler memory and reduce the extra
bandwidth required to write the multisampled data back to perform the
copy.

This work also requires restoring/reopening a render pass if it has been
finished already, assuming the finished render pass was started and for
the framebuffer that is the source for the blit command. Other objects
that were created when the render pass was started need to be updated as
well, such as the source FramebufferVk's resolve attachment, the
CommandBufferHelper's vk::Framebuffer and vk::RenderPassDesc, etc.

While this is better than performing vkCmdResolveImage(), there is still
another major part of optimizing MSAA using resolve attachments not
implemented here: discarding the multisampled image rather than writing
it to GMEM, which requires the user to invalidate the read FBO after the
blit.

This CL was verified with AGI to make sure there are no explicit blits
to resolve the multiple sampled image.

Bug: b/159903491
Test: FramebufferTest_ES31.*Blit*
Test: VulkanPerformanceCounterTest_ES31.MultisampleResolveWithBlit
Change-Id: I320a26088d8f614a295e7feec275d71310391806
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298663
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-20 05:05:50 +00:00
Yuly Novikov 5dff6075d2 Roll chromium_revision c8c2c64629..84714fcf81 (796654:799900)
Change log: c8c2c64629..84714fcf81
Full diff: c8c2c64629..84714fcf81

Changed dependencies
* build: 1130766620..7076d3be06
* testing: e227df9cd5..855f6eb5b6
* third_party/Python-Markdown: 31ac00b010..ad4fc19d61
* third_party/libjpeg_turbo: 0241a1304f..9d4f8005bc
* third_party/zlib: 7492de9a52..d53accfbd0
* tools/clang: faabb9a8ea..299e8a2339
* tools/md_browser: 7e75775447..60141af360
* tools/memory: 89552acb6e..ee1e244813
DEPS diff: c8c2c64629..84714fcf81/DEPS

No update to Clang.

TBR=ynovikov@chromium.org,
BUG=None

Change-Id: Ib0a7b120da430668075b0202456d4c0e170666bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366112
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2020-08-20 02:56:10 +00:00
Jamie Madill 185d9d08bc Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
Re-land fixes the crash when drawing with no bound Program executable.

Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.

Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.

This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.

We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.

Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-20 01:24:10 +00:00
Alexis Hetu a20f5b17f8 Silence Control Flow Integrity (cfi) errors
The cfi bot is throwing 3 different errors with ANGLE when using
the Vulkan backend:
- ChoosePhysicalDevice causes a "function with wrong dynamic type"
  error when using vkGetPhysicalDeviceProperties
- In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr
  also causes a "function with wrong dynamic type" error
- In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp,
  GetAllocationCallbacks() causes a "unrelated cast" error

This cl silences all 3 cfi errors.

Bug: chromium:1116053
Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2020-08-20 01:17:20 +00:00
Yuly Novikov a357cbab10 Fix manual roll mode of roll_chromium_deps.py
Got broken while working on autoroll mode in
https://chromium-review.googlesource.com/c/angle/angle/+/2363212

Bug: skia:10572
Change-Id: I0c851aed758e568b080d6c222762f35b8c7adae4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365597
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2020-08-20 00:46:19 +00:00
Yuly Novikov 7d38b0ba07 Fix manual, disable automatic rolling of googletest and jsoncpp
roll_chromium_deps.py didn't handle properly rolling recursedeps for
these 2 repos, only rolling the top level repo but not internal.

Temporarily disable rolling these 2 repos in roll_chromium_deps.py and
roll them properly to the latest revision used by Chrome.

Change log:
e3c3f879ee..c20c5a3085
f2fb48c3b3..4fe018038f
ec647b85b6..30a6ac108e

No change to
645250b669

Bug: angleproject:4973
Change-Id: Ie164c5b1adb8684b875f1be4924b295033e2fb4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365023
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-20 00:03:07 +00:00
Khushal f6fb6da87d Revert "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
This reverts commit 699bcde0b7.

Reason for revert: Breaking GLES2WebGLDecoderPassthroughTest.DrawArraysInstancedANGLEEnablement. Here is a sample build : https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28NVIDIA%29/4240

Original change's description:
> Feedback Loop Redesign 2/3: Track bound FBOs in Texture.
> 
> Currently we track feedback loops by counting the times a Texture is
> bound as a sampler or image in a particular context. This is a bit
> tricky because Texture bindings change frequently. Relative to the
> number of times we need to check for a feedback loop this causes excess
> overhead.
> 
> Usually Framebuffers have a low number of Textures bound (in many cases
> just 1). And Textures aren't usually bound to many different FBOs. So
> instead of counting the number of times a Texture is bound as a sampler
> or image we will track the Framebuffers that the Texture is bound to.
> 
> This CL adds a small vector class to gl::Texture which tracks all the
> Framebufer Serials of its bound Framebuffers. We can use this set to
> quickly check if there's any potential feedback loop between the a FBO
> and this Texture.
> 
> We also update the feedback loop check to use this new method. We will
> be able to remove the old counting method when we switch the Vulkan
> feedback loop handling to use the new tracking in this CL.
> 
> Bug: angleproject:4500
> Bug: angleproject:4959
> Change-Id: I84a2f0ed8480d1da63d5879e0e56a8be4af4e735
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358850
> Reviewed-by: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

TBR=tobine@google.com,courtneygo@google.com,jonahr@google.com,jmadill@chromium.org

Change-Id: Ica795036895652add37ac8ed319031f9d5a321ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4500
Bug: angleproject:4959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365077
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
2020-08-19 21:04:49 +00:00
Yuly Novikov 0f33d01e3f Adjust roll_chromium_deps.py to work with autoroller.
Add --autoroll option which expects an existing git commit by the
autoroller, which updates chromium_revision.
roll_chromium_deps.py then updates other ANGLE dependencies to the
revision of their Chromium counterparts and amends autoroller's commit.

Bug: skia:10572
Change-Id: Iddb9296bd1470f4a2113563c5ed3a1c27e16f128
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363212
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-19 20:05:54 +00:00
Jonah Ryan-Davis b8c3242465 Fix language inclusivity for SurfaceMtl.mm
He->they

Bug: b/162834212
Change-Id: I8559120ad77006aaa839b70e00b4c8f12e9e8a44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364192
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2020-08-19 20:05:24 +00:00
David Reveman 78d10017e2 Vulkan: Enable VK_KHR_bind_memory2 extension
Don't assume support for VK_KHR_bind_memory2,
enable the extension, if supported, during device creation.

Also initialize all required extension functions for the
memory allocator.

Bug: angleproject:4966
Change-Id: I878939fb3324723675a2b7dec18ab453b2a9fc77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359529
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-19 17:38:55 +00:00
Jonah Ryan-Davis 831056bf05 Fix typo in test harness README
Larget->larger

Bug: angleproject:3162
Change-Id: I7ee84b714af179f97db1aa61b58ed946b28373bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-19 17:04:29 +00:00
Le Hoang Quyen defeda29dd Metal: autogen for EXT_draw_buffers & ANGLE_framebuffer_blit
Bug: angleproject:2634
Change-Id: I8f8ee91fb673301b8bd97c359ee39c411e2bf8da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336124
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-19 16:54:30 +00:00
Amy Liu add9b6774e Delete extra initialization in spirv shader.
Only webgl requires initialization of local variables,others don't.
Extra initialization in spirv shader may affect performance.

Bug: angleproject:4952
Change-Id: I004761779067748d43c1ea2630794491f1389492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359608
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-19 14:41:29 +00:00
Jamie Madill 27a24f6d03 Vulkan: Check aggregate barrier feature instead of caching.
Bug: b/157508684
Change-Id: I6c98cb017d44c1279439d815e77f6ad1a32133e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360903
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-19 13:37:19 +00:00
Jamie Madill ea1bda2632 Vulkan: Name image layouts.
Can be useful for debugging logging.

Bug: angleproject:4959
Change-Id: I4bdb72b4c07979fecc2af0ca2a2b2e7cdab36b9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360902
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-08-19 13:34:59 +00:00
angle-autoroll 6133bb4d94 Roll Vulkan-Tools from 1590d46aaaeb to eceb318c06a2 (1 revision)
1590d46aaa..eceb318c06

2020-08-18 shannon@lunarg.com build: Update known-good files for 1.2.151 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-tools-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: I8bb85820739d3f9d881e2559f167f05f7d3ee2ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364248
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 10:28:29 +00:00
angle-autoroll 330eb73fd6 Roll SwiftShader from 6f74415e2f74 to cbfd396756c6 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6f74415e2f74..cbfd396756c6

2020-08-18 sugoi@google.com Control Flow Integrity (cfi) fix

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: I04196ff58d26afae7c52d4aebc2a962909a9b846
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364247
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 08:26:39 +00:00
angle-autoroll e16e2cf4f1 Roll Vulkan-ValidationLayers from 9d431ae2eeb4 to c97acd1d3e07 (1 revision)
9d431ae2ee..c97acd1d3e

2020-08-18 mark@lunarg.com layers: Fix whitespace error in layer settings file

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: I82f83a33bffee7ff6f5ffebca1bd59f726e85012
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364249
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 08:24:29 +00:00
angle-autoroll 9e17caba2c Roll SPIRV-Tools from e28436f2b8a2 to 3434cb0b006d (2 revisions)
e28436f2b8..3434cb0b00

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 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: I98c5ba5b5a5ad87051cdadd89ae431412b003405
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364250
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 08:22:29 +00:00
Jamie Madill d286daf11c Vulkan: Track RP's read/write access for depth/stencil.
This generalizes the read tracking into read/write. Knowing the write
access can let us determine if we can switch a RenderPass to a read-
only mode. And switching to read-only will let us combine some
RenderPasses in Manhattan.

Bug: angleproject:4959
Change-Id: Ic97547e84fef4a2670437677000d4525006ef69f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358771
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2020-08-19 04:42:01 +00:00