|
daed369c
|
2020-05-05T14:24:26
|
|
EGL: Add support for GL_EXT_EGL_image_array extension
Add support for creating 2D array EGLImages. 2D array
textures are core in GLES3.0. Enable the eglImageArray
bool that controls exposure of the extension for all
contexts >= GLES3.0
Bug: angleproject:4604
Tests: angle_end2end_tests --gtest_filter=ImageTest.*2DArray*
Change-Id: Iebc1ad184fe7209ca89d620290337438ac251c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176109
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
930b2641
|
2020-03-23T14:47:03
|
|
Allow tests to run on native EGL.
Adds support for Linux and Android native EGL testing.
This can be useful for doing performance comparisons of ANGLE vs
a native GL driver. Only enabled for the trace perf tests due to
limitations in the test harness.
Bug: angleproject:4596
Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a4b506f7
|
2020-04-03T18:31:22
|
|
No-Op draws when no active VS and/or FS is present
According to the OpenGL ES 3.1 spec:
7.3. PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined. However, this is not an error.
To handle this, if no VS or FS is present in the active Program/PPO,
we will no-op the draw command.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: If19e9fbb1bc09fa0d490832079bb9f514eab6035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2136386
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
06ce17e0
|
2020-04-27T09:05:54
|
|
Capture/Replay: Reset buffers on replay loop
This CL adds infrastructure for tracking whether resources need to be
reset when looping back to the beginning of the frame sequence.
A new function is generated on the last frame: ResetContext*Replay().
It will contain calls to gen, delete, and restore contents of
resources. This CL only supports Buffer resets.
Bug: b/152512564
Bug: angleproject:3662
Bug: angleproject:4599
Change-Id: I46672dd70dcb997967e3cc0897308144f2582e21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168121
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c02cdff7
|
2020-05-05T19:52:17
|
|
Revert "Add -Wno-pointer-to-int-cast"
This reverts commit 226bba3c755ec8105c895c87450c1ebb0d8159e1.
Reason for revert: Should no longer be needed after
https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Original change's description:
> Add -Wno-pointer-to-int-cast
>
> This is the last remaining instance of the warning across Chromium. It's
> fixed upstream but I can't seem to figure out how to successfully roll
> deqp. So suppressing it here for now.
>
> This can be removed once the deqp in Angle has
> https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
>
> Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
> Bug: chromium:1054220
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,courtneygo@google.com,aeubanks@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1054220, angleproject:4588
Change-Id: Ib26534cbb48df6d51af137babb95f3aeb6825043
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182891
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
eba008ad
|
2020-05-05T10:46:21
|
|
Add end2end test for changing MAX_LEVEL with compressed texture
This is a follow-on to
https://chromium-review.googlesource.com/c/angle/angle/+/2180881.
This adds a comment explaining part of that solution, and an end2end
test that creates a compressed texture and then renders after
decreasing MAX_LEVEL and then again after increasing MAX_LEVEL.
Bug: b/155499736
Change-Id: I04bb0dc9ead2807f7121e4c6b95ffd3594d5dcc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182174
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a5829b2a
|
2020-04-27T15:41:37
|
|
deps: Roll VK-GL-CTS
* Moved xexml files to a library
* Added new waiver system to GN
* Added new KHR GLES 3.x tests to GN for nearest sampling edge cases
* Updated expectations for new tests
* Manual roll of glslang to bring in new dependencies.
Test: deqp
Bug: angleproject:4588
Change-Id: I7b9bcc28e9c9ba6abe4fa4873f732677ed3d276d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168617
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1e2109b9
|
2020-05-04T15:41:33
|
|
Vulkan: Merge Command Buffer Helpers
Merge the outside and inside renderPass command buffer helpers to
share the single CommandBufferHelper (CBH) class.
This commom class is still used for separate outside and inside
renderPass command buffer objects in the context. That's a bit
wasteful since some functions and members are only relevant to
one type of command buffer.
However, this is a foundational change that will provide the
immediate benefit of being able to use the CBH as the interface
for passing commands to a worker thread. It also provides the
long term benefit of starting the refactor to merge the outside
and inside renderPass command buffers into a single command buffer
object that can be used by the main thread to record all commands
whether inside or outside of a renderpass.
Bug: b/154030403
Change-Id: I83c63385fe9858bc05853c550d4fb2e13226d582
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2180850
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e8e12881
|
2020-05-05T08:47:28
|
|
Roll Vulkan headers, update ANGLE to match
All the *_RANGE_SIZE enums were removed from vulkan_core.h
Fix up ANGLE references.
Bug: b/155750030
Change-Id: Idc4ee20d4a87f8cb3f46e105819af7257a7fea4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182577
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d657e1d7
|
2020-04-24T13:13:18
|
|
Vulkan: Defer framebuffer clears.
This works by storing the deferred clears in the ImageHelper's staging
buffers. We apply the deferred clears onto the RenderPass right before
we begin to draw. Storing the clears in the ImageHelper solves problems
where we clear GL Textures in a Framebuffer and then unbind the
Textures and sample from them. Or do other commands like CopyTexImage.
Note that because the staging buffer clears only handle full-image
clears we need to immediately apply some scissored clears where before
we would use the RP. This should be a pretty rare occurrence and it is
possible to optimize that in the future.
Reduces the RenderPass count in the Manhattan "frame 10" trace from max
22 to max 20. May improve perf slightly on Android or may have effects
too small to measure. Should not regress performance.
Bug: angleproject:4517
Change-Id: I02150d531022afb903f1058f070937ec6337bd88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2142711
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2ad30d7a
|
2020-05-04T16:14:22
|
|
Vulkan: honor compressed texture block width/height
When a texture's base or max mipmap level is changed, ANGLE creates a
new VkTexture (and potentially copies lots of data old->staging
buffer->new). However, ANGLE wasn't looking at the texture's format,
and for a compressed format ANGLE wasn't looking at/using the texture
format's compressed block width and height.
Bug: b/155499736
Change-Id: I11a12028aee998fa23d503c2c0db39fbb49ae6ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2180881
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
41f7bcce
|
2020-04-30T16:09:36
|
|
Vulkan: Add missing cache flush
DynamicBuffer are not cache coherent, thus requires flush. Also adds a
few assertion to ensure implementation matches expectation.
Bug: b/155432713
Change-Id: Iaf28786168a3bb5d746b43e030f882c4b6d005ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174269
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ca50ad42
|
2020-05-01T16:37:00
|
|
Vulkan: Update VMA integration.
This will allow ANGLE to share the same source location as
Chromium.
Bug: chromium:1074162
Change-Id: I3ea9820cc1fe9cd0bfec81d734168213e5c1bb0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
73bf99b7
|
2020-04-29T16:20:09
|
|
Fix clearing the program's validation-related cache too early
When attempting to link a new program, the program must be marked
as unlinked, but the validation-related caching should not be
cleared yet, since we can still use the previously linked program
if linking fails at this point.
Added an angle end2end test which fails without this fix and
passes with this fix.
Fixes the following WebGL 1.0.4 test with SwANGLE:
conformance/programs/program-test.html
Bug: angleproject:3557
Change-Id: Ib6722ba88803979e8f292c9b7b81f85cc0304662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
4271443d
|
2020-03-04T20:33:36
|
|
Fix VulkanExternalImageTest on SwiftShader
Check isSwiftShader() for whether to load swiftshader instead of the
default ICD.
The spec says we should query GL_DEVICE_UUID_EXT & co for this, but we
haven't implemented those queries yet.
Bug: angleproject:4092
Change-Id: Ifd74d6b6706f7b1fcbe5d82a33ecf70e631e26b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088660
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
605af42e
|
2020-03-04T21:52:53
|
|
Vulkan: Move ICD overrides to a common place
We also need the bundled ICDs and selection logic for certain tests that
create a vulkan instance. If we don't, the tests will use default vulkan
even if ANGLE is using swiftshader-vulkan. Tests of driver specific
handle types (e..g opaque fd) will fail in this case.
Bug: angleproject:4092
Change-Id: Iff089c9341b8b533ee8634923d0177c5dbcd5cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088659
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f623bd2e
|
2020-04-14T10:35:13
|
|
Tests: Add program pipeline object tests
This CL adds two program pipeline object (PPO) tests based on code
inspection during review. They are both disabled awaiting fixes.
* The first (DetachAndModifyShader) tests a bug that shaders aren't
detached immediately on call.
* The second (DifferentTextureTypes) tests PPOs with mismatched
texture types. They should not link if the programs use a texture in
non-matching ways.
Test: ProgramPipelineTest31.DetachAndModifyShader*
Test: ProgramPipelineTest31.DifferentTextureTypes*
Bug: b/151462886
Bug: b/151449648
Bug: angleproject:3570
Change-Id: Ief0937397d31c972bf5e3a8d56b02d2dbd5a604b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2146997
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
a48f3c38
|
2020-04-29T10:03:14
|
|
Implement setBinaryRetrievableHint
Remove the UNIMPLEMENTED() macro. Doing nothing is an acceptable
implementation at this time.
Test: Angry Birds 2
Bug: b/154930384
Change-Id: Ie46c084feb2015aa5fecdbbf2295d46e5087e3dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172711
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2071b5c3
|
2020-05-01T15:41:04
|
|
Expose EGL 1.5.
This is helpful for figuring out if we can support the DEBUG
property when initializing an EGL context. It also will be
necessary down the line for Android.
Bug: angleproject:4596
Bug: b/154921118
Bug: angleproject:4606
Change-Id: I01c2cbaa21495e3620b7858f2a309c9a884033ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176277
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
040e4f6f
|
2020-05-01T14:50:59
|
|
Vulkan: Minor command buffer refactor
Fix a couple minor nits with command buffer handling in ANGLE:
1. Make initialize() common CommandBufferHelper function
2. Reduce some common code when starting renderpass
Bug: b/154030403
Change-Id: Ie9cfcd7c053c8605b16bc2dee7f8d69418922492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175106
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
10ee839c
|
2020-04-30T16:15:41
|
|
Vulkan: Improve viewport and scissor for pre-rotation
Handle all 4 rotations and non-full-screen viewports & scissors.
Test: Running NBA 2K20 while flipping phone left and right (90 & 270) + watching it in Visual Studio and with Android logcat INFO messages
Bug: b/150329969
Bug: angleproject:4431
Change-Id: Icd555dbc2419aac1413452c1b306d6227784dc27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174961
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1c3e322c
|
2020-05-01T12:22:20
|
|
Work around strange git cl format issue.
For some reason this line of code confused git cl format
in that it would generate different results depending on when
it was called:
"PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
ANGLE_EGL_StreamConsumerGLTextureExternalAttribsNV;"
I wasn't able to root cause the bug. Instead I worked around
it by changing the signatures for this file.
Bug: angleproject:4596
Change-Id: I4f18e03d27d378480b19831de51c4e85d815ca66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176157
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
c9e0edc2
|
2020-04-30T14:48:40
|
|
Handle 3D texture entire-mip initialization for FBO attachments
FramebufferAttachmentObject::initializeContents clears the entire mip
level for layered textures (not including cube map). This was done by
special casing 2D array and 2D multisample array textures but did not
work for 3D.
Generalize the logic to work for all layered texture types.
Handle clearing the entire 3D texture mip in Vulkan.
TEST=conformance2/misc/uninitialized-test-2.html
BUG=angleproject:4602
Change-Id: I35bb9fc3304f0553e8de68d205b0843845bf7549
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174264
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5b16123d
|
2020-05-01T08:26:28
|
|
Capture/Replay: Refactor default uniform handling for arrays
Instead of walking through uniform locations, walk through
the uniforms themselves and emit arrayed uniforms, which consume
multiple locations.
Test: MEC capture of Manhattan on Windows
Bug: angleproject:3662
Change-Id: Ifd25528721982847d4f0938f469a914a1cb908c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175994
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
428e4415
|
2020-04-27T12:27:00
|
|
Vulkan: Migrate trace events and occlusion queries
Moved GPU trace event and occlusion query commands that were on the
primary command buffer to the SecondaryCommandBuffer (SCB). Putting
these commands on outside render pass SCB and flushing those commands
to primary on-demand as needed to maintain ordering of commands.
For resetQueryPool command used by occlusion query, allow the SCB
to queue up that command for inside RenderPass SCB. This avoids
ending a renderPass prematurely and allows all outstanding reset
commands to be executed before the beginRenderPass command since
the resets must occur outside of a renderPass.
This is groundwork to simplify the hand-off of SCBs from the main
thread to a worker thread. Long-term we'd like a single SCB that
can handle both inside and outside renderPass commands at the same
time to pass to the worker thread for processing into a primary CB.
Bug: b/154030403
Bug: angleproject:4603
Change-Id: Ic1023ae27a9b14435743549ea9933edf1c4b318b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168114
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
942796f6
|
2020-04-30T16:55:28
|
|
Capture/Replay: Use BindAttribLocation to force MEC compat.
In some cases we'd end up with attributes that are optimized
out by the GL driver. BindAttribLocation forces the programs
to use the same attribute indexing numbers so that the command
stream works mostly the same even if some attributes aren't
active in the shader.
Bug: angleproject:4598
Change-Id: I2d02dd38d29a1489706ae70bcc0b262b1c076942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174266
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
e09f7a14
|
2020-04-30T17:43:12
|
|
Validation: Fix some function types.
These were slightly mismatching the header types. They seemed
to link fine despite producing some warnings in a tool.
Bug: angleproject:4598
Change-Id: I19cfe4d87eca409c82a7c8cf25fff6f8a4c83ca9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175057
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
57d95828
|
2020-04-30T17:35:50
|
|
Revert "Add type for attribute locations."
This reverts commit 9349c14344b2d1fd6bc357063b602bc2626c140f
and commit d43b057435e6c9e3194dd20627681ffca0c0808e.
It's no longer needed after we bind attribute locations before link.
Original CL message:
This will allow the capture/replay tool to easily intercept and label
attribute locations for remapping.
There's some inconsistency in implementation in the GL desktop front-
end. This is a quick fix and the full implementation is left for when
we implement the full desktop GL API set.
Bug: angleproject:4598
Change-Id: Ic510159d4d1982eff41560503cabf983a1be0381
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174076
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
df31624e
|
2020-04-30T13:28:24
|
|
Vulkan: Reduce the onBufferRead/onBufferWrite API verbosity a bit
This adds helper functions to handle common use case for onBufferRead
and onBufferWrite to reduce the API verbosity a little bit. Also fix the
transform feedback bug that we are passing in wrong access/stage flags
when it is emulated by vertex shader.
Bug: b/155122200
Change-Id: Id2549ca00cad184a90c6230dc3665aaff44dda08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174265
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67da0051
|
2020-04-30T17:53:58
|
|
Vulkan: Fix dbg util label bug
Courtney noted this bug from a review. Should begin label on pushGroup
instead of insert label.
Bug: b/154030403
Change-Id: I5f4da5762e1ef03fe27b414740e34d2064af86b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171951
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
85ae836f
|
2020-03-30T16:03:47
|
|
GL: Implement EGL_EXT_image_dma_buf_import
Add support for the EGL_EXT_image_dma_buf_import on EGL implementations
that support it natively. This extensin is used on ozone to import
native compositing buffers.
This patch also adds new tokens in EGL_EXT_image_dma_buf_import_modifiers
which are used in eglCreateImageKHR.
BUG=angleproject:4529
Change-Id: I49bff831b591fb19fcdcec1145c7a61f5d8020c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2128190
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a56537a3
|
2020-04-29T11:14:03
|
|
Enable GL_BGRA_EXT for es backend
It's required on Chrome OS.
Based on spec EXT_texture_format_BGRA8888, this format is renderable.
Bug: angleproject:4594
Change-Id: Ibde0f0de18f4b8079a23f4b13123c6b5c8794a89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172638
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
d43b0574
|
2020-04-30T14:17:21
|
|
Capture/Replay: Fix tool after parameter change.
'index' became 'indexPacked' for attribute locations. It
also changed the type.
Bug: angleproject:4598
Change-Id: I6393e09dd1d5c1a7c5d0e2ca8a67e4f7bbb05411
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174263
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9349c143
|
2020-04-29T16:36:17
|
|
Add type for attribute locations.
This will allow the capture/replay tool to easily intercept and label
attribute locations for remapping.
There's some inconsistency in implementation in the GL desktop front-
end. This is a quick fix and the full implementation is left for when
we implement the full desktop GL API set.
Bug: angleproject:4598
Change-Id: Ibf11bcb8669d27265ea376494a2e3124825cf3be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171933
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9cac3c58
|
2020-04-30T09:52:13
|
|
Capture/Replay: Disable default uniform updates for arrays
We aren't properly handling them, were already firing UNIMPLEMENTED,
but can't continue with the loop. Will follow up with real support.
Test: MEC capture of Manhattan on Windows
Bug: angleproject:3662
Change-Id: I7b77350b39971fda702eac8b19c6f29f36f78146
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171759
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f07d0072
|
2020-04-27T16:51:05
|
|
Vulkan: use fine grain stage for buffer barriers
We are using VK_PIPELINE_STAGE_ALL_COMMANDS_BIT for
mGlobalMemoryBarrierStages, which is used for both src and dst. This
will cause a full pipeline stall whenever a buffer object introduces a
barrier. This CL will let the caller pass in the specific stage it
will be used for, allowing us to track write and read stage dependencies
separately and request the corresponding barriers.
Bug: b/155122200
Change-Id: I8b8bd291a03b77d07cfbcbe7c3cda2d3771588b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2169014
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
95741743
|
2020-04-27T18:09:42
|
|
Validation fix for draw with primcount <= 0
A buffer size validation check was returning an invalid
operation error based on buffer size, even when primcount
is <= 0 (so the buffer isn't used).
Fixes the following WebGL 1.0.4 test with SwANGLE:
conformance/extensions/angle-instanced-arrays-out-of-bounds.html
Bug: b/154628007
Change-Id: Ibfe4eb57f17cd07100fb8dfbe8069e9ec7515160
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168546
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
5540a307
|
2020-04-29T11:57:24
|
|
GL loaders: Add 'ANGLE' symbol prefix.
This should prevent debuggers like RenderDoc from getting confused
about symbol names. It's also generally good practice to avoid
overloading names.
Change-Id: Ie9fd3f77f45479bdf6925dae3e03fb4ac85bdb8a
Bug: angleproject:4596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2171684
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
78f2e4b8
|
2020-03-24T16:21:40
|
|
Add gles1 covegl test compile
Covegl test is hard to suit gtest, so just compile it without gtest
(angle_gles1_covegl_no_gtest), we can get the test result by exit code.
Bug: angleproject:2303
Change-Id: I67a930c91f23c02e72022329c712a0749e4a903c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2126587
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fa03eb9d
|
2020-02-05T15:25:52
|
|
Vulkan: Use DynamicBuffer for BufferVk
When there is glBufferData API call, if the current
VkBuffer is in use, we copy to a staging buffer to
be gpu copied later. Instead of doing this second copy,
write directly to a new buffer that will be used for
subsequent gpu operations.
BufferVk now has a DynamicBuffer to handle
the logic of acquiring a new/free buffer to be used.
Bug: angleproject:4380
Change-Id: I207f334013ae944090eb48c26c692a09e8815f74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
92b3a720
|
2020-04-27T15:52:56
|
|
Capture/Replay: Generate code integration.
This sources the trace list from a json file and uses that to make the
"glue" that works with each individual trace test.
Bug: angleproject:4590
Change-Id: I40808cbd0e00f9ed01f93c4cfbd678401db3fec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168539
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
45bb2b9c
|
2020-04-22T17:09:41
|
|
Vulkan: Add debug label commands to SecondaryCommandBuffer
Add begin/end/insert DebugUtilsLabel commands to SecondaryCommandBuffer.
Switch use of these commands to the outside renderpass command buffer
instead of directly in the primary command buffer.
This change should maintain the exact same sequence of commands but
avoids some direct use of the primary command buffer. This is
desirable for the threaded refactor where a worker thread will
process the SecondaryCommandBuffer into a primary and the main
thread will no longer use the primary command buffer directly.
Note that because the debug utils label has an arbitrarily long
string that we need to adjust the command allocation to allow for
the string size exceeding the default allocation size. In this case
we just make a single larger allocation to accommodate the command
with the large string.
Bug: b/154030403
Change-Id: Iab7832ffc3d38ce168da2d624bd5b5d5b33ec11b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2161955
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d93b9559
|
2020-04-16T16:16:27
|
|
Translate uniform block with large matrix array to StructuredBuffer
There is a slow compiling issue if translate a uniform block with
a large matrix array member to cbuffer, so translate the uniform
block to StructuredBuffer. But pack_matrix pragma directive is
invalid for matrix element of StructuredBuffer, so pack the matrix
into a structure firstly, and then specifies packing alignment for
the matrix in this structure, last the structure is used as
StructuredBuffer element.
Bug: angleproject:4206
Change-Id: I5a2a512e57b37dcdb88c3060d0d078b46f72eb5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154525
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
718ae508
|
2020-04-28T08:42:07
|
|
Vulkan: Always query EGL_WIDTH and EGL_HEIGHT
This fixes the failures of the dEQP EGL resize tests on Android.
Those tests don't actually resize the window (which would allow the
tests to pass), but do change internal Android Surface values that
vkGetPhysicalDeviceSurfaceCapabilitiesKHR queries. Therefore, by
freshly querying these values the test passes.
Bug: b/153329980
Change-Id: Ie966f221bfaa14988c1503c7f5503f0b21476bcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165639
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
448b14bb
|
2020-04-27T13:46:08
|
|
Vulkan: Apply binding size in updateBuffersDescriptorSet.
Previously we would bind the full Vulkan buffer size in cases of
unsized arrays in storage buffers. This then would lead to problems
when binding a dynamic buffer that used sub-allocation or larger
internal sizes. Instead use the GL binding size or GL buffer size as
the size limits.
Bug: angleproject:4380
Change-Id: Ia579bfeae3b8d068813336cbd5e1babee9f4f345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168020
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d9268889
|
2020-04-22T20:24:16
|
|
Take into account baseVertex for drawElementsImpl D3D11
Also add test for GL_DYNAMIC_DRAW and GL_STREAM_DRAW with vertex
color data updating before each draw call to make sure index range
is retrieved correctly.
Bug: angleproject:3402, angleproject:3911
Change-Id: I5f209292b6e316e4b50505a98b361eb8761a7d6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2162132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
1398080c
|
2020-04-27T16:16:15
|
|
Capture/Replay: Simplify .gni integration.
Moves a lot of the code out of the gni file into tests/BUILD.gn. In
preparation for auto-generating the gni file as a simple array of trace
test names.
Bug: angleproject:4590
Change-Id: Iaa2b7872dc6e705d59108fa7532594bdc65d365a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2168359
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4262ea04
|
2020-01-31T22:59:13
|
|
Vulkan: Add gles1 conformance support.
For Khnoros CTS1 support, ANGLE needs to add conformant and
rendererType for OpenGL ES1 version.
Bug: angleproject:4457
Change-Id: I58ac4672352d3d42e4b8403b80f86154b6a76edc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160515
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fbc2f063
|
2020-04-24T13:00:11
|
|
Vulkan: Refactor AttachmentOpsArray.
Will allow for more flexibly setting ops when we defer clears.
Bug: angleproject:4517
Change-Id: I7d9116bc92e90eb41a1030fea242eadf1cc74562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165629
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6193fd69
|
2020-03-07T21:19:05
|
|
OpenGL: Implement OES_draw_buffers_indexed
OpenGL state sync issues as few GL commands as possible to update the
blend state regardless of an application input.
Enhanced ClearTestES3.MaskedIndexedClearMultipleAttachments
regression test.
Disabled OES_draw_buffers_indexed on Windows/AMD/OpenGL.
Bug: angleproject:4394
Change-Id: I244ac2975678bc559634152cf4eb997d9dbe83d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145874
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6e7d7296
|
2020-04-24T15:40:57
|
|
Fix clearing compressed textures with Vulkan backend
When making sure a texture's data is initialized in ANGLE, it
is illegal to attempt to clear it when using the Vulkan backend.
The Vulkan spec, regarding vkCmdClearColorImage, mentions that:
"image must not have a compressed or depth/stencil format"
The proper way of initializing the memory of a compressed image
in Vulkan is to do a buffer to image copy instead. This was added
to ImageHelper::stageRobustResourceClear() so that it may now
handle compressed textures properly.
Bug: angleproject:4092
Change-Id: I073ed0603d9e92e787b9be8992751dbc0c8978db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
d6c7bac9
|
2020-04-18T01:41:14
|
|
Add BlendStateExt helper structure
It provides compact storage and comparison operations for
per-drawbuffer blend states.
Added BitSetT::Zero() static constexpr.
Bug: angleproject:4394
Change-Id: I66d6275facb7b28022fc24ff9cc0d8c3c976c99d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154669
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
226bba3c
|
2020-04-24T09:57:10
|
|
Add -Wno-pointer-to-int-cast
This is the last remaining instance of the warning across Chromium. It's
fixed upstream but I can't seem to figure out how to successfully roll
deqp. So suppressing it here for now.
This can be removed once the deqp in Angle has
https://github.com/KhronosGroup/VK-GL-CTS/pull/199.
Change-Id: Ie954bb2a3d86ea0de644e2a78051531b396e88a8
Bug: chromium:1054220
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165365
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3cb9c4be
|
2020-03-13T13:56:47
|
|
Statically link vulkan-loader on Mac
Disable angle_shared_libvulkan on Mac since we are the only client.
Re-add codepaths to support this.
Bug: angleproject:4477
Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
0f2747e9
|
2020-04-24T13:10:14
|
|
Vulkan: Clean up ClipRectToScissor.
Refactoring change only. Split off to make the main CL for deferring
clears simpler.
Bug: angleproject:4517
Change-Id: I5728a7dcf09de8952d5810061d1d8b135b625339
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165630
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
35e389cc
|
2020-04-24T13:33:36
|
|
Vulkan: Remove unicode character from error string.
Will fix presubmit checks on Windows.
Bug: angleproject:4586
Change-Id: I36cec3e850c88a015f33d8a0bb7cc8f8c26402d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165628
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
21c5af31
|
2020-04-20T10:29:13
|
|
Vulkan:Migrate events and queries to secondary Cmd Buffer
Replace flushAndGetPrimaryCommandBuffer() function with
endRenderPassAndGetCommandBuffer() for events and queries. The end
result should be the same, but this allows a number of places that were
putting commands directly into the primary to put the commands into
ANGLE's custom SecondaryCommandBuffer (SCB) instead.
This also fixes a couple of minor bugs related to command buffer
ordering. flushAndBeginRenderPass() now flushes any outside
RenderPass (RP) commands first. Also, when insideRP commands are
flushed to the primary, set "mHasPrimaryCommands = true;"
Bug: b/153666475
Change-Id: I68413f25d27175afed0a20bc49f22f4c8d01e4fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2156932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
5578fc84
|
2020-04-22T09:34:30
|
|
Vulkan: Disable EXT_texture_sRGB_R8
Due to a dEQP bug, EXT_texture_sRGB_R8 cannot be exposed before
EXT_texture_sRGB_decode is available. This change disables
EXT_texture_sRGB_R8 on the vulkan backend.
Bug: angleproject:3609
Test: dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.*
Change-Id: I261c80986484e489f6903eb54ac6865433050bfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2161985
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
23621826
|
2020-04-23T10:09:03
|
|
Vulkan: Manual Validation Layer Roll
Latest Vulkan validation layer roll is hitting new error so added
exception and rolling manually.
Bug: angleproject:4583
Change-Id: Id9f8be7d2e20156ad8397ee0ba7ea5fcc12f6d28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2163133
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e20f36f4
|
2020-04-21T15:45:44
|
|
EGL: Implement EGL_ANDROID_native_fence_sync on vulkan
Check the following -
1. Vulkan ICD supports VK_KHR_external_fence_fd
2. ExternalFenceProperties and ExternalSemaphoreProperties
support Android FD.
eglCreateSync - if FD was provided import to VkFence,
else create VkFence with new FD and then
flush and submit VkFence on next vkQueueSubmit.
eglGetSyncAttrib - for status call vkGetFenceStatus.
eglDupNativeFenceFdANDROID - return FD from vkGetFenceFD call.
eglClientWaitSync - call vkWaitForFences.
eglWaitSync - dup FD, create VkSemaphore and import FD, then
flush() and add VkSemaphore to next vkQueueSubmit
as a waiting semaphore.
Extended end2end test suite with nativefence test cases.
Bug: angleproject:2517
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_*
Change-Id: I8f6a6f4c3d71d83007f662b78377aa015a740035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026177
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
963759a3
|
2020-04-21T15:14:56
|
|
Vulkan: Mask out implementation dirty bit in sync.
This would needlessly create many redundant sampler objects.
Bug: angleproject:4517
Change-Id: Ib8ef28b9bcbbeec804c493fbe677cbee7d9a750d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159296
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
492ec932
|
2020-04-21T13:38:41
|
|
Vulkan: Track allocated sampler counts.
Helps to diagnose perf bugs where resources are over-allocated. Also
can be useful to evaluate caching strategies.
Bug: angleproject:4517
Change-Id: I48df5a09fbc394fa0b1712fa8cf28a179665e6e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159293
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
6fc0066a
|
2020-04-21T17:40:54
|
|
Vulkan: Add a sampler cache.
This uses a packed sampler description to re-use samplers for multliple
VkImages. The samplers will persist for the lifetime of RendererVk. In
the future we could look at doing cache eviction for large object
counts.
Reduces the active VkSampler cache in Manhattan from over 1200 to 9.
Also should reduce the number of VkSamplers used with Chrome.
Bug: angleproject:4491
Change-Id: Idca00e4ed8cb660a0865281544aaa57cf884bbdb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160771
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4671bcf0
|
2020-04-21T18:12:46
|
|
Fix program interface queries for arrays and built-ins
Program interface queries for arrays should return an invalid index
value for indices with leading zeroes.
Program interface queries should return invalid locations for built-in
variables.
Bug: angleproject:3596
Test: KHR-GLES31.core.program_interface_query.*
Change-Id: I484ab6e21dbe0c8a984e135ac947c4583a3fbfa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159646
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
913f4f42
|
2020-04-15T00:54:37
|
|
Vulkan: Support VS, FS, and CS in the same PPO
This CL adds support for a Program Pipeline Object to have a VS, FS,
and CS attached to the same PPO and then using that PPO for both draw
and dispatch calls.
Bug: angleproject:3570
Test: KHR-GLES31.core.compute_shader.sso*
Change-Id: I262cdbdfd442f6db5ba2b45d1308003102b237cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150078
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
78dcba58
|
2020-04-21T15:20:13
|
|
Refactor SyncHelper with vk::Resource
Set SyncVk's SyncHelper to inherit from vk::Resource.
Bug: angleproject:2517
Change-Id: I499414d97e611d029abc12622f19436cbdb3e1f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160126
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1fc354fa
|
2020-04-22T11:49:00
|
|
Re-land: "Vulkan: Forward RenderBuffer/Surface dirty messages."
Re-land fixes ASSERT on Android GLES.
Previously we were only forwarding Texture staging changes to the
Framebuffer for re-sync. We could miss out on clears that were staged
in Surfaces and Renderbuffer attachments. Complete the chain by making
the SurfaceVk and RenderbufferVk forward notifications from the
VkImage.
Bug: angleproject:4517
Change-Id: I91d31213b115a58546b574caa574eebbb098266c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0e1798d6
|
2020-04-20T11:25:32
|
|
Vulkan: PPO: Allocate uniform descriptor set if list is empty
When a Program is used to draw, the buffers to hold uniforms are
allocated as part of updateUniforms(), and then if a buffer is
allocated, a corresponding descriptor set is allocated for each shader
stage with uniforms. However, if that Program is later bound to a PPO,
the PPO's descriptor set list is cleared as part of creating the
pipeline layout. This means the uniform descriptor sets need to be
re-allocated but using the previously allocated buffers so the
'anyNewBufferAllocated' flag isn't enough - we also need to check if
the PPO's list of descriptor sets is empty.
Bug: angleproject:3570
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: Id8df587b4f5552012590a29d120b6899bbdf677b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2156936
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
dadd1986
|
2020-04-21T01:50:00
|
|
Implement GL_APPLE_clip_distance
- Built-in variable gl_ClipDistance has been added to compiler.
- Desktop GL: gl_ClipDistance is supported since GL 3.0. Enable/Disable
each gl_ClipDistances[i] works out of the box via glEnable().
- Vulkan/Metal: Use uniform variable to control writing to each
gl_ClipDistance. One bit flag controls one element in the gl_ClipDistance
array. The writing to the disabled element in vertex shader will be
ignored, and turned into zero assignment instead.
- Direct3D/Mobile GL: Not implemented yet.
- Added ClipDistanceTest to gl_tests and compiler unittests.
- GL_APPLE_clip_distance is a subset of GL_EXT_clip_cull_distance, so
GL_EXT_clip_cull_distance could be implemented in future if needed.
Bug: angleproject:4452
Change-Id: I571ac8b56826989808a680226a04bec4cf59988e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2084324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
927ea225
|
2020-04-21T19:42:18
|
|
Vulkan: add vulkan error code in the error message
If driver returns error code that we do not know, we simply output
"unknown vulkan error code". Instead we should at least include the
actual errorCode here so that people can search up to see what it is.
Also remove the double period at the end of string and added a few other
vulkan error strings.
Bug: b/154665382
Change-Id: Ic4138e90534b4e7d97520fe10ac1477d2930d9c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2160130
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b5992a55
|
2020-04-21T07:58:47
|
|
Add capture support for FenceSync
This allows us to capture Angry Birds 2 traces.
Bug: b/153652100
Change-Id: I99a47f9e41a84218b3bb3d9740df4bb7fc2a01fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2144763
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
b7d6949b
|
2020-04-17T13:36:14
|
|
Vulkan: Enable persistently mapped buffer objects
The VMA allocator has a handy feature where during memory
allocation we can request persistently mapped memory.
This saves IOCTL overhead for apps that update buffers
frequently.
Bug: angleproject:2162
Change-Id: I870d880033beec343efae6de06f1c5935de4c2c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155131
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
fe60973b
|
2020-04-21T11:21:03
|
|
Vulkan: Allow commands to completely fill allocation
If the remaining allocation size for commands in the
SecondaryCommandBuffer class is equal to the command allocation
size and the follow-on header, then we can fill the allocation.
Previously we were conservative and if the size needed exactly
equals the size remaining, we would allocate a new block.
Bug: b/154030403
Change-Id: Ie31f0f5d33782d12adbaea9e3b02598a004d7643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158817
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
9dc322d7
|
2020-04-21T11:41:43
|
|
GL: Make sure primitive restart emulation is disabled below GL 3.1
If the GL driver version is below 3.1, we cannot set the primitive
restart fixed index (ES3 wont be supported anyway). Make sure the
feature is disabled.
Speculative fix for crbug.com/1073020
BUG=chromium:1073020
BUG=angleproject:3997
Change-Id: I67756b377aa951da2e70c26f7db978ede9010586
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159289
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
03c18fbd
|
2020-04-13T16:01:01
|
|
Vulkan: Skip load if depth/stencil value are undefined
EGL1.5 spec says depth/stencil data are undefined after swap. This CL
will track the depth/stencil data and mark it as undefined and skip the
load if it is undefined.
Bug: b/153885625
Change-Id: Ifb3d88d442da547fa78c1eae091cbae08a20d0ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2148179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
764d572b
|
2020-04-21T11:15:41
|
|
Vulkan: Refactor SecondaryCommandBuffers class
A strictly cosmetic change to move code into alphabetical order.
In working with SecondaryCommandBuffer commands in separate CLs,
it can be difficult/annoying to track which commands are already
in place as some of them are out-of-order. This change puts the
command enums, functions, and processing in alphabetical order
to simplify searching and adding new commands.
Bug: b/154030403
Change-Id: I6dba4cf48d6f27c056585ac633c694e083b1a263
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e5491253
|
2020-04-17T12:37:00
|
|
Don't redefine VMA_IMPLEMENTATION in build files and source
VMA_IMPLEMENTATION is defined in the build files, it doesn't need
to be redefined in vk_mem_alloc_wrapper.cpp.
BUG=angleproject:2162
Change-Id: Ie4eceedd2dd3051f8431c7c8c86403250e93f98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154538
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
623d0443
|
2020-04-21T15:15:03
|
|
Revert "Vulkan: Forward RenderBuffer/Surface dirty messages."
This reverts commit 3fb33ade6ec8f286797bff5645304df580b1a963.
Reason for revert: Causing WebGL test failures on GLES/ANGLE/Android.
Bug: chromium:1072739
Original change's description:
> Vulkan: Forward RenderBuffer/Surface dirty messages.
>
> Previously we were only forwarding Texture staging changes to the
> Framebuffer for re-sync. We could miss out on clears that were staged
> in Surfaces and Renderbuffer attachments. Complete the chain by making
> the SurfaceVk and RenderbufferVk forward notifications from the
> VkImage.
>
> Bug: angleproject:4517
> Change-Id: I15f36c225517e915f656d0c2464a99631ef9f945
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150699
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=cnorthrop@google.com,timvp@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:4517
Change-Id: I4fd4d79dc11da0ba86065d3a80975de4c791a2a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2159288
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
293c36c0
|
2020-04-20T17:35:19
|
|
Vulkan: Manual validation roll
Manually roll validation layers to latest and ignore two more VUIDs that
are being flagged with latest layers.
Bug: angleproject:4578
Bug: angleproject:4579
Bug: angleproject:4580
Change-Id: I4fc46d9df3fa3be4be1f8b773eb2d63e6f4bbd92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158265
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
902b5587
|
2020-04-19T13:54:48
|
|
CGL/EAGL: Fix default FBO size on Retina displays
This was found while trying to fix
https://github.com/glfw/glfw/issues/1169
VulkanSurfaceMtl and metal/SurfaceMtl already handle contentsScale
correctly.
Change-Id: I234d7b0901dd7c075cf1e9d58466f52140ab1e2b
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154670
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
cff64a83
|
2020-04-16T17:32:40
|
|
Capture/Replay: More mid-execution capture support
Test: Temple Run MEC capture and replay
Bug: b/152512564
Bug: angleproject:3662
Change-Id: I31be6e7ad9d290c2077f2f4d975c2d66779eb558
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155490
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
edc7614c
|
2020-04-17T17:20:08
|
|
Capture/Replay: Handle default uniforms during MEC
During mid-execution capture, when processing uniforms for a program,
capture their values and repopulate during replay.
Test: Temple Run MEC capture and replay
Bug: b/152512564
Bug: angleproject:3662
Change-Id: If84711ead144b7c88710e6b12d0968e80e263c69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155489
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
8f48ba9f
|
2020-04-16T17:30:45
|
|
Capture/Replay: Use TexStorage for immutable images
When we detect a texture is immutable, create it with TexStorage
and populate with TexSubImage.
Test: Temple Run MEC capture and replay
Bug: b/152512564
Bug: angleproject:3662
Change-Id: I1948a0376d2634957329d1da35d60ded3608479a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155488
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
139f8149
|
2020-04-20T14:04:25
|
|
Vulkan: Suppress VUID-vkCmdClearColorImage-image-01993
The latest VVL roll is generating many new errors for
VUID-vkCmdClearColorImage-image-01993. This CL will suppress the
error messages to prevent the test failures until they can be fixed.
Bug: angleproject:4577
Change-Id: I3ea4986c1f43c7d7921761e537d6d51cac3327e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2157853
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
54a3d7cb
|
2020-04-20T12:02:02
|
|
Vulkan: Use DontCare for the presentable surface's last renderpass depth/stencil storeOp
The EGL spec says depth/stencil value are undefined after swap. We dont
need to store depth/stencil value if this is the very last renderpass of
a presentable surface and the endRenderpass call is from swap call.
Bug: b/153885625
Change-Id: Ie853d2686c8eb15a4fa9dbdd80eb66e9fc037d24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2157886
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
f13689b6
|
2020-04-17T14:43:28
|
|
Vulkan: Use renderpass' finalLayout to transit to ImageLayout::Present
This detects the last renderpass is actually rendering to the image we
are going to present and this is the very last renderpass to that image.
We use finalLayout of the renderpass to do layout transition to
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR instead of a standalone barrier call.
Bug: b/153885625
Change-Id: Ifc17c77a1ba12f22c9d6038775f3e254c35655ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155250
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ebc4846d
|
2020-04-17T10:42:02
|
|
Vulkan: Suppress VUID-vkCmdCopyImageToBuffer-srcImage-01998
The latest VVL roll is generating many new errors for
VUID-vkCmdCopyImageToBuffer-srcImage-01998. This CL will suppress the
error messages to prevent the test failures until they can be fixed.
Bug: angleproject:4572
Test: BindUniformLocationES31Test.ArrayOfArrays/ES3_1_Vulkan_SwiftShader
Change-Id: I6b36ab64cea8490e577f9077bb44fc7e5023fbda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154833
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8cae5e19
|
2020-04-08T12:28:03
|
|
GL: Re-enable emulatePrimitiveRestartFixedIndex
This workaround is needed when the GL driver is less than 4.3 (all
MacOS). The driver will generate many errors during execution without
this enabled which blocks GL driver error checking.
Add additional workarounds for Intel drivers that need a sufficiently
large primitive restart index when doing DrawArrays calls.
BUG=angleproject:3997
Change-Id: Idd293ff1dbc0a3609b11ea1d6b30da0a99e8f5c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2141714
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
a5e46552
|
2020-04-20T09:33:21
|
|
Vulkan: glDrawElements used old offset into index buffer
When the vertex array binding is changed, the value of
ContextVk::mLastIndexBufferOffset must be reset so that an
old/cached offset (from a previous draw call) is not used for a
new draw call.
This addresses rendering artifacts and Vulkan validation errors
seen with running NBA 2K20 on Android (or the ANGLE trace on
Windows).
Bug: b/153682968
Bug: angleproject:4575
Bug: angleproject:4576
Change-Id: I69089964b8d278c7fc8610ab003548864a215dab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152850
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
de2935dd
|
2020-04-14T21:18:43
|
|
Add PackedEnums for blend state parameters
Bug: angleproject:4394, angleproject:2169
Change-Id: I6c218af3871a1215c2b103847250bbc782159cb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2149645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4d10efbc
|
2020-04-15T15:14:11
|
|
Vulkan: Store ImageType in ImageHelper.
We ended up needing this to recover the image type in the RenderTarget.
Otherwise we don't have direct access to this information in the
FramebufferVk sync state code.
Bug: angleproject:4517
Change-Id: I387947e0b7394e1f63f313dd4792bb042b8da73a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2151170
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
33b58ebb
|
2019-11-25T16:31:43
|
|
Vulkan: Give unsized arrays at least 1 entry
The function ShaderVariable::getNestedArraySize needs to return at least
1 entry for unsized arrays to ensure the shader buffer sizes are
reported correctly.
This also allows ANGLE to treat unsized arrays of structs and basic
types the same way, allowing for the special treatment of unsized arrays
in TraverseStructArrayVariable() to be removed.
Bug: angleproject:3596
Test: dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size.*
Change-Id: I3b2a3a68c25e0913b79e989d7c719b34ce9b75fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934952
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2d5da029
|
2020-04-15T17:15:37
|
|
Minor angle_end2end_tests cleanups.
Minor refactoring and call consolidation. Was done while working on
deferring clears in the Vulkan back-end.
Bug: angleproject:4517
Change-Id: I60d80d4f9646c990c4cb8bbc349fc0051389bf02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2151171
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
dc3477f3
|
2020-03-14T17:22:41
|
|
Separate GLES1's state enum switch code from GLES2+
Some enum values such as GLES1's GL_CLIP_PLANE0 and GLES2+'s
GL_CLIP_DISTANCE0_EXT have the same value.
Thus, the enum switch code has to be separated for GLES1 & GLES2+
Bug: angleproject:4481
Change-Id: I2fcb95f3f75f1fe683a072bee02e797a95686480
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145284
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
8c67c079
|
2020-04-16T14:42:15
|
|
Vulkan: store ImageLayout in PackedAttachmentOpsDesc
The layout in the PackedAttachmentOpsDesc only have 5 bits, not enough
for raw VKImageLayout enums. This change will store vk::ImageLayout
which are ANGLE defined and packed for 5 bits and able to handle the
extension bits of VKImageLayout.
Bug: b/153885625
Change-Id: Ida268a974094188d8aeee39c61019eef30a60507
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2153845
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f93cc8bd
|
2020-04-16T10:29:16
|
|
Vulkan: Skip failing BlendIntegerTest tests
Several BlendIntegerTest tests are failing due to an update to the
Vulkan Validation Layers that are now checking if formats support
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT and generating an error
if not while pipeline.pColorBlendState.pAttachments[0].blendEnable
is VK_TRUE.
Bug: angleproject:4571
Test: BlendIntegerTest*
Change-Id: Ibbfe415af3d6d6a879a502adb6541a5bfe8cd13a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152947
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
aefa3aa9
|
2020-04-15T14:27:12
|
|
Vulkan: Make staged clears store aspect mask.
This will allow us to store depth- or stencil-only clear when we defer
clears in FramebufferVk syncing. Currently a refactoring change only.
Bug: angleproject:4517
Change-Id: Ifc9bf8f9ebab993509155cf6cf66db5b11f35163
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2151169
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3fb33ade
|
2020-04-09T15:27:12
|
|
Vulkan: Forward RenderBuffer/Surface dirty messages.
Previously we were only forwarding Texture staging changes to the
Framebuffer for re-sync. We could miss out on clears that were staged
in Surfaces and Renderbuffer attachments. Complete the chain by making
the SurfaceVk and RenderbufferVk forward notifications from the
VkImage.
Bug: angleproject:4517
Change-Id: I15f36c225517e915f656d0c2464a99631ef9f945
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2150699
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1033d55d
|
2020-04-07T14:01:24
|
|
Pass binding enum to Framebuffer::syncState.
Will allow us to determine if we're clearing the read or draw FBO. Then
we can stash clears for the draw FBO only and issue them immediately
for the read FBO in the Vulkan back-end.
Bug: angleproject:4517
Change-Id: Ifc043317d6156a75749b13f9d2c44a17e14ee378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2139997
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
943c3bc1
|
2020-04-16T11:25:02
|
|
Vulkan: Fix transform feedback on AMD platform
Make sure pCounterBufferOffsets is never a null pointer when
counterBufferCount is greater than zero.
Bug: angleproject:3206
Change-Id: If161473239b53d2a65b1cccaaf1426a4fefd243a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152030
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|