This dep was causing the script to fail. It may be because the repo
currently has a single commit. Work around this by removing the
entry from the auto-roller for now.
Bug: angleproject:2344
Change-Id: Id4f61124aae7ab43aa2343faf19416ff676314d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842224
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Add a test that creates a framebuffer formatted GL_DEPTH_COMPONENT24 and
read pixels from it using glReadPixels.
This test uses a combination of the GL_OES_depth24 and GL_NV_read_depth
extensions.
This test can only run on GLES3 as the GL_DEPTH_COMPONENT24 internal
format is not available on GLES2.
Test: angle_end2end_tests --gtest_filter=DepthStencilTestES3.ReadPixelsDepth24/ES3_Vulkan_SwiftShader
Bug: angleproject:5799
Change-Id: I4e898bf756498796df02ef41cc2b989df78f13df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2817765
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
On macOS 11+ OpenGL is implemented on top of Metal internally.
This CL changes ANGLE's Metal backend's renderer string to better
differentiate it from the above OpenGL renderer.
Bug: angleproject:5841
Change-Id: I0d5466594e385cb663d537db034c82b006b6e907
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Updates the configs to use the new protobuf properties. Adds
support for ARM/ARM64 Android builds.
Must be landed in conjunction with http://crrev.com/c/2841787 .
Bug: angleproject:2344
Bug: angleproject:5114
Change-Id: I49f4f46ceaa7ce9118c9f4b4ceb06353b00429b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842306
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Imagination GL drivers are buggy with context switching.
We need to ubind fbo to workaround a crash in the driver.
Bug: chromium:1187513
Change-Id: Ie5142b5f43a3f23a9743ba7af0d90567fedd00d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2841083
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Bug: angleproject:5830
Tests: TracePerfTest.Run/*command_and_conquer_rivals
Change-Id: I0b5fedfdeab3c0729bac706ceb7ce98f66b41986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2838231
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
https://chromium.googlesource.com/vulkan-deps/+log/c18d8cd5016c..494bfcf95bd6
$ git log c18d8cd50..494bfcf95 --date=short --no-merges --format='%ad %ae %s'
2021-04-20 chromium-autoroll Roll SPIRV-Cross from 3cb8e7c223a3 to d137abeef57b (5 revisions)
2021-04-20 chromium-autoroll Roll Vulkan-Loader from 64cc17099c41 to 4b868e5e13dc (2 revisions)
2021-04-19 chromium-autoroll Roll Vulkan-ValidationLayers from 61c2339d1547 to f39a8dc664c6 (2 revisions)
2021-04-19 chromium-autoroll Roll glslang from 842743722152 to 60ce877de03f (1 revision)
2021-04-19 chromium-autoroll Roll Vulkan-ValidationLayers from 33440cbab76c to 61c2339d1547 (2 revisions)
2021-04-19 chromium-autoroll Roll glslang from ed948c8e1226 to 842743722152 (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Tools from 693d564db4e9 to dc72924cb31c (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from b4aa6dacfa8c to 3cb8e7c223a3 (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from 45818c14e49a to b4aa6dacfa8c (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from 582749ac68a9 to 45818c14e49a (1 revision)
2021-04-19 chromium-autoroll Roll Vulkan-Headers from f5ac258209dc to 074fa3055cfe (1 revision)
2021-04-16 chromium-autoroll Roll glslang from b3859343a2ca to ed948c8e1226 (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from 65576d6dc06a to 33440cbab76c (4 revisions)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from 8035832536d2 to 65576d6dc06a (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from e7eb5ca5e6ec to 8035832536d2 (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from ee42bab38c3b to e7eb5ca5e6ec (2 revisions)
2021-04-16 chromium-autoroll Roll SPIRV-Tools from a02a9205ff49 to 693d564db4e9 (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from c8596531b3f7 to ee42bab38c3b (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from 675fbfaee4e7 to c8596531b3f7 (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from fc6291e5eded to 675fbfaee4e7 (2 revisions)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from 962cad9d3a78 to fc6291e5eded (1 revision)
2021-04-14 chromium-autoroll Roll glslang from e7e4a8eecba5 to b3859343a2ca (1 revision)
2021-04-14 chromium-autoroll Roll glslang from e6a0e7fc7664 to e7e4a8eecba5 (1 revision)
2021-04-14 chromium-autoroll Roll Vulkan-ValidationLayers from 13c4877ea280 to 962cad9d3a78 (1 revision)
2021-04-14 chromium-autoroll Roll SPIRV-Cross from d2e1e7ba9891 to 582749ac68a9 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from cd913e84a81d to f5ac258209dc (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from e01b00657664 to cd913e84a81d (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 7699b91798eb to 13c4877ea280 (2 revisions)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 14f4f766ff89 to 7699b91798eb (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 1e4ea30a1df3 to 14f4f766ff89 (1 revision)
2021-04-13 chromium-autoroll Roll glslang from a7f846a86cb2 to e6a0e7fc7664 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 884a3ecf0e11 to 1e4ea30a1df3 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from e1d8c4931d8e to e01b00657664 (1 revision)
2021-04-13 chromium-autoroll Roll SPIRV-Tools from ae6a1e1d2f3e to a02a9205ff49 (1 revision)
2021-04-12 chromium-autoroll Roll Vulkan-ValidationLayers from d78df3497e17 to 884a3ecf0e11 (1 revision)
2021-04-12 chromium-autoroll Roll glslang from 5602195eed90 to a7f846a86cb2 (1 revision)
2021-04-12 chromium-autoroll Roll glslang from 9f76fd133063 to 5602195eed90 (1 revision)
2021-04-12 chromium-autoroll Roll SPIRV-Tools from 6210375e1399 to ae6a1e1d2f3e (1 revision)
2021-04-09 chromium-autoroll Roll SPIRV-Tools from 8da800c4cbc7 to 6210375e1399 (1 revision)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from abf8d903e390 to d78df3497e17 (1 revision)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from 317a46523468 to abf8d903e390 (3 revisions)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from 9b36350504c7 to 317a46523468 (2 revisions)
2021-04-09 chromium-autoroll Roll SPIRV-Tools from 212895d4c2cd to 8da800c4cbc7 (1 revision)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from 3986d4ffc6b1 to 9b36350504c7 (2 revisions)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from eb791f3842c3 to 3986d4ffc6b1 (1 revision)
2021-04-08 chromium-autoroll Roll glslang from 4099f444484b to 9f76fd133063 (1 revision)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from f563b367c72a to eb791f3842c3 (1 revision)
2021-04-08 chromium-autoroll Roll glslang from 1481399549c5 to 4099f444484b (1 revision)
Created with:
roll-dep third_party/vulkan-deps
Bug: angleproject:5879
Change-Id: Ic36d6ded7116f8a59c9c4bcfb995dd4b870e3ecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2837548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Big pipeline cache will cost much time to compress. Regarding the
perfomance, handle the compression of big pipeline cache in this way:
1)Return when the pipeline cache data is larger than 10M.
2)Use worker thread to complete compression.
Bug: angleproject:4722
Change-Id: I62eb69d8c46729261f0502af01450ec301c258f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2788169
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Includes necessary DEPS and GN build changes.
Some folders are copied directly from Chromium because they don't
exist as source mirrors or aren't available for other reasons.
Bug: angleproject:2344
Change-Id: Ibb7f8a3e2288048b7aed2b0e277ca63b5a932c57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826480
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Blit11 would clip the destination rectangle with the destination size
but ignore the result. gl::ClipRectangle returns false when the
rectangles do not intersect at all, indicating the blit can be skipped.
This could lead to an out-of-bounds write to the GPU memory for the
destination texture.
Mark ClipRectangle as nodiscard to prevent future issues.
Bug: chromium:1199402
Change-Id: I260e82d0917b8aa7e7887f2c9f7ed4b1a03ba785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2836786
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
OpControlBarrier implicitly synchronizes 'Output' storage class.
If TCS has an out varying it should be considered active because
TCS invocations themselves can read each others' outputs.
Bug: angleproject:5557
Tests: KHR-GLES32.core.tessellation_shader.tessellation_shader_tc_barriers.barrier_guarded_*_calls
Change-Id: Ic252c0afff43a68828ee4cf5f4ba890b1b67731e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770679
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
We will revert this once we remove the depot_tools config.
Bug: angleproject:5114
Change-Id: If922a24c9955ba5d5d30ec634fa6c3d6db177f65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2831999
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
A change in Vulkan-Headers changes the value of VK_NULL_HANDLE, exposing
an invalid usage in ANGLE, which is fixed in this change.
Bug: angleproject:5879
Change-Id: I136fdc9e707650a060eaee062c7cf8cf24d9e8b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2831998
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
OpenGLES 3.0 allows FBO with unequal sized attachments. This CL removes
assertion that all attachment must have equal size from vulkan backend,
and uses common intersect area to create VkFramebuffer object.
Bug: b/181800403
Change-Id: Icbb12a26784b184ebd91740855672013f64b889d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824760
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Before OpenGLES3.0, framebuffer object with unequal sized attachment is
considered incomplete. That restriction has been removed in ARB version
of spec and is legit use in OpenGLES 3.0. This adds a test for this
specific usage.
Bug: b/181800403
Test: FramebufferTest_ES3.AttachmentWithUnequalDimensions
Change-Id: I79608bfd8f10855c6fc47511e080ba3ca4e46c59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824366
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
This is a reland of 9a8397327f
Chrome Linux crash issue could be fixed in
0615bbde39, let's reland this now.
Original change's description:
> Reland "Add support for Linux GPU info with Vulkan backend"
>
> This is a reland of 5c09c1f882
>
> Extra change: Add new ANGLE_HAS_VULKAN_SYSTEM_INFO compile
> variable for GetSystemInfoVulkan() in linux platform.
>
> Original change's description:
> > Add support for Linux GPU info with Vulkan backend
> >
> > 1. Add support for Linux GPU info with vulkan backend: for
> > dev board without PCI support, try vulkan backend to get
> > GPU info.
> > 2. Fix getVulkanInstance() issue when loading non-exist lib:
> > return NULL instance if open lib failed.
> >
> > Bug: angleproject:5717
> > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Jamie Madill <jmadill@chromium.org>
>
> Bug: angleproject:5717
> Change-Id: Iaaab8f512b6ec1d524d7ebb3b4252fec3cfe7dc3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739097
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5717
Change-Id: Iad6736f9137b7e9640c97fa2b9eded3fd37ac88f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821410
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
These files should not be duplicated from Chrome, they are used
as part of Chrome's rolling process for these deps.
Bug: angleproject:5839
Change-Id: If95b11585e5aa7d8f834412d41dca377c495b1fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2829330
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tessellation control, tessellation evaluation and geometry shader
per-vertex input variables and blocks are required to be declared
as arrays. Ensure these variables meet the requirements and error
out if they don't.
Bug: angleproject:5557
Test: KHR-GLES32.core.tessellation_shader.compilation_and_linking_errors.te_non_arrayed_per_vertex_input_blocks
Change-Id: I0213fcc6fab90dea7597462a65cbbb7777e67108
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774759
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
These auto-generated deps are necessary for the standalone build.
Updates the roll script to start including these automatically.
Bug: angleproject:2344
Change-Id: I389c203a2ddb971e3aeccb728cf37e232f32031e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826479
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Implements a descriptor set cache for UBOs, SSBOs, and atomic counter
buffers. Storage Images and framebuffer fetch input attachments are
not yet included. Requires moving the buffer barrier handling into
ContextVk, similarly to how we handle the barriers for Textures.
The packed description key for the descriptors uses a "fast" vector
with a basic minimum size. For most cases of a few buffers this will
fit easily in stack memory, but for larger programs with many buffers
we fit this into heap memory. The key has a large upper bound due to
the high ES 3.2 requirements and the need to index several values such
as the offset and binding size.
We use dynamic offsets for uniform buffers when possible. This ensures
applications like Manhattan 3.1 that use sets of common buffers with
changing offsets hit the cache most of the time.
Because of resource limits we pick at compilation time whether to use
dynamic or static descriptor sets. Mostly this applies to tests that
use a large number of uniform buffers. A future implementation could
be smart and would recompile the program with heuristics to use a
minimal number of dynamic indices.
Reduces the number of descriptor set updates from ~300 -> ~30 per frame
in Manhattan 3.1 and in Asphalt 9 from 900+ to as low as 0 per frame.
Bug: angleproject:5736
Change-Id: I5c2a3881bec90d301dab15cc86c8a70e60674ad7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757515
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Since now ImageHelper object has a mRenderPassUsageFlags tracking how it
is been used by current RenderPassCommands, we can consolidate
mReadOnlyDepthStencilMode into a bit in the mRenderPassUsageFlags. The
read only mode is just a special attachment mode, so this makes code
more consistent and able to get rid of the extra dword for
mReadOnlyDepthStencilMode.
Bug: b/181797383
Change-Id: Ie9b7be1c18c392e5b2712bdae6ab6506de8d6d34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821942
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Previously we supported read only depth attachment that attachment and
sample are using the same texture. It was always assuming it will be
read only if the same texture is attached to FBO and same time bound to
texture unit. But we never supported if it actually writing to depth
texture, but at the different level with sampling. This is supported
OpenGL operation as long as the levels render to is outside [base_level,
max_level]. Later on, we added support of the above operation, but
limited to color buffers. This CL extends the same support of render and
sample to the same depth texture with non-overlapping levels. Android
game black desert mobile is running into this usage case.
Bug: b/181797383
Change-Id: I7ee1d52f27603f933102ad1b098684309449c406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819487
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Render and sample from the same texture and then bind to another FBO
without trigger texture bind should still detect the condition that it
is render and sample same texture.
Render to depth texture and sample form the same depth texture but with
non-overlapping levels should work.
Bug: b/181797383
Test: FramebufferTest_ES3.SampleFromAttachedTextureWithDifferentLODAndFBOSwitch
Test: FramebufferTest_ES3.RenderSampleImmutableDepthTextureWithExcludedLevel
Change-Id: I0d330d6f9530eb4fea417019a627890c4a5c1154
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819486
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
The test crashes both with the native and Vulkan drivers.
Bug: angleproject:5867
Change-Id: I6fe3acd7050b0cb2d6f735de684b897aca0a6bb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826402
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>