|
abcc536b
|
2020-03-09T13:20:53
|
|
Speculative fix for nullptr program in QueryProgramiv
It is reported that an increase crash rate is seen on M81.
This is a speculative fix based on that most crashes have calls from
GrGLProgramBuilder::checkLinkStatus.
Bug: chromium:991020
Change-Id: I549de9e0a0cccde8b9c68d706828963fe3f9bdf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2095596
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
5d7ccc30
|
2020-03-09T14:24:30
|
|
Revert "Vulkan: Fix store ops with linear command recording."
This reverts commit a61e273ac3ca88cb95b7bebac0d31a62644049a0.
Reason for revert: Causes rendering artifacts in "Aztec Ruins".
Bug: angleproject:4444
Original change's description:
> Vulkan: Fix store ops with linear command recording.
>
> DiscardFramebuffer was being ignored in the new linear path. Fix this
> by using the correct APIs. Also cleans up some of the access to the
> "RenderPassCommandBuffer" struct in ContextVk. Add a new accessor that
> returns the RenderPass without a flush that ensures it is only called
> when a RenderPass is already started.
>
> Bug: angleproject:4029
> Change-Id: Ibd199f3a371c0f91b448a0b34c8752dc8b76c284
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057329
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=tobine@google.com,jmadill@chromium.org,cclao@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:4029
Change-Id: I7d925b88c438a20ebe4a48634568addda7a64d60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2093157
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a8c947c7
|
2020-02-06T08:53:16
|
|
Enabled GL_KHR_no_error
Enabled GL_KHR_no_error added end2end tests for it
Note that GL_KHR_no_error can only be enabled by setting the EGL
attribute currently. Context flags are not currently supported.
Bug: angleproject:1280
Test: angle_end2end_tests --gtest_filter=ContextNoErrorTest.*
Change-Id: Ib5c73b8e284e3e4e5f800750ad6fcbef77be4285
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068899
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0c9b6abd
|
2020-02-06T08:53:16
|
|
Skip invalid end2end test for ES2
Previously, the incomplete framebuffer depth stencil attachment
test would run on ES2 if GL_OES_packed_depth_stencil were present.
This is insufficient since it uses the GL_DEPTH_STENCIL_ATTACHMENT
enum, which is not introduced in any extension prior to ES3. The
test has been disabled on ES2, regardless of extensions.
Bug: angleproject:4454
Test: angle_end2end_tests --gtest_filter=StateChangeTest.FramebufferIncompleteDepthStencilAttachment/*
Change-Id: Ic5a6a521e35b49c5d723b33f588fa608264d6390
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090783
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
03ed5f6c
|
2020-03-06T22:15:42
|
|
Revert "Instantiate rx::DisplayEGL when device type EGL is selected"
This reverts commit 7455b54401dd55833944b5ad857ccd9852ef6a79.
Reason for revert: This appears to break the "Linux FYI Ozone (Intel)" bots on the chromium.gpu.fyi waterfall. Ozone means ChromeOS.
Original change's description:
> Instantiate rx::DisplayEGL when device type EGL is selected
>
> Define EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE that should be
> used to request a driver egl-backed implementation with ANGLE.
>
> Bug: angleproject:4328
> Change-Id: I6871d3a27e2bfc02af9815dcf86ae1cb6524f0cc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2030038
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,syoussefi@chromium.org,jonahr@google.com,julien.isorce@chromium.org
Change-Id: I8aec6c2783b0acb67d3315d351cdc9e526f58d6b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2091864
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
1a5c7a16
|
2020-02-25T12:02:31
|
|
Reland "Vulkan:Include precision qualifier in GLSL"
Currently still ignoring precision qualifiers for Vulkan shaders by
default, but have added feature "enablePrecisionQualifiers" that can be
enabled in order to include precision qualifiers.
With this initial implementation, it's possible to get precision
qualifier mis-matches in the generated GLSL 4.50. According to the
spec this is allowed. From GLSLangSpec 4.50 section 4.7 "Precision and
Precision Qualifiers":
For the purposes of determining if an output from one shader stage
matches an input of the next stage, the precision qualifier need not
match.
However, when converted to SPIR-V and run through the shader validation
any mismatches will cause shader validation errors. Initially just
ignoring those errors with this commit.
Bug: angleproject:3078
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
Change-Id: Ieecca604bb2c834c9b1c2bcab85279d1f8755dfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2086280
|
|
7455b544
|
2020-03-03T00:13:03
|
|
Instantiate rx::DisplayEGL when device type EGL is selected
Define EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE that should be
used to request a driver egl-backed implementation with ANGLE.
Bug: angleproject:4328
Change-Id: I6871d3a27e2bfc02af9815dcf86ae1cb6524f0cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2030038
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3797fc85
|
2020-03-05T11:44:28
|
|
Generate new compiler errors for array-of-arrays
The GLES GLSL 3.1 spec states that it is an error to use array-of-arrays
in the following cases:
- Vertex shader outputs
- Fragment shader inputs
- Fragment shader outputs
ANGLE currently generates errors in the case of vertex shader inputs.
It needs to add the above cases.
Reproduce by running "angle_deqp_khr_gles31_tests" with:
--gtest_filter=dEQP.KHR_GLES31/core_arrays_of_arrays_InteractionInterfaceArrays2* --use-angle=swiftshader
Bug: angleproject:4148
Change-Id: I1147fc7d4755e5b6c07d2ab5d14566d919dec530
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2087647
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
9acaf662
|
2020-02-28T14:58:17
|
|
Add timer query support to TracePerfTests.
This can allow us to get some profiling measurements on ANGLE vs a
native driver. We correlate host times with GL times using the blocking
timestamp query. We also time RenderPasses/FBO switches using the
trace instrumentation we added in an earlier patch combined with timer
queries.
Not currently instrumented for the current tests. We'll need to re-run
capture to get the callbacks working correctly.
Bug: angleproject:4433
Change-Id: I8f61774a3a090ac9460a378d34715a72954d1331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2080597
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
55228e53
|
2020-03-04T18:25:47
|
|
Add Chrome texture formats test for VulkanExternalImageTest
This make sure the VkFormat/internalformat combinations that Chrome uses
succeed import, which in particular requires the object size to match.
Allowing VK_FORMAT_R8G8B8_UNORM VkFormat for GL_RGB8 will make this test
fail when run on a native vulkan that supports that format.
Bug: chromium:1058521
Change-Id: I91483568ba8552f40314f10215bfea59e5ca2b94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088652
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c55fbc40
|
2020-03-01T16:23:05
|
|
Capture/Replay: Fill out more ES 3.0 state in mid-execution capture
Test: Manhattan mid-execution capture working
Bug: angleproject:3662
Bug: angleproject:4091
Change-Id: Id7f1a3f667229e4d5abedb3ada25d44db250605a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2080592
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ca04de85
|
2020-03-03T09:59:42
|
|
Vulkan: blacklist VK_FORMAT_R8G8B8_UNORM
Chrome makes assumptions that depend on ANGLE implementing 24bit
RGB as 32 RGBX. Since that was the behavior of ANGLE for a while,
remove those formats from the VK format table to force that behavior
again.
Test: Chrome on Fuchsia
Bug: angleproject:4282
Change-Id: I22a3f07b00d7870044ed6b3326dd528721b89af8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2085043
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
e682bc57
|
2020-03-01T16:19:32
|
|
Capture/Replay: Add Sampler Object support to mid-execution capture
Test: Manhattan mid-execution capture working
Bug: angleproject:3662
Bug: angleproject:4091
Change-Id: Iafa528e2a25efe1c49eb49ecc429eac8f25c162c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2080591
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
6125419c
|
2020-03-04T10:31:26
|
|
Vulkan: Suppress some flaky tests for Intel Linux driver
Bug: angleproject:4453
Change-Id: I55475f85298a593597daa300effa828a6b0ed342
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2087896
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9459bae1
|
2020-03-01T16:17:41
|
|
Capture/Replay: Add Vertex Array Object support to mid-execution capture
Test: Manhattan mid-execution capture working
Bug: angleproject:3662
Bug: angleproject:4091
Change-Id: I5d16e8faed759507c85b6358b65750fe5c33ddfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079190
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f8ecac29
|
2020-03-01T16:16:18
|
|
Capture/Replay: Add TransformFeedback Object support to mid-execution capture
Test: Manhattan mid-execution capture working
Bug: angleproject:3662
Bug: angleproject:4091
Change-Id: Ibaa708085c5707a4ece637186daeafe6c681068f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
605ab763
|
2020-02-24T19:43:32
|
|
D3D11: Implement OES_draw_buffers_indexed
Existing CONSTANT_COLOR/CONSTANT_ALPHA limitation was generalized to independent blend states with draw call invalidation and a new end2end test. dEQP tests that are incompatible with this limitation result in INVALID_OPERATION and are marked as FAIL.
D3D11 renderer always normalizes and deduplicates requested blend states based on their enabled features and bound framebuffer.
Bug: angleproject:4394
Change-Id: I284796e18be71de1b5bfb087d36f6a45be4c3f70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070575
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f143ab1f
|
2020-03-03T17:15:38
|
|
Vulkan: Disable forceOldRewriteStructSamplers for SwS-Android
Disable the forceOldRewriteStructSamplers feature for SwiftShader on
Android. Another change fixed the issue that prevented SwiftShader on
Android from supporting sampler arrays as parameters. The Qualcomm
driver still cannot support sampler arrays as parameters, and so it
still needs forceOldRewriteStructSamplers.
Bug: angleproject:4071
Bug: angleproject:2703
Change-Id: I77fbfacdad6cd9cc918c79fa0918f15de0558ce0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2086282
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e45fe217
|
2020-02-29T23:28:33
|
|
Fix up EGLSurfaceTest.
* removes the SwapInterval test. This test was not really based on
spec language. SwapInterval is highly os-dependent so likely a
robust test would include some OS-specific logic instead of timing.
* give the pbuffer surface non-zero dimensions. this fixes an uncaught
error on Windows and may give better results.
* lifts a couple Android suppression possibly related to the pbuffer
bug. a couple tests still fail.
Bug: angleproject:3123
Bug: angleproject:3162
Change-Id: I68e4e943b94d17777704bbe3b8ae7e646fc9c54d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082131
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
27a81308
|
2020-02-29T12:53:45
|
|
Vulkan: Re-enable RobustResourceInitTest.Texture test
Commit "Vulkan: Add robust init for NULL texture image." for
angleproject:4255 also fixed angleproject:3416, re-enable the
disabled test in 3416.
Bug: angleproject:3416
Change-Id: I36c09d90eafe9dea0b477c49487284d4a305d992
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2086931
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
028a7a72
|
2020-03-03T18:19:33
|
|
Skip if GL_EXT_texture_compression_dxt1 isn't supported
If GL_EXT_texture_compression_dxt1 is not support, will be failed
at glCompressedTexImage2D in CopyCompressedTextureTest.Immutable
Bug: angleproject:1424
Change-Id: I287c6a40c1c09fa379088e5ad4bec06f0dfc2f59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2086533
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9e9493f2
|
2020-03-03T21:03:01
|
|
Skip crashing dEQP-GLES3.functional.samplers.*_tex_3d.* on SwANGLE
Started after
https://chromium-review.googlesource.com/c/angle/angle/+/2076740
Bug: angleproject:3983
Change-Id: I4073baa36aebd4bbd210bb0a0f46959b9ef66450
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2086695
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
54bd0005
|
2020-03-01T16:13:23
|
|
Capture/Replay: Add Query Object support to mid-execution capture
Test: Manhattan mid-execution capture working
Bug: angleproject:3662
Bug: angleproject:4091
Change-Id: I3e0d0fb1692b1fda08fd057d528f70aa5e50ef1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070900
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
dfae826d
|
2020-03-01T16:07:49
|
|
Capture/Replay: Update getTexImage for depth/stencil and 3D
3D support based on work from ancheng.qiao@arm.com.
Test: Manhattan mid-execution capture working
Bug: angleproject:4058
Bug: angleproject:4091
Change-Id: I7f8b8542fbc1f3484a2451850db0dc752c0b8906
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070899
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
90019cea
|
2020-02-26T18:04:25
|
|
Vulkan: Add depth to mipmap generation
In generateMipmaps, remove hard coded depth of 1, shift depth
like every other dimension.
Remove MipmapsForTexture3D test pixel value check, in es spec3.2 8.14.4
"No particular filter algorithm is required, though a box filter is recommended."
It's implementation-dependent. In current angle implementation, will
choose VK_FILTER_LINEAR/VK_FILTER_NEAREST according to vkdeice support.
Bug: angleproject:3983
Test: MipmapTestES3.MipmapsForTexture3D/ES3_Vulkan
Test: dEQP-GLES3.functional.samplers.single_tex_3d.diff_max_lod
Test: dEQP-GLES3.functional.samplers.single_tex_3d.diff_min_lod
Test: dEQP-GLES3.functional.samplers.multi_tex_3d.diff_max_lod
Test: dEQP-GLES3.functional.samplers.multi_tex_3d.diff_min_lod
Change-Id: I5e73f8c743053aeb521b5e0b3e372bbe77e57ad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076740
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8b28678
|
2020-02-26T19:12:39
|
|
Vulkan: Add support for VK_EXT_index_type_uint8
Enable VK_EXT_index_type_uint8 Vulkan extension if supported by
VkDevice.
Bug: angleproject:4405
Change-Id: I84d030497898c5944a36d9a88a31e7377ccd5e9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082391
Commit-Queue: Xiaoxuan Liu <xiaoxuan.liu@arm.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b84969ad
|
2020-02-29T09:14:36
|
|
Vulkan: Use QueryHelper for internal GPU timing.
This cleans up the code. Using QueryHelper means we don't need to
duplicate the timestamp query/result code. It also means we don't need
special allocate/free functions in DynamicQueryPool.
Done while investigating timing GPU events for T-Rex.
Bug: angleproject:4433
Change-Id: I8512a5618e1dd00956942ae2d12d46d8193c4e51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2081379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4fb29948
|
2020-02-12T13:48:43
|
|
Split up EGLContextCompatibilityTest.
Instead of attempting to run numConfigs^2 test permutations in a single
test we now split up each config into its own test. Each permutation
also gets a unique name based on the configs it is testing. Because
there were so many tests on some back-ends (e.g. D3D11) this CL adds
a way to hard limit the number of test permutations by discarding
random tests to reach a specified maximum per back-end.
Uses the GoogleTest "RegisterTests" API instead of using the GTEST
macros. See online GTest docs for more info.
This will allow more easily supporting test timeouts when running
batches of tests multi-process.
As a side effect we no longer need to restrict this test to Release
builds or ignore some renderers.
Bug: angleproject:4449
Change-Id: Ia7991e2a3906175413b77a876432061da527d03b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050812
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a1e5f582
|
2020-02-29T08:01:16
|
|
Vulkan: Clean up QueryHelper uses.
Makes the wrapper classes take boxed query handles. Also cleans up some
repeated code patterns. It also encapsulates the QueryHelper class more
so that the pool indexes and handles are hidden from the user of the
class.
Fixed while working on GPU trace event timing.
Bug: angleproject:4433
Change-Id: Ib6cba9c52ec956ebede9b411b70261ea5b877d7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2081378
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
80f55e97
|
2020-02-28T15:05:41
|
|
Expose glGetInteger64vEXT.
This entry point is specifically for retrieving very large timestamp
values from EXT_disjoint_time_query. In GLES 2.0 contexts with the
Vulkan back-end we were getting some astronomical values that couldn't
be cast to 32-bit ints.
Also fix missing dependencies in generate_loader.py.
Bug: angleproject:4433
Change-Id: I59146dcc1a163a24ac2d7c37546f4551a7a8890a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2080595
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
51a9da21
|
2020-02-28T13:57:25
|
|
Add OES_draw_buffers_indexed autogenerated wrappers and validation redirects.
This extension allows setting independent blend state (and color write mask) for each draw buffer. OES and EXT versions provide exactly the same functionality. It is also included in GLES 3.2 core.
Bug: angleproject:4394
Change-Id: I0c27c419472622e309a038dd1463fa0b3e4ca595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2078587
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ff60abaf
|
2020-02-28T14:06:07
|
|
Vulkan:Disable FramebufferVk cache on Apple
Currently hitting a crash on Apple so disabling FramebufferVk cache.
Bug: angleproject:4442
Change-Id: I3824252210aeeaf9919c8d17730395b394a50862
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2080661
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
dd19d554
|
2020-03-02T09:41:22
|
|
Change commit_id 'check' back to looking for .git files.
commit_id.py was change to try running 'git status' to confirm that git
was present. This caused it to succeed if there was a git checkout
somewhere above ANGLE if ANGLE's .git didn't exist, incorrectly adding
a non-existant .git/HEAD file to the gn rule's inputs.
Always verify that ANGLE's .git/HEAD is present in commit_id.py.
BUG=angleproject:2344
Change-Id: I7e170f39c8d5cef73086ecf6d68925a1d3512de1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082993
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
35785308
|
2020-02-24T17:37:55
|
|
Vulkan: reserve extra varyings
when basicGLLineRasterization or supportsTransformFeedbackExtension is enabled.
updated with MaxVaryingWithFeedbackAndGLline
adding test to validate pixel value (disabled for macos)
Bug: angleproject:4273
Change-Id: Ie3d3516fd3806c0d622fb402ba8223d302206f73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071237
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fd75545f
|
2020-03-01T20:59:48
|
|
Test Runner: Add stub register function to GLES 1 CTS.
These tests use the same main function as end2end_tests. Add the
register function stub so the compilation works correctly in standalone
and component builds.
Bug: angleproject:4449
Change-Id: Id240a834ae0e358d0e2520b12842f3f337c0aa31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2081514
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
da2e65c0
|
2020-03-01T13:01:24
|
|
Test Runner: Add stub register function to white box tests.
These tests use the same main function as end2end_tests. Add the
register function stub so the compilation works correctly in standalone
and component builds.
Bug: angleproject:4449
Change-Id: Ib1558a596b9a558b16a7c5b7bfccc1e495a67e39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082135
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
390be9bb
|
2020-03-01T08:47:37
|
|
Test Runner: Use system path for gtest-internal.
This ensures we use the correct internal path in Chromium builds as
well.
Bug: angleproject:3162
Change-Id: I036dcbd8802f67162e5f5eccb6158910f0a5efcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082134
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
49a68f18
|
2020-03-01T08:12:53
|
|
Add RegisterContextCompatibilityTests stub.
We'll call this function from the Chromium angle_end2end_tests main.
First this CL needs to roll into Chrome. Then we can make a second CL
in ANGLE to change the way the EGLContextCompatibilityTests are set up.
This is to break up the slow tests into smaller pieces. See the issue
for more details.
Bug: angleproject:4449
Change-Id: Icc10679c61fd2f7a5e396f7a310ffcfd0b45893b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082133
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
94d399ca
|
2020-02-28T08:18:37
|
|
Trace/Replay: Add framebuffer change callback.
The perf tests can use this callback to instrument timer queries to
delineate render pass times on the device.
The new call pattern in the replay looks like this:
glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMap[1]);
OnFramebufferChange(GL_FRAMEBUFFER_OES, gFramebufferMap[1]);
Bug: angleproject:4433
Change-Id: Ice5150741d1d5becb26d60020e8c00e3a2fb6218
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074337
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
54bc3dab
|
2020-02-27T15:52:04
|
|
Add the ANGLE Android developer options to the ANGLE repository.
The ANGLE repository will house all the scripts needed to build
ANGLE.apk and the developer options are packaged in the APK.
BUG=angleproject:2344
Change-Id: I29090bd91a07546a1d2ccc03a6af19f45ffa3d90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079194
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b07816d6
|
2020-01-02T15:13:37
|
|
Vulkan: Add robust init for NULL texture image.
In gl::ReadPixels(), ValidateReadPixels() will try to
flush staged updates before readPixels. In the case
where a texture was initialized with null RGBA data,
no Framebuffer dirty bits are set, and thus the staged
clear would never be flushed from the staged updates.
1. Add robust init in TextureVk::initImage to ensure
image is initialized.
Test: ./angle_end2end_tests --gtest_filter=\
RobustResourceInitTest*_Vulkan_AllocateNonZeroMemory
2. Update stageSubresourceRobustClear() to
kEmulatedInitColorValue in the case where robust resource
was initialized without full RGBA format to update
init value of robust resource.
Test: texture-attachment-formats.html in
webgl_conformance_vulkan_passthrough_tests.
3. Revert "Suppress Vulkan RobustResourceInit tests."
Revert commit a8e6a463121b9920564fb6efd7f2c857d7023fe3.
Reason for revert: re-enable related robust tests.
Bug: angleproject:4255
Change-Id: I79f20e0c02c2f1b1cd68ab590f0f765229f9e780
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1985503
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6c56c579
|
2020-01-21T11:08:36
|
|
Add Android boot animation and rounding error test
This introduces an end2end test that makes the same GLES1
calls as Android's default boot animation. The test uses
images of much smaller sizes, but we do the same thing
with the images as the original code (it uses one image as a
mask and moves the other along behind it).
The original default boot animation code can be found here:
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/cmds/bootanimation/BootAnimation.cpp#422
This change also implements glTexParameterx since the default boot
animation requires it. This function is part of OES_FIXED_POINT.
This also includes a test to check for int to floating point cast errors
when using GL_TEXTURE_CROP_RECT_OES.
Tests: angle_end2end_tests --gtest_filter=*DefaultBootAnimation*
angle_end2end_tests
--gtest_filter=*TextureParameterTest.IntConversionsAndIntBounds*
Bug: angleproject:3644
Change-Id: Ib7e99c9dc1c001c71543d03ea4dd76082192f6a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2053506
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
fb551728
|
2020-02-28T11:10:29
|
|
Suppress SwANGLE dEQP-GLES3.functional.texture.compressed.astc.* failures
Started after SwiftShader enabled ASTC in
https://swiftshader-review.googlesource.com/c/SwiftShader/+/41568
Bug: angleproject:4447
Change-Id: I251ff26d4972f17f1f76f8ad1df57dc9c539782c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2078755
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a60e4973
|
2020-02-27T20:11:20
|
|
Revert "Vulkan:Include precision qualifier in GLSL"
This reverts commit 93e72f5f0eb80b89334ea8fe577b32901a00b5fb.
Reason for revert: This is having a negative impact on gfxbench
Manhattan 3.1 tests (20-30%) with only a minor improvement (~4%) in TRex offscreen. Pulling out for now and need to re-evaluate best
solution here.
Original change's description:
> Vulkan:Include precision qualifier in GLSL
>
> With this initial implementation, it's possible to get precision
> qualifier mis-matches in the generated GLSL 4.50. According to the
> spec this is allowed. From GLSLangSpec 4.50 section 4.7 "Precision and
> Precision Qualifiers":
>
> For the purposes of determining if an output from one shader stage
> matches an input of the next stage, the precision qualifier need not
> match.
>
> However, when converted to SPIR-V and run through the shader validation
> any mismatches will cause shader validation errors. Initially just
> ignoring those errors with this commit.
>
> Bug: angleproject:3078
> Change-Id: Ia2b04f90f0a7b6b1302c1b1b3e32bcfd8db9ed49
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057749
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=tobine@google.com,timvp@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:3078
Change-Id: I84984e2a963bde573f0f1de585001ceb83623c89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079334
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
78da538a
|
2020-02-26T21:23:16
|
|
Revert "Vulkan: Disable global merge for volk"
This reverts commit bab2b3de2273796ca15edfc46747f3bbab3f27c3.
Reason for revert:
A fixed clang version has been rolled in, so this flag should no longer
be necessary.
Original change's description:
> Vulkan: Disable global merge for volk
>
> This optimization pass breaks the build by exporting volk's internal
> binding symbols from libGLESv2.so. Since the test binary also links
volk,
> this causes a SEGV as the wrong (uninitialized) function pointer is
> called.
>
> This is an LLVM bug and will be fixed upstream:
> https://reviews.llvm.org/D73235
>
> Bug: angleproject:4351
> Change-Id: Iebe0eabd975f8109231df30eef8c9074af8190e9
> Reviewed-on:
https://chromium-review.googlesource.com/c/angle/angle/+/2023910
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Michael Spang <spang@chromium.org>
TBR=spang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
Bug: angleproject:4351
Change-Id: Ie832d7d42fab7c8360f2d4d548f1708164c60d3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076138
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
5dde4db5
|
2020-02-27T15:39:30
|
|
Capture/Replay: Capture DrawBuffersEXT.
The extension entry point can forward to the ES 3.0 entry point. Needed
for capturing the mutiple draw buffers sample.
Bug: angleproject:4433
Change-Id: I1081e6a5ad57eca6dc328947bb0f9037d47fe9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079155
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
da6d12d0
|
2020-02-27T14:20:32
|
|
Fix out-of-bounds read in test.
The test wasn't reserving a large enough buffer when initializing
the vertex data. Fix the test buffer limits.
Bug: angleproject:4430
Change-Id: I4b9a98e1af1cc8088afb871816061d7ee4dd6a2c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079153
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
698ffd02
|
2020-02-27T10:59:13
|
|
eglGetConfigAttrib validation missing extension check
The extension EGL_ANGLE_iosurface_client_buffer adds a new attribute
to the config: EGL_BIND_TO_TEXTURE_TARGET_ANGLE. However, validation
was not checking the extension was present when this attribute was
requested.
Bug: chromium:1015454
Change-Id: I24c6e20f3b602e8a71a46f0f1e99c1472d5bbb1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2078892
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4d2040a6
|
2020-02-27T09:59:11
|
|
Make GLSLTest_ES31.MixOfAllResources more lenient.
Lower precision in Vulkan caused off-by-one issues with this test.
BUG=angleproject:4438
Change-Id: I17111a06133ef403be1f0c99321f1dbf8ab6083c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2078791
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f0d32401
|
2020-02-14T14:50:25
|
|
Vulkan: Optimize element buffer conversion
Uses CPU copy if the buffer is CPU visible. Also add dirty bit check to avoid repeated conversion on clean data
Bug: angleproject:4400
Change-Id: I1f472703ebc4a65ee0de129c27f56b081748f900
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057758
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
cb7f5f4a
|
2020-02-26T16:59:01
|
|
Vulkan: Updated expectations after SwS fixed 4259
Bug: angleproject:4259
Change-Id: I518db27a1fb50d35f2c784f655d3e7ee40f4bdf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076415
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
e488d8b8
|
2020-02-26T16:11:29
|
|
Vulkan: Implement Android pre-rotation
As an Android GLES driver on top of Vulkan, ANGLE must pre-rotate
rendering on behalf of the application. This involves modifying the
vertex shader to multiply gl_Position with a mat2 "rotation matrix".
Not doing so means that SurfaceFlinger (SF) will perform a costly
rotation blit before presenting every image. Setting
WindowSurfaceVk::mPreTransform to mCurrentTransform tells SF to not do
the blit.
When the surface is rotated 90 or 270 degrees, the width and height
must be swapped for:
- The swapchain images, and for any depth, stencil, and/or multisample
attachments used with the swapchain image.
- The viewport, scissor, and render area.
Because the Metal back-end shares the TranslatorVulkan, it will define
the same preRotation (mat2) DriverUniform that is used for Vulkan.
Bug: angleproject:3502
Change-Id: I968dbe8869ba0f50de18dd41f1195e847c06b545
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038272
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ba8ef68c
|
2020-02-24T14:13:40
|
|
Always use commit_id.py to generate commit.h
commit_id_.py is capable of generating the default commit.h.
This makes it so we always take a single path in gn.
Remove the existing commit.h and generate it into the root
generation folder (not the id subfolder) because Android blueprints
can't handle generating into subfolders that don't exist.
Make the <angle_dir> argument capable of taking a filename or
directory name. This allows us to pass the .git/HEAD file which is
a gn input. Android blueprints require all paths used as input
or output to a script are listed as inputs or outputs in the genrule.
BUG=angleproject:2344
Change-Id: I6600083fc400faf07808316c4a6244d6599df79a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074924
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c79b0ea5
|
2020-02-25T08:26:23
|
|
Vulkan: Document command access APIs.
Includes a short description of the ContextVk command APIs.
Also a few small cleanups to other Vulkan back-end documentation.
Bug: angleproject:4029
Change-Id: I3bd04861f27b718e6a94fdae00644c124452bc62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070597
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
93e72f5f
|
2020-02-25T12:02:31
|
|
Vulkan:Include precision qualifier in GLSL
With this initial implementation, it's possible to get precision
qualifier mis-matches in the generated GLSL 4.50. According to the
spec this is allowed. From GLSLangSpec 4.50 section 4.7 "Precision and
Precision Qualifiers":
For the purposes of determining if an output from one shader stage
matches an input of the next stage, the precision qualifier need not
match.
However, when converted to SPIR-V and run through the shader validation
any mismatches will cause shader validation errors. Initially just
ignoring those errors with this commit.
Bug: angleproject:3078
Change-Id: Ia2b04f90f0a7b6b1302c1b1b3e32bcfd8db9ed49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
8aea6d5a
|
2020-02-25T11:22:00
|
|
glslang: enforce initialize and release as once per process
Bug: angleproject:4354
Change-Id: Ice0912a90d4e9a4fe3fdaf67d67292afc0eba8a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073201
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b9b4569b
|
2020-02-25T15:01:21
|
|
Save binding information when caching shader
Test: KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_FragmentShader
Bug: angleproject:4106
Bug: angleproject:3089
Change-Id: Ia92ee172ae574e50bf1759583e46ffb54f348962
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072871
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
4a9ec2ef
|
2020-02-25T16:33:21
|
|
Revert "Always use commit_id.py to generate commit.h"
This reverts commit 4dc19c38c0c5e307350ecd8b9f80d59573161df9.
Causes a git error during 'gn gen':
fatal: this operation must be run in a work tree
BUG=chromium:1055991,angleproject:2344
Change-Id: I74dd36d557dcaf1bd1b13264d806a1c6b09e1a56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a1ceb87b
|
2020-02-25T11:58:19
|
|
Vulkan:Refactor precision emulation code
GLSL, ESSL, and HLSL translators all had the same code to emulate
precision so migrate that code to base class.
This is a structural change to prepare for honoring precision
qualifiers in the Vulkan translator as well, which is done in a
follow-on commit.
Bug: angleproject:3078
Change-Id: Id85bba83543189e3bbc4002be92b056e63afc8de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072644
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
916d204c
|
2020-02-25T14:18:38
|
|
Vulkan: Use new APIs in BufferHelper::copyFromBuffer.
We shouldn't need to special case the barrier logic in this function
any more. Instead use the 'onBufferRead' and 'onBufferWrite' APIs.
Bug: angleproject:4029
Change-Id: I7f67b67aa312d9ae64172b40d73086b7772d49d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071143
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
660c0dd6
|
2020-02-25T13:30:33
|
|
Vulkan: Fix padding out Buffer allocations on AMD.
We would often pad incorrectly given the constraints of the max stride.
We shouldn't really be rounding up the buffer size, but we should
instead be adding the max alignment size to the end of the buffer.
Bug: angleproject:4428
Change-Id: Id2afc572c85985548a18f60b42cdc388d83d5c4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071235
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b7ce876
|
2020-02-25T09:52:05
|
|
Vulkan: Update buffer accumulation TODO bug IDs.
Bug: angleproject:4029
Bug: angleproject:4429
Change-Id: Ice4ae48a92e376ea916f05d1433a68f3accc09d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071145
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b185002d
|
2020-02-21T16:58:39
|
|
Fix the condition of glOrtho{fx} validation
According to the OpenGL ES 1.1 spec, remove the conditions
of glOrtho validation that n and f must be positive.
Bug: angleproject:4281
Change-Id: I644a25408a026ce87211f2203b8e8203eeaf69bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067002
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f031f7c8
|
2020-02-19T18:13:32
|
|
Fix a GCC 10 build failure.
Build failed on GCC10 with C++17. An #ifdef was added to support both
C++17 and C++14
Bug: angleproject:4390
Change-Id: I397513a8ebad4a55635ba863c47edc658e405729
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063545
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
46cb0f62
|
2020-02-21T11:38:17
|
|
Vulkan: prevent volk reloading on null instance and devices
Bug: angleproject:4419
Change-Id: I82f9bb157e88754efd074358dccef1bb82cab0f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068902
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
14a2983f
|
2020-02-20T17:14:02
|
|
Trace/Replay: Add uniform locations map.
This portability feature allows a single T-Rex capture done on Vulkan
to work seamlessly on the ANGLE GL back-end and the WGL-loaded NVIDIA
OpenGL driver.
Previously the uniform locations would not be consistent between ANGLE
and a native driver. And incompatiblities would trigger error messages
between ANGLE back-ends.
Will allow us to compare ANGLE performance vs the native driver using a
capture.
Example captured calls:
glLinkProgram(gShaderProgramMap[3]);
UpdateUniformLocation(gShaderProgramMap[3], "s_texture", 0);
Bug: angleproject:4411
Change-Id: I5ddc76d75e15a9291b351e2aab94af4881f6ef47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068121
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
aa09ca69
|
2020-02-24T13:33:30
|
|
Vulkan: Update ContextVk command buffer access methods.
Use the following names:
- flushAndBeginRenderPass
- endRenderPassAndGetCommandBuffer
- flushAndGetPrimaryCommandBuffer
This clarifies that a flush is part of the method.
Bug: angleproject:4029
Change-Id: I6c870761339ea7aa39c83142200781ba39ad6a4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068129
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
4dc19c38
|
2020-02-24T14:13:40
|
|
Always use commit_id.py to generate commit.h
commit_id_.py is capable of generating the default commit.h.
This makes it so we always take a single path in gn.
Remove the existing commit.h and generate it into the root
generation folder (not the id subfolder) because Android blueprints
can't handle generating into subfolders that don't exist.
Make the <angle_dir> argument capable of taking a filename or
directory name. This allows us to pass the .git/HEAD file which is
a gn input. Android blueprints require all paths used as input
or output to a script are listed as inputs or outputs in the genrule.
BUG=angleproject:2344
Change-Id: Ifd9c8331f421586db6f2c6e17faf3242376e11d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070600
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
74cc3a05
|
2020-02-21T12:43:15
|
|
Make Soong ignore build files in third_party
Some of ANGLE's dependencies have Android build files that are not
compatible with the current Android build system.
BUG=angleproject:2344
Change-Id: Ie414828a234d4c37f12d4c812751421b4f14b24a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068125
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
263232ef
|
2020-02-23T15:02:16
|
|
Trace/Replay: Pass CallCapture to parameter replay writer.
This will allow more advanced processing when writing the cpp replay
for a specific parmeter. For the uniform locations map it'll allow us
to look up the specified program from the call parameters.
Bug: angleproject:4411
Change-Id: I4e91b3e4c6775c42140d00b2d155344b553a7404
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067629
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3aee0b4
|
2020-02-20T15:19:18
|
|
Remove skip dEQP-GLES31 test now passing on NVIDIA
More precisely, the test is
dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage.mixed_api_change_binding_point
Bug: angleproject:2432
Change-Id: Iafb401380ed00bd823a821d6814be5c22f9667a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065670
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a889d30f
|
2020-02-04T23:08:55
|
|
Reland "Provide default implementation of rx::DisplayEGL"
This is a reland of 123fd97000bb9fd912159bb9ccc62308b763aead
Original change's description:
> Provide default implementation of rx::DisplayEGL
>
> Will allow to use EGL instead of GLX on X11.
>
> Meant to be used on modern EGL so it requires the extensions
> EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
> This keeps the default implementation simple (no pBuffer
> fallback)
>
> Also provide simple WorkerContextEGL.
>
> Bug: angleproject:4328
> Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:4328
Change-Id: I02046613324e9283ba8f2ed02dd9c7ce703e0fde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c7f63a01
|
2020-02-23T16:46:41
|
|
Fix debug callback in perf tests.
Was not outputting correctly. Also print more information like the type
and severity of the message. Moves some stringification code out of
RendererGL into common/utilities.
Bug: angleproject:3630
Change-Id: I029e279764fa4ae5cab8d903bd0ef7d376b7b846
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067630
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b5576b67
|
2020-02-21T20:44:42
|
|
Vulkan: Fix pipeline stage when waiting on a semaphore
Using VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT in pWaitDstStageMask doesn't
create a dependency, since no memory is accessed during that stage.
Switch to VK_PIPELINE_STAGE_ALL_COMMANDS_BIT to synchronize all accesses.
This fixes flickering observed in WebGL on ARM GPUs when composited using
Vulkan in Chromium.
Bug: angleproject:4422
Change-Id: I37da461c03dbf52f8658408b159c2b173cccd0b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068906
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
a741abb9
|
2020-02-21T16:37:37
|
|
Vulkan: Rename CommandGraphResource to Resource.
Also renames the h and cpp files to ResourceVk (to keep distinct from
other resource.h/cpp files) and renames 'onResourceAccess' to 'retain'.
Cleans up a few remaining mentions of the command graph in comments.
Bug: angleproject:4029
Change-Id: Ifc8e880c8cea3fc48a4aec4730191c88aa35a076
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065920
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
468dfed3
|
2020-02-21T12:12:51
|
|
Reformat GN files
Otherwise this blocks the CQ at presubmit.
Bug: angleproject:3492
Change-Id: I3cf77c72daa358f5e1eabecf1dcb8808a1dc9e07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068538
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eacec98a
|
2020-02-21T17:23:21
|
|
Suppress SwANGLE dEQP GLES3 failure.
Bug: angleproject:4418
Change-Id: Iec75633351add75433eef3044390934149903ba8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068898
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f3325dd8
|
2020-02-21T10:20:01
|
|
Add uniform location checks for ignored/invalid location
R=geofflang@chromium.org
Bug: chromium:1028418
Change-Id: Iae257fbfa8d58f9a0aa7b876fba416bb060fbe54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068127
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8df46810
|
2020-02-21T13:32:29
|
|
Suppress SwANGLE dEQP failures
As observed from try runs on SwANGLE waterfall.
Bug: angleproject:4110, angleproject:4371, angleproject:4416
Change-Id: I61cf86c60085a53896b7b66fcbf662ab7abe1c18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
39087f4a
|
2020-02-16T11:53:23
|
|
Refactor DrawCallPerf test parameters.
Use the new combiners functions added in an earlier CL. Makes it easy
to maintain bigger lists of test combinations.
Also a few other changes:
- removes some D3D9 perf testing since we don't maintain this config
- removes the "validation only" tests. these were mostly redundant
- makes the tests permutation combinations more consistent
Bug: angleproject:3630
Change-Id: I175d887a01b21123f83f9fa4f64dacaa2644147a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059468
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4197713
|
2019-06-03T19:23:02
|
|
Implement glImportMemoryZirconHandle & glImportSemaphoreZirconHandle
Implement import of fuchsia external objects passed by zircon handle. This
works exactly the same as with file descriptors.
Bug: angleproject:3492
Change-Id: I4d46917dfc5902f00c94550158a9f8073097f0a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642334
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a18f4145
|
2020-02-19T22:42:12
|
|
Trace/Replay: Add uniform location type.
This is a large refactor that replaces instances of "GLint location"
for uniform locations with "UniformLocation location". This boxed type
is similar to the ResourceID types that we use to capture resource IDs
more easily. Eventually this will give us a more portable replay.
Bug: angleproject:4411
Change-Id: I848e861c3956d95b6b953f57f8b6a2c4a676766f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066117
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d3aad0f4
|
2020-02-20T08:59:58
|
|
Vulkan: Remove command graph size overlay widget.
No longer applicable without the command graph.
Bug: angleproject:4029
Change-Id: If75e3aca56eb18567074e14ceb23b3fd7a0afb3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065919
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c58458e6
|
2020-02-19T14:51:41
|
|
Vulkan: Remove CommandGraph code.
Also updates relevant comments to no longer refer to a graph.
Bug: angleproject:4029
Change-Id: Ic29716e9ae4926870f902947d49d8fee7af98662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057804
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
519163ee
|
2020-02-15T12:20:17
|
|
Run debug callback in perf render tests.
This can catch unexpected GL errors from ANGLE or the system driver.
Only enable when ASSERTs are enabled to ensure that we get full
performance when profiling.
Helpful to diagnose incorrect perf test rendering. In this case it
helped diagnose that our frame tracing and replay do not correctly
remap uniform locations.
Bug: angleproject:3630
Change-Id: Ifd9f47196381e48f74a810ea0c9f9c0fd7a13a22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057352
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
b8c6521a
|
2020-02-14T14:23:08
|
|
Reland "Move sampleAlphaToCoverage out of blendState"
This is a reland of f6e73131c528b1317067624bc71c3ce41a48f9aa
Aligned BlendStateKey fields
Original change's description:
> Move sampleAlphaToCoverage out of blendState
>
> This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state.
>
> D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics.
>
> D3D9: a comment was added explaining why this feature was never implemented there.
>
> Bug: angleproject:4394
> Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:4394
Change-Id: Ia7aed863f0f9f6066daf1b02ecade3256f494062
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066698
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
94ec1e5f
|
2020-02-19T15:29:54
|
|
Vulkan: Update shader compilation documentation
Bug: angleproject:3394
Change-Id: If8df97644d07f258a8f1ea1bde6b6b3572f6d024
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062745
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e4ba2d87
|
2020-02-20T16:05:02
|
|
Pass ContextVk instead of gl::Context to internal methods
Minor cleanup to change funciton signatures of vulkan specific methods in
MemoryObjectVk & SemaphoreVk.
Bug: angleproject:2475
Change-Id: I230664548004ebc48b559e0f25264ea948ce5a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067500
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8ca4309
|
2020-02-20T08:27:33
|
|
CaptureReplay: Emit unused resources
In the final frame of Manhattan, resources are cleaned up,
even if they are non-existent. This is allowed by the GLES
spec. Compilation of the replay would fail, for instance:
error: use of undeclared identifier 'gRenderbufferMap';
did you mean 'gFramebufferMap'?
const GLuint glDeleteRenderbuffers_renderbuffersPacked_0[] =
{ gRenderbufferMap[0] };
^~~~~~~~~~~~~~~~
This is because we are only declaring resources if they are used.
Instead, go ahead and emit the resources, then circle back when
filtering is implemented, allow that to optimize the replay.
Bug: angleproject:4091
Bug: angleproject:4223
Change-Id: Ib48da0d9c3f4f2eca268646e7717a12126b1d85c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066455
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ce4918f1
|
2020-02-19T09:39:44
|
|
Vulkan: Sanitize Images & Buffers with non-zero values.
Only enabled for specific tests at the moment. This CL allows our tests
to sanitizes memory for the robust resource access extension. It is
quite slow so should not be enabled by default.
Only works for 1 level 2D color textures and buffers. Makes several
flaky robust resource initialization tests consistently fail.
Controlled via an angle::Feature in FeaturesVk.
It works by initializing memory to an abitrary non-zero value:
- if newly allocated memory is mappable, we map it in init and set it
- if a buffer or texture can be a transfer destination, we use a
staging resource
- otherwise we don't attempt to initialize the resource.
Bug: angleproject:4384
Change-Id: I9b4f347bfcddf3096f491ed0243bef86837feaa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2043271
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
dec00bc8
|
2019-04-03T15:51:28
|
|
Generate entrypoints for Fuchsia external objects extensions
Add GL_ANGLE_memory_object_zircon_handle &
GL_ANGLE_semaphore_zircon_handle extensions to supported extensions list
and re-generate bindings.
Bug: angleproject:2475
Change-Id: I464aa402aaac916c1f459930c771a0813ec63c9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642333
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3352d492
|
2020-02-19T17:41:24
|
|
Vulkan: Add command stream diagnostics when graph is disabled.
Very simple diagnostics that prints out the command stream. Since there
is very little deferral right now the graph itself became quite a bit
simpler.
Also fills in some missing values in the switch that prints the command
name string.
Bug: angleproject:4029
Change-Id: Ib64a7fed6f9f56ce406cc7dbc6cc993ed510e2cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065530
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cf2ec3b1
|
2020-01-31T16:55:50
|
|
Vulkan:Add FramebufferVk cache
This adds a FramebufferVk cache. Cache signature is based on unique Serial
values that are assigned to ImageHelper objects backing all color and DS
rendertargets as well as level/layer values unique to the imageView.
Update the Serials and cache signature at FramebufferVk::syncState() time.
L0 cache is a currently active framebuffer.
L1 cache retrieves previously created framebuffer from new cache.
If neither of those hit, create new FramebufferVk and add to L1.
Bug: angleproject:4322
Change-Id: I3f585271798ddfb9e5f194020adca8cf8a6b19dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033869
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
709f6285
|
2020-02-20T08:56:17
|
|
Vulkan: Enable FenceNV extension without graph.
Bug: angleproject:4029
Change-Id: I6b3f469b692010e373b9c82b689966da98b8a6cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065918
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0aab41b7
|
2020-02-20T08:39:10
|
|
Vulkan: Make mapped memory available with graph disabled.
This copies functionality out of the command graph path. A preemptive
barrier ensures we don't need to issue an availability barrier when we
need to map buffer memory.
Bug: angleproject:4029
Change-Id: I868ce8bdb3c452dccf35cc9e70adf81ad7905c66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065917
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
166875eb
|
2019-03-27T13:52:04
|
|
Don't clamp in glBlendColor if context supports renderable [half-]float.
Add test for glBlendColor >1.0, skipped on D3D9 since it's unsupportable
there.
Bug: angleproject:3323
Change-Id: I3fcf867dae96bdadf8a0183269d8f27b659d0baf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541723
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
|
|
a61e273a
|
2020-02-19T14:51:40
|
|
Vulkan: Fix store ops with linear command recording.
DiscardFramebuffer was being ignored in the new linear path. Fix this
by using the correct APIs. Also cleans up some of the access to the
"RenderPassCommandBuffer" struct in ContextVk. Add a new accessor that
returns the RenderPass without a flush that ensures it is only called
when a RenderPass is already started.
Bug: angleproject:4029
Change-Id: Ibd199f3a371c0f91b448a0b34c8752dc8b76c284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057329
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b4357d46
|
2020-02-20T08:29:49
|
|
Update expectations after swiftshader fix
Swiftshader fixed issue with shader array length() function.
Bug: angleproject:4098
Change-Id: I129f87a80c4ac254bf1b1112d34fcd2b858eab6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066454
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
612cf818
|
2020-02-20T07:56:39
|
|
Vulkan: Update ES 3.1 test expections
Breaking up an old test, narrowing the scope.
Bug: angleproject:4312
Bug: angleproject:4413
Bug: angleproject:4414
Change-Id: Ib570450dc42de111baaf72ba0033515e519bab5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066451
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
bd4e756a
|
2020-02-17T09:49:45
|
|
Const-ify the validation layer.
Enforces that the validation layers should be working pretty much read-
only with the exeption of updating caches. Requires a few tricks:
- updates EP code generation to add 'const' to pointer parameters
- enables a kludge const_cast to enable the robust query extension
- makes some members of Framebuffer mutable to work around syncState
- makes 'is' queries and other methods in Context/State const
Will allow us to more safely expose the no_error extension.
Bug: angleproject:1280
Change-Id: Id9756757854c9e68fc096ecec8d93759fbe6b3a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060689
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|