|
2fe5e1d3
|
2018-08-28T14:00:24
|
|
Vulkan: Implement robustness extensions.
Device recovery is not possible but device loss can be tracked.
BUG=angleproject:2787
Change-Id: Ib94dd557b6b005a560b7a64275b176f7b1777211
Reviewed-on: https://chromium-review.googlesource.com/1194458
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
16c20140
|
2018-10-01T13:58:19
|
|
Vulkan: Record blit commands inside blit methods.
Instead of starting recording blit commands immediately we can
record them closer to where we write to the Image directly. This makes
it a bit easier to move towards hiding the command buffers. And easier
to move to using implicitly generated barriers.
Bug: angleproject:2828
Change-Id: Ida7d4081dd41c8ee19c7dc3fb234df1bb065794d
Reviewed-on: https://chromium-review.googlesource.com/1254382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
def1ba96
|
2018-09-28T13:43:41
|
|
Reland "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
This reverts commit 799da6d18c5ac490e0cdfe9d4dedda26e10f6864.
Reason for revert:Crashes have slowed down but there were two changes around the same time that may have caused it. Relanding this to see if things improve.
Original change's description:
> Revert "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
>
> An increased crash rate in rx::NativeWindow11Win32::createSwapChain has been
> seen around the same time as this patch landed. Speculatively reverting.
>
> BUG=887403
>
> This reverts commit a49f60fee74dfa1caed41ca2e010bc273a6c12cd.
>
> Change-Id: Id1b08efbf47196f17f4a5e509a29f7d628b07b49
> Reviewed-on: https://chromium-review.googlesource.com/1238884
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 887403
Change-Id: Id862fbb1c0e764470f0b7f6bdb97bf6bab95d26b
Reviewed-on: https://chromium-review.googlesource.com/1251701
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9d597f8a
|
2018-10-01T10:15:36
|
|
Vulkan: Use copyImageDataToBuffer in Texture mipmap gen.
There were two code paths using nearly identical code. Fix this by
generalizing the helper method slightly.
Refactoring change only.
Bug: angleproject:2828
Change-Id: I39caccfaad4880e566e995483b8e8fb46d67d3da
Reviewed-on: https://chromium-review.googlesource.com/1249563
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
996628a4
|
2018-09-24T16:39:26
|
|
Vulkan: Add support for VkPipelineCache
The cache is initialized from the application's blob cache and is
occasionally written back to it for disk storage.
Bug: angleproject:2516
Change-Id: I4cba4b00a7b9641c2983ef07159bc62cd10a5519
Reviewed-on: https://chromium-review.googlesource.com/1241373
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5ddbdbf7
|
2018-10-01T10:15:37
|
|
Vulkan: Fix bugs in glGenerateMipmaps.
We had two separate minor bugs. 1) missing a flush of the image data
and 2) missing an initial barrier to set the image to TRANSFER_DST.
Bug: angleproject:2652
Bug: angleproject:2653
Change-Id: I485aafc5c9055b5efb101cb2bc3ebab0588d2639
Reviewed-on: https://chromium-review.googlesource.com/1249564
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
a78092cb
|
2018-09-26T14:16:13
|
|
Support ESSL 3.00 EXT_blend_func_extended shaders
This adds support for the index layout qualifier that's used in
EXT_blend_func_extended to set whether a fragment output should be
bound to the primary or secondary blend source color.
Output locations are now validated correctly so that two outputs can
have the same location as long as they have a different index. Some
tests are fixed to allow this.
BUG=angleproject:1085
TEST=angle_unittests
Change-Id: I1de3ad1406398952287791eca367562bed59d380
Reviewed-on: https://chromium-review.googlesource.com/1245982
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
79207e6e
|
2018-09-28T16:09:26
|
|
Skip tests failing on Pixel XL
RobustBufferAccessBehaviorTest.NoBufferData/ES2_OPENGLES
RobustBufferAccessBehaviorTest.NoBufferData/ES3_OPENGLES
RobustBufferAccessBehaviorTest.NoBufferData/ES3_1_OPENGLES
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES2_OPENGLES
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES3_OPENGLES
WebGLGLSLTest.InitUninitializedGlobals/ES2_OPENGLES
Bug: angleproject:2861,angleproject:2689,angleproject:2862
Change-Id: I142594c952b6e7de24057784794b5725f3486212
Reviewed-on: https://chromium-review.googlesource.com/1252701
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
|
|
af0f31d3
|
2018-09-27T15:42:31
|
|
Enable several end2end tests on Windows Intel drivers
Bug: angleproject:1388
angleproject:1706
Change-Id: Ic6c62b0a85756bf36b6d345610a77ffd5c4665e3
Reviewed-on: https://chromium-review.googlesource.com/1248442
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c0b82333
|
2018-09-26T18:04:05
|
|
Polyfill BitCount for ARM/ARM64 on MSVC.
Also _WIN64 implies _WIN32.
Bug: angleproject:2858
Change-Id: I63e2ffd2e9e304171ea6adb99836733981cc1813
Reviewed-on: https://chromium-review.googlesource.com/1248441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e8dd0796
|
2018-09-27T15:04:27
|
|
Vulkan: Make vk::FramebufferHelper the graph resource.
It seems conceptually easier to understand that a vk::Framebuffer is
the resource used in graph. Rather than making the GraphResource be
integrated into the FramebufferVk class itself. This means that the
only objects that are graph resources are Vulkan objects: Images,
Buffers, and Framebuffers.
Refactoring change only.
Bug: angleproject:2828
Change-Id: I59d60643182287d4b1fcf9730a3c3a0da5b65973
Reviewed-on: https://chromium-review.googlesource.com/1249561
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
2d03ff4a
|
2018-09-27T15:04:26
|
|
Vulkan: Make Buffer/Image be CommandGraphResources.
Don't make TextureVk/RenderbufferVk/SurfaceVk/BufferVk own the
manipulation of the command graph. Instead put the operations close to
the buffers and images used to render.
This will lead towards implementing implicit barriers on the command
graph resources.
Bug: angleproject:2828
Change-Id: I07b742b6792c60285b280d6454f90e963d667e0e
Reviewed-on: https://chromium-review.googlesource.com/1246983
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
50e6eaae
|
2018-09-27T08:24:32
|
|
Vulkan: Move LineLoopHelper graph work into BufferVk.
Bug: angleproject:2828
Change-Id: Ie6bcdd10e2de415615db2bfb0b6fa17c392455b0
Reviewed-on: https://chromium-review.googlesource.com/1235655
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
beb0c946
|
2018-09-27T11:22:23
|
|
Vulkan: Make sure the default uniform info arrays match indices.
When inserting uniform layout info into the default uniform block, the array
sizes need to match but insertion was skipped when the uniform was a sampler.
This caused heap corruption when uniform data was written to the wrong offset
in the buffer.
BUG=angleproject:2859
Change-Id: Ia58a68870e2a4805391266dfe73fe8c8d238931d
Reviewed-on: https://chromium-review.googlesource.com/1249562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
122919bd
|
2018-09-06T15:52:59
|
|
Update docs on building ANGLE inside Chromium.
Bug: angleproject:1944
Change-Id: If05cdf39bd4f88995ed9ea97a13bca661f826884
Reviewed-on: https://chromium-review.googlesource.com/1211782
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
115e8a26
|
2018-09-26T07:51:30
|
|
Vulkan: Store "is packed" in buffer formats.
This more easily allows us to compute the format alignment for use with
the vertex input stage.
Bug: angleproject:2797
Change-Id: If15281ce18fbed743b6a0c843cece4626bc4ce72
Reviewed-on: https://chromium-review.googlesource.com/1245841
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
af8b73c9
|
2018-09-26T11:36:16
|
|
Roll dEQP (September 2018)
Bug: angleproject:2854
Change-Id: Ib9f229aa579699e90759bacd88d13953c0a7d311
Reviewed-on: https://chromium-review.googlesource.com/1245846
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3ddd6420
|
2018-09-26T11:10:51
|
|
Vulkan: Expose EXT_debug_marker and stub out the implementation.
This extension is used by Chrome.
BUG=angleproject:2853
Change-Id: Ie8d4ba07857c581a4ec3f90faabdf747b6b52445
Reviewed-on: https://chromium-review.googlesource.com/1246263
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c84510f4
|
2018-09-25T19:22:55
|
|
Angle: Remove obsolete requires_sdk_api_level_23 from BUILD.gn.
Will be removed upstream.
BUG=chromium:688465
Change-Id: If50ac3624a5f692755797eaabcc0c7d6e7408655
Reviewed-on: https://chromium-review.googlesource.com/1244079
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
|
|
a602f906
|
2018-09-11T14:40:24
|
|
ES31: Support shader storage buffer in D3D-API side.
Bug: angleproject:1951
Test: angle_end2end_tests
Change-Id: I0d8a4f8cf00fc7fd2d85315138e2b7457fd0b90c
Reviewed-on: https://chromium-review.googlesource.com/1242846
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
547edfe2
|
2018-09-25T21:17:56
|
|
Fix angle::Format::ID in gen_dxgi_format_table.py
The dxgi_format_map_autogen.cpp was updated, but the generating script
was missed to submit in https://crrev.com/c/1142299.
Bug: angleproject:2729
Change-Id: I8d726854581d27881a737f12457482ac955e6312
Reviewed-on: https://chromium-review.googlesource.com/1242853
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cf8ad760
|
2018-09-21T09:11:35
|
|
ES31: Support translating textureGatherOffset into HLSL
This patch implements the translation from GLSL texture function
textureGatherOffset into HLSL by using the optional "offset"
parameter of Texture2D.Gather[Red|Green|Blue|Alpha].
This patch also defines the implementation-dependent limit
MIN_PROGRAM_TEXTURE_GATHER_OFFSET and MAX_PROGRAM_TEXTURE_GATHER_OFFSET
on D3D11. According to MSDN, the valid range of "offset" used in
Gather should be [-32, 31].
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/gather4-po--sm5---asm-
This patch also refactors OutputTextureGatherFunctionBody() so that
some redundant code can be removed.
BUG=angleproject:2826
TEST=dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.*
(without texture_swizzle)
Change-Id: Id0f411257b64c8a97428f16b1a86950ec6d36e2f
Reviewed-on: https://chromium-review.googlesource.com/1237303
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
219ef05b
|
2018-09-25T20:16:37
|
|
Skip NoBufferData test on NVIDIA Shield TV.
Bug: chromium:889303
Change-Id: Ie06ea7ff27e64d8b149a2200efd159f3a09780b7
Reviewed-on: https://chromium-review.googlesource.com/1244001
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
95bba6e5
|
2018-08-29T11:02:49
|
|
Vulkan: Use automatic row length and image height for texture copies.
CopyTextureChromium sometimes failed because of incorrect image dimensions
being used in the image copy command. Simply use 0, the images are all
tightly packed.
BUG=angleproject:2723
Change-Id: I2332561bdc9ee70ba07101bcf2db7ea9f2355844
Reviewed-on: https://chromium-review.googlesource.com/1194907
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a883dd06
|
2018-08-03T18:11:46
|
|
Use SPIRV-Tools' BUILD.gn files
This adds build_overrides/spirv_tools.gni to tell it where to find its
dependencies.
BUG=chromium:870747
Change-Id: Id1d9fb836e74597860a4411df0a4fd0651840f57
Reviewed-on: https://chromium-review.googlesource.com/1162240
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
8b57fae5
|
2018-09-20T12:48:29
|
|
Roll EGL headers.
BUG=angleproject:2508
Change-Id: I28782e488495a31da885f35e9c37b0dd22d951a3
Reviewed-on: https://chromium-review.googlesource.com/1236754
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
299bdfe7
|
2018-09-25T11:44:19
|
|
Vulkan: Update AMD suppressions.
Bug: angleproject:2463
Bug: angleproject:2847
Bug: angleproject:2848
Change-Id: I4036363c517dbe293566bb9d51a2470685d41ac2
Reviewed-on: https://chromium-review.googlesource.com/1240108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b36a4816
|
2018-09-25T10:15:11
|
|
Vulkan: Add OpenGL line segment rasterization.
Line rasterization rules are implemented using a shader patch. The
patch does a small test and discards pixels that are outside of the
OpenGL line region.
The feature is disabled on Android until we can determine the root
cause of the test failures.
Bug: angleproject:2598
Change-Id: Ic76c5e40fa3ceff7643e735e66f5a9050240c80b
Reviewed-on: https://chromium-review.googlesource.com/1120153
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
beb669da
|
2018-09-21T16:25:52
|
|
Vulkan: work around vkCmdCopyBuffer bug.
It seems that vkCmdCopyBuffer on Windows with Intel GPU neglects
the last region when given more than one. Work around that in
LineLoopHelper::getIndexBufferForElementArrayBuffer() by adding an
unused region. Enable corresponding test.
BUG=angleproject:2838
Change-Id: I8847c7b2cfdb94526d4d28ba5bf1f162da3a1ed4
Reviewed-on: https://chromium-review.googlesource.com/1238887
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
74c179bb
|
2018-09-24T10:53:23
|
|
Vulkan: Refresh descriptor sets on driver uniform change.
In some state change scenarios the driver uniforms would be updated but
not reapplied to the current state. Fix this by setting the descriptor
sets dirty when we dirty the driver uniforms.
Includes a test using gl_DepthRange. Also fixes a bug with the upcoming
line segment rasterization emulation.
Bug: angleproject:2598
Bug: angleproject:2845
Change-Id: Ia66f3c86f9770ceb145069eec879fd8725111a76
Reviewed-on: https://chromium-review.googlesource.com/1240413
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4ebd8f3d
|
2018-09-20T11:12:46
|
|
Fix issues with clearing deleted attachments
Deleting an object that was acting as a framebuffer color attachment
in the current framebuffer didn't previously update all of the
framebuffer state correctly. Fix this by going through the usual
resetAttachment path when any framebuffer attachment is deleted
instead of having custom code that only updated part of the state.
Also early out from clearbuffer calls in case of a missing color
buffer - even now that the draw buffer mask is being updated correctly,
some backend code doesn't take it into account. One example is
querying attachment format when the SRGB clear for linear framebuffer
attachments workaround is active.
BUG=angleproject:2831
TEST=angle_end2end_tests
Change-Id: I1071a60dc0251946fed00e88e43a244fe59f4863
Reviewed-on: https://chromium-review.googlesource.com/1235656
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7620c739
|
2018-09-24T11:45:55
|
|
Prevent crash in robust access mode when buffer has no data
This fixes a crash appearing in robust access mode when a buffer has
no data by stopping the draw call.
A better fix would be to ensure that fetches from an empty buffer
result in zero, but this fix requires a lot more effort. This is not
necessarily warranted since the client is either way doing something
incorrect in this case.
BUG=angleproject:2840
TEST=angle_end2end_tests
Change-Id: Ie4ef5b1ca7c0091d7d26f91678d6e4768cc0c650
Reviewed-on: https://chromium-review.googlesource.com/1238622
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
85c4b43e
|
2018-09-19T23:35:00
|
|
Vulkan: Translate line loop indices from buffer.
When a line loop is drawn with byte indices from a buffer, translate
to short. Enable test.
BUG=angleproject:2802
Change-Id: Ie178ec866387be85b91291c28e1978db0a09c20a
Reviewed-on: https://chromium-review.googlesource.com/1237293
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
f5aad063
|
2018-09-19T14:39:00
|
|
Avoid flush/invalidate of host-coherent memory
For DynamicBuffer avoid calling vkFlushMappedMemoryRanges() or
vkInvalidateMappedMemoryRanges() if the underlying memory is host-
coherent. These calls are not required for host-coherent memory and
may negatively impact performance.
When currently allocating HOST_VISIBLE memory it's possible to also get
HOST_COHERENT memory even though it's not explicitly requested. Because
of this, the change updates the memory allocaiton interfaces through
the stack to pass back the actual allocated memory properties so that
it can be checked to see if it's host-coherent.
Bug: angleproject:2804
Change-Id: Ife95c4b98115b16d16c087dd72dba7d9661fdb46
Reviewed-on: https://chromium-review.googlesource.com/1234276
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e2d2270a
|
2018-09-19T08:11:48
|
|
Vulkan: Merge append/beginWriteResource.
The new API is named 'recordCommands'.
These two APIs were basically doing the same thing. We don't need to
have an understanding of creating a new graph node to know that we
want to record some Vulkan commands to a command buffer. The prior
design was actually masking a bug where we would allow appending
commands to a command graph node that had already started a render
pass. Fix this by adding a render pass check to recordCommands.
Also removes 'hasStartedWriteResource' since this method wasn't used
anywhere.
Also renames 'onResourceChanged' to 'finishCurrentCommands'.
Bug: angleproject:2828
Change-Id: I00bd5b893fcfc37172b6c1706cb2f5fc57e79f54
Reviewed-on: https://chromium-review.googlesource.com/1235654
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5272a543
|
2018-09-24T13:09:09
|
|
Vulkan: Skip BufferDataTest.RepeatedDrawDynamicBug on Win/Intel.
Bug: angleproject:2843
Change-Id: If86ed33f7fbc70e4f10580d2b52ff04454e95f52
Reviewed-on: https://chromium-review.googlesource.com/1240416
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f668a4b5
|
2018-09-23T17:01:20
|
|
Skip Texture::syncState when no dirty bits.
We sometimes generate local dirty bits in TextureGL. To make sure the local
dirty bits don't get skipped we use a Subject/Observer pattern between the
TextureGL and gl::Texture. This allows us to skip syncState in the hot path.
Also inlines a couple of other texture functions. And fixes a stray header
in EGLBlobCacheTest.
Bug: angleproject:2763
Change-Id: Ie1d8a5865deaf2a563a358c31ae28bef6b2458b1
Reviewed-on: https://chromium-review.googlesource.com/1228374
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
77db6f4a
|
2018-09-23T17:28:55
|
|
Use global Context lookup in single-threaded cases.
In single-threaded cases we don't need to use a TLS lookup for the
current Context.
Assume a global context has 3 states: unset, set, and multi-threaded:
* global context unset -> set the global context
* global context set, matches TLS context -> set the global context
* global context set, doesn't match TLS -> set multi-threaded
* global context multi-threaded -> leave it
This also inlines the global context/TLS check into global_state.h.
Increases performance of the binding perf overhead test by up to 25%
and the draw call perf test by up to 3%.
Bug: angleproject:2824
Change-Id: Ib95953ca918f2408fe72ca83061f4e2d1bd1adad
Reviewed-on: https://chromium-review.googlesource.com/1231993
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
55e57f96
|
2018-09-18T11:32:43
|
|
Remove some redundant dirty bits notifications.
These were already being signaled in the front end.
Bug: angleproject:2763
Change-Id: Id78d3d764e80e687c29c08395b59048d314bfbe2
Reviewed-on: https://chromium-review.googlesource.com/1204490
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c55aefe3
|
2018-08-28T19:59:00
|
|
ES31: Support atomic functions on D3D11 - Part III
This patch is the third one to support atomic functions on D3D11.
In this patch we enable support for atomic function returns outside of
assignments (e.g. part of arithmetic operations or to index into arrays) and
when used directly initialize a variable.
Note that we are still missing the functionality to be tag loops with
[allow_uav_condition] as required by InterlockedCompareExchange.
BUG=angleproject:2682
TEST=angle_end2end_tests
Change-Id: Ia409ebb10621fd5c514cf6c76f366a320a9d9fc1
Reviewed-on: https://chromium-review.googlesource.com/1208317
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
799da6d1
|
2018-09-21T15:10:57
|
|
Revert "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
An increased crash rate in rx::NativeWindow11Win32::createSwapChain has been
seen around the same time as this patch landed. Speculatively reverting.
BUG=887403
This reverts commit a49f60fee74dfa1caed41ca2e010bc273a6c12cd.
Change-Id: Id1b08efbf47196f17f4a5e509a29f7d628b07b49
Reviewed-on: https://chromium-review.googlesource.com/1238884
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9d84ccba
|
2018-09-12T18:09:02
|
|
Vulkan: renderer->finish() before reading buffers.
Have to call renderer->finish() before reading a buffer otherwise you can
get stale data.
Enable IndexBufferOffsetTest.UInt8Index/ES2_VULKAN which now works.
Disable LineLoopTest.LineLoopUShortIndexBuffer/ES2_VULKAN which stopped
working on Windows with Intel GPU.
BUG=angleproject:2659
Change-Id: I1e21b0e1dacd3368923caf18e767e34ab696eef6
Reviewed-on: https://chromium-review.googlesource.com/1227032
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ab5fb5ed
|
2018-09-18T17:23:28
|
|
Reland "Support EXT_blend_func_extended in the GLES2 context"
This re-lands EXT_blend_func_extended implementation. A lot of the
implementation has been rewritten on top of changes that have been
done since the last attempt.
For now we only expose the extension on desktop GL. To support GLES,
we'd need to investigate what's the most robust way to handle the
compiler output and make the binding of the fragment outputs
conditional.
The extension is disabled on AMD and Intel because of test failures.
BUG=angleproject:1085
TEST=angle_end2end_tests
Change-Id: I619ae3162769b90aad095ddec158ce6c57a114a8
Reviewed-on: https://chromium-review.googlesource.com/1233713
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
38fe6840
|
2018-09-19T07:20:00
|
|
Remove secondary Texture rendering loop check.
This check was not used. It applied only to rendering Feedback Loops.
The behaviour is undefined in non-WebGL and for WebGL we have a
separate validation check.
Also update the feedback loop tests to ignore the current GL states.
This change is based on feedback from the OpenGL ES working group.
Bug: angleproject:2763
Bug: chromium:763695
Change-Id: I9882b4f9af2d43fc7b5604ff36dadcc79dfd378f
Reviewed-on: https://chromium-review.googlesource.com/1228373
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0131ff40
|
2018-09-20T13:20:50
|
|
Fix using a large vertex attrib divisor on D3D11
A divisor >= 256 used to trigger an assert on the D3D11 backend since
it couldn't fit into the input layout cache. Increase the space
reserved for the divisor in the input layout cache to make sure that
the correct input layout will get used and to fix the assert.
BUG=angleproject:2832
TEST=angle_end2end_tests
Change-Id: I34eead6c4e8c4fea379bbafc8670b4e32a5b633b
Reviewed-on: https://chromium-review.googlesource.com/1236293
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e25b8006
|
2018-09-20T13:39:49
|
|
Move sampler sync out of syncProgramTextures.
We only need to call the syncState for samplers when they are dirty.
Also includes changes to refactor out the sampler sync in GL. Adds
observer bindings so sampler sync is handled correctly in resource
sharing scenarios.
Bug: angleproject:2763
Change-Id: I762f0738ee7572ae29ce6bd5384a30aa9588c848
Reviewed-on: https://chromium-review.googlesource.com/1227797
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a977acc8
|
2018-09-19T12:46:05
|
|
ES31: Support translating textureGather into HLSL - Part I
This patch is the first one in the series of supporting GLSL texture
function textureGather/textureGatherOffset on D3D11.
According to ESSL 3.1 SPEC (Chapter 8.9.3, Page 130), the definition
of textureGather on sampler2D is:
gvec4 textureGather (gsampler2D sampler, vec2 P[, int comp])
The parameter "comp" is optional, and if it is specified, the value
of "comp" must be a constant integer expression with a value of 0, 1,
2, or 3, identifying the x, y, z, or w postswizzled component of the
four-component vector lookup result for each texel, respectively. If
comp is not specified, it is treated as 0.
According to the definition above, textureGather is equivalent to
Texture2D.Gather[Red|Green|Blue|Alpha] in HLSL, where we can use a
switch-case expression to choose the right HLSL texture function.
The features listed here will be implemented in the following patches:
1. Support textureGatherOffset
2. Support textureGather[Offset] on isamplers and usamplers
3. Support textureGather[Offset] on textures when swizzle is on
4. Support textureGather[Offset] on shadow samplers
BUG=angleproject:2826
TEST=dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.*
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.*
(without texture_swizzle)
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.*
(without texture_swizzle)
Change-Id: Iff2ed4f8b65dad613cb0bafdfd19f8f0528e832c
Reviewed-on: https://chromium-review.googlesource.com/1232980
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
4ce287e0
|
2018-09-20T13:20:31
|
|
Change the name of the opt'ed-in app from maps to cubey.
Since this is about to be used for the Q release, and we haven't
receieved permission from the maps team to opt-in their app, we'll
switch to our team's test app.
Bug: angleproject:2794
Change-Id: Idbda050b1130c359cda68066f187aadeb8e949b5
Reviewed-on: https://chromium-review.googlesource.com/1236658
Commit-Queue: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
52ea4970
|
2018-09-19T08:58:58
|
|
Vulkan: Enable a few BufferDataTests.
These are already passing.
Bug: angleproject:2644
Change-Id: Iac3452547e319a709e010431eb8a45f5523bb5f7
Reviewed-on: https://chromium-review.googlesource.com/1235653
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d511948b
|
2018-09-18T11:32:42
|
|
Use FastVector in angle::Subject.
This improves object binding performance. We no longer need to check
two containers when manipulating the bound subjects/observers.
Bug: angleproject:2763
Change-Id: I0ccb2e76be47bd8a28fba5a0c3eff857aa166bb7
Reviewed-on: https://chromium-review.googlesource.com/1227795
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
20c01390
|
2018-09-19T15:43:28
|
|
Fix FastVector::resize when count < size.
Also update a test to trigger the bug.
Bug: angleproject:2763
Change-Id: I8e6735320a34dcc4cc8beee1b7a22b768912f24f
Reviewed-on: https://chromium-review.googlesource.com/1234338
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dbce1f89
|
2018-09-19T15:32:17
|
|
Fix trying to clear nonexistent FBO attachments
The D3D11 backend used to crash to a null pointer dereference if a
glClearBuffer call was done on a nonexistent depth or stencil
attachment. Validate for these conditions so that the backend can't
crash in this case.
BUG=angleproject:2827
TEST=angle_end2end_tests
Change-Id: Iecee78d213d11d492d52f246b4b068e8b6f34244
Reviewed-on: https://chromium-review.googlesource.com/1233675
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bf7cfbea
|
2018-09-19T03:56:20
|
|
Re-land "Add FastVector for simple dynamic vector cases."
Re-land fixes memory leak and adds inline to a few more methods.
This optimized vector keeps an initial fixed size storage but has
unbounded growth like a normal std::vector. It operates like a
FixedVector initially but then switches the storage to an allocated
pool when the element count exceeds the array limit.
This gives fast performance in the small case since no dynamic
allocation is needed. It also handles the "slow" big case.
Bug: angleproject:2763
Change-Id: Ib3cc7b652a14ed346528bf15820023ab0b5317ce
Reviewed-on: https://chromium-review.googlesource.com/1233453
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2ec817bb
|
2018-09-19T07:55:38
|
|
Remove writeResource down readPixels path
This is not needed and results in creating an empty command buffer.
Bug: angleproject:2818
Change-Id: I06e5542cb3cd819c18758c909b8fcb624b074874
Reviewed-on: https://chromium-review.googlesource.com/1232981
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
2c8f0845
|
2018-09-12T14:44:55
|
|
Add ANGLE_multiview_multisample
We add a novel multiview multisampling extension that includes the
requirement to explicitly resolve the multisampled framebuffer. The
explicit resolve is much more straightforward to implement on top of
OpenGL and D3D11 than implicit resolve found in the native extension
OVR_multiview_multisampled_render_to_texture. It also has predictable
performance characteristics.
The extension allows multiview drawing to 2D multisample texture
arrays and is now enabled on both the GL backend and the D3D11
backend. The implementation is fairly simple, as it involves just
small changes in validation to allow multisampled framebuffer
attachments. The multiview rendering logic is exactly the same
regardless of whether multisampling is enabled.
For the most part the same tests are used to test both multisampled
and non-multisampled rendering. The tests will use a different
framebuffer setup depending on the test param. They resolve the
multisampled framebuffer to a non-multisampled framebuffer prior to
any readbacks from the framebuffer.
Some of the tests are adjusted so that they have the correct sub-pixel
positioning of multisampled quads, so there won't be any pixels that
would be just partially covered.
The tests don't have any tolerance for partially covered pixels - if
we find any platforms where the tests run into a sub-pixel positioning
corner case, tolerance may need to be added later.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I590d7f300a92ea5439f2720d9db14a7976db2e1d
Reviewed-on: https://chromium-review.googlesource.com/1221214
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5c72f28d
|
2018-09-18T17:03:59
|
|
Remove unused include global_state.h from validationEGL.cpp.
Bug: angleproject:2825
Change-Id: I34a7c520d31cf0a9321d5599046159ef9bf58be5
Reviewed-on: https://chromium-review.googlesource.com/1232973
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dc8fb937
|
2018-09-19T01:35:59
|
|
Revert "Add FastVector for simple dynamic vector cases."
This reverts commit 4d45e7dc7553b071b0c2a054bdb59bfd844012fe.
Reason for revert: Memory leak detected during roll in https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/101750
Original change's description:
> Add FastVector for simple dynamic vector cases.
>
> This optimized vector keeps an initial fixed size storage but has
> unbounded growth like a normal std::vector. It operates like a
> FixedVector initially but then switches the storage to an allocated
> pool when the element count exceeds the array limit.
>
> This gives fast performance in the small case since no dynamic
> allocation is needed. It also handles the "slow" big case.
>
> Bug: angleproject:2763
> Change-Id: I9c002b205bd4ac9fc171d1fdc42bc8ea5fe8dabe
> Reviewed-on: https://chromium-review.googlesource.com/1227794
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: Iaec76244cc736a8469b80bfc8534fb0fd6c49e11
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2763
Reviewed-on: https://chromium-review.googlesource.com/1232978
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
99118c1c
|
2018-09-10T16:28:51
|
|
Improve dirtybits for compute
For D3D11 backend, dirtybits are used to sync and update state
for compute.
For GL backend, mProgramUniformBuffersDirty,
mProgramAtomicCounterBuffersDirty, mProgramImagesDirty are newly
applied.
Bug: angleproject:2814
Change-Id: Ia459ca26705b7c685179d64e0c934535bf16741f
Reviewed-on: https://chromium-review.googlesource.com/1215245
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
a155bacf
|
2018-08-16T15:26:39
|
|
ParallelCompile: Parallelize shader translation
This changes to construct a new ShHandle of compiler for each Shader,
and use it to translate the shader source in a background thread.
Bug: chromium:849576
Change-Id: Ib49952c7292321ee6aa1c5996f8f7927f40d8f04
Reviewed-on: https://chromium-review.googlesource.com/1177195
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4d45e7dc
|
2018-09-18T11:32:41
|
|
Add FastVector for simple dynamic vector cases.
This optimized vector keeps an initial fixed size storage but has
unbounded growth like a normal std::vector. It operates like a
FixedVector initially but then switches the storage to an allocated
pool when the element count exceeds the array limit.
This gives fast performance in the small case since no dynamic
allocation is needed. It also handles the "slow" big case.
Bug: angleproject:2763
Change-Id: I9c002b205bd4ac9fc171d1fdc42bc8ea5fe8dabe
Reviewed-on: https://chromium-review.googlesource.com/1227794
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
80efe08d
|
2018-09-18T06:38:07
|
|
Log Renderer string on Android displays.
This adds a custom logging step to DisplayAndroid and DisplayVkAndroid.
It's easiest to add to these two classes since we have no common info
logging code and other platforms may not want startup spam. It would
also be possible to put this into debug info hooks.
Bug: angleproject:2823
Change-Id: I12a1ea9e27880648d8a73a9e3faa56f318620cbe
Reviewed-on: https://chromium-review.googlesource.com/1230273
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fcfd3382
|
2018-09-15T22:30:50
|
|
More binding inlining.
Slight performance increase in binding related tests.
Bug: angleproject:2763
Change-Id: I4d14177adab678d596cd34b8f1b99f5309f017f0
Reviewed-on: https://chromium-review.googlesource.com/1227793
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0fdb956d
|
2018-09-17T17:18:43
|
|
Re-land "Inline and micro-optimize more for perf tests.""
Re-land fixes memory leaks.
Using a custom array instead of std::vector speeds up the resource
manager. One reason is because calls to size() are implemented in many
implementations as a difference between two pointers. This sub size
implementations are slower than storing a simple size variable in a
custom class.
Also includes more inlining of hot spots functions.
Also includes a small unit test class for ResourceMap. And an unrelated
but small test fix for TextureLimisTest. Also a small unrelated fix for
a Transform Feedback test.
Increase the scores of the draw call perf test with texture and buffer
bindings and the buffer binding perf test.
Bug: angleproject:2763
Change-Id: Ic2f0f689107b2bf05c63da2ed6bbc9f0feea63f7
Reviewed-on: https://chromium-review.googlesource.com/1229033
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
95277a30
|
2018-09-06T20:12:56
|
|
ES31: Add DispatchComputeIndirect support for D3D11
BUG=angleproject:2270
TEST=angle_end2end_tests.ComputeShaderTest.DispatchComputeIndirect/ES3_1_D3D11
Change-Id: I29bd888ce1e7e3e09b5635699a36164cd97cd7de
Reviewed-on: https://chromium-review.googlesource.com/1209563
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
89652a35
|
2018-09-17T17:18:30
|
|
Fix AndroidManifest package name
Cannot have package name with 'google' in it, it is not dependent
on Google, ANGLE is an open source project.
Bug=angleproject:2418
Change-Id: If69be10b2d60789d0cce30b631249927026c5c0e
Reviewed-on: https://chromium-review.googlesource.com/1229434
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
98a3e078
|
2018-09-17T19:40:04
|
|
Revert "Inline and micro-optimize more for perf tests."
This reverts commit 57ff6f95f143bd65a0c3d12d64773f274b9935f4.
Reason for revert: Memory leaks detected during roll in https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/100284
Original change's description:
> Inline and micro-optimize more for perf tests.
>
> Using a custom array instead of std::vector speeds up the resource
> manager. One reason is because calls to size() are implemented in many
> implementations as a difference between two pointers. This sub size
> implementations are slower than storing a simple size variable in a
> custom class.
>
> Also includes more inlining of hot spots functions.
>
> Also includes a small unit test class for ResourceMap. And an unrelated
> but small test fix for TextureLimisTest. Also a small unrelated fix for
> a Transform Feedback test.
>
> Increase the scores of the draw call perf test with texture and buffer
> bindings and the buffer binding perf test.
>
> Bug: angleproject:2763
> Change-Id: I41c327987db27ac45e6a62579f01e1cdc22e396c
> Reviewed-on: https://chromium-review.googlesource.com/1171510
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=fjhenigman@chromium.org,ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: Ie047289c9bf23a842c3cbb9692c811da0534991c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2763
Reviewed-on: https://chromium-review.googlesource.com/1228893
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a49f60fe
|
2018-08-20T16:03:06
|
|
D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers
Support for multisampled EGL surfaces was added in
151d5de (2017-04-13, "Enable MSAA for texture client buffers")
but the resolve step was missing because it was not needed for
EGL_ANGLE_d3d_texture_client_buffer. However, when using MSAA
with a regular EGL surface then resolving is required to get
an antialiased image.
Please note that the new test case CreateSurfaceWithMSAA does
actually not test the newly added resolve step because the
resolve is performed by the glReadPixels() call there.
So it is rather a general test if MSAA works for EGL surfaces.
TEST=angle_end2end_tests.EGLSurfaceTest.CreateSurfaceWithMSAA
Change-Id: Ieafd6877fa510d5e16c0d9c6872c31fa73efa86c
Reviewed-on: https://chromium-review.googlesource.com/1181138
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
57ff6f95
|
2018-09-14T12:44:52
|
|
Inline and micro-optimize more for perf tests.
Using a custom array instead of std::vector speeds up the resource
manager. One reason is because calls to size() are implemented in many
implementations as a difference between two pointers. This sub size
implementations are slower than storing a simple size variable in a
custom class.
Also includes more inlining of hot spots functions.
Also includes a small unit test class for ResourceMap. And an unrelated
but small test fix for TextureLimisTest. Also a small unrelated fix for
a Transform Feedback test.
Increase the scores of the draw call perf test with texture and buffer
bindings and the buffer binding perf test.
Bug: angleproject:2763
Change-Id: I41c327987db27ac45e6a62579f01e1cdc22e396c
Reviewed-on: https://chromium-review.googlesource.com/1171510
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bb2f2c43
|
2018-09-16T09:47:38
|
|
Squash State dirty bits for CHROMIUM_path_rendering
Currently we limit the maximum of State bits to 64 for performance
consideration. To accommodate new ES31 states, we have to pick and
squash some existing bits which are less hot.
Bug: angleproject:2814
Change-Id: I8fc19286bbf8d8273949da8d986a8b1587fa105e
Reviewed-on: https://chromium-review.googlesource.com/1227069
Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
017bda42
|
2018-09-14T18:11:50
|
|
Fix the ASSERT error
This change adds shader type checking before entering
initializeOutputVariables.
BUG: angleproject:2821
Change-Id: Ib931031f2fc187f1f2a1821a09664bbe172a5e90
Reviewed-on: https://chromium-review.googlesource.com/1226229
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
62114aae
|
2018-08-28T09:36:46
|
|
glBufferSubData: Exit early if size is zero
glBufferSubData is calling vkMapMemory with a size of zero is invalid.
Check for that and exit early if found.
Bug: angleproject:2790
Change-Id: I965badeb3aa2cec1adc24dd7ff5695f8aa3e553d
Reviewed-on: https://chromium-review.googlesource.com/1194610
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4230d484
|
2018-09-14T10:14:45
|
|
Finish fixing EGL enums.
This removes the temporary defines now that Chromium is up-to-date.
Bug: angleproject:2806
Change-Id: I8e3308d6b80e49c2b2a7a698ee5d8ad40f442475
Reviewed-on: https://chromium-review.googlesource.com/1227031
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3f3b358f
|
2018-09-14T10:38:44
|
|
Vulkan: Fix cube map attachment clears and readpixels.
These were both missing the correct layer offset. Cache the layer
inside the RenderTargetVk for easy access.
Bug: angleproject:2470
Change-Id: I690dbf0702d7ec52f44ba0a9429b6ef0e51baf6b
Reviewed-on: https://chromium-review.googlesource.com/1225910
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7f232939
|
2018-09-12T11:03:06
|
|
Run git cl format on several files.
Bug: angleproject:2763
Change-Id: Idcb8a714a6dccdff3dd953679e17a7314866a37d
Reviewed-on: https://chromium-review.googlesource.com/1214206
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
8a561914
|
2018-09-12T11:03:06
|
|
Pack SamplerState into small struct.
Is much faster for completeness cache checks in syncProgramTextures.
Bug: angleproject:2763
Change-Id: Iffdacbb8a4f6640caa5051643c379a7b4c3311b6
Reviewed-on: https://chromium-review.googlesource.com/1171508
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
097d3c0c
|
2018-09-12T11:03:05
|
|
Make SamplerState a contained class.
This will more easily allow us to use a cached completeness comparison
value. The cached value only gets updated on certain setters.
Bug: angleproject:2763
Change-Id: Ib80db8517560617087ae8360f7af69d6c2392b76
Reviewed-on: https://chromium-review.googlesource.com/1171507
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f0d258c3
|
2018-09-11T09:37:48
|
|
Vulkan: Emulate eglSwapBuffersWithDamage with full swap
Android expects to use eglSwapBuffersWithDamage so implement that
for Vulkan backend.
BUG=angleproject:2464
Change-Id: I8d599e70e6c8fee92b530d472dc97e3996630458
Reviewed-on: https://chromium-review.googlesource.com/1220066
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f4d429c1
|
2018-09-13T11:20:52
|
|
Fix EGL enum allocation.
The following enums had a small typo causing them to be takend from an
unused block:
EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE
EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM
EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE
Fix this by temporarily defining a secondary enum. Once Chromium is
fixed upstream we can remove the temporary enum.
Reported by dan.glastonbury@gmail.com.
Bug: angleproject:2806
Change-Id: I2ce1dec0a30d5e83f2bec0ae243fd860cbcea4fc
Reviewed-on: https://chromium-review.googlesource.com/1220371
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
17dff6d2
|
2018-09-13T12:03:51
|
|
Vulkan: Update LineLoopTest expectations.
One test was working but the suppression was not lifted. The other test
had no issue filed.
Bug: angleproject:2802
Change-Id: I88cd082b2edeca30ec4a8406809af749bb6ce152
Reviewed-on: https://chromium-review.googlesource.com/1200367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
16e28fd3
|
2018-09-12T11:03:05
|
|
More micro-optimization for draw call validation.
Mostly inlining checks on the hot draw call path.
Slight increase in draw call validation performance. (Up to 13%)
Bug: angleproject:2747
Change-Id: I34c4d7f412c3bca5e559e9bfb5689c0618bb7536
Reviewed-on: https://chromium-review.googlesource.com/1171506
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
526a6f6b
|
2018-09-12T11:03:05
|
|
Cache valid draw modes for draw calls.
This optimizes some of our dynamic switching. It uses packed enum maps.
Bug: angleproject:2747
Change-Id: Ibd2f9306d066f2fd9eb64c99a25668b7ba5c009c
Reviewed-on: https://chromium-review.googlesource.com/1171505
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
daab0014
|
2018-09-13T14:56:28
|
|
Test and fix robust resource init for multisampled textures
New test coverage for robust initialization of multisampled textures
is added in angle_end2end_tests. Some missing functionality that was
affecting the initialization of multisampled 2D array textures is now
fixed.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I1d9d3cd154ca2910159941fe8b1bef4ae6320bdd
Reviewed-on: https://chromium-review.googlesource.com/1224530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
44286dc8
|
2018-09-12T11:03:05
|
|
Allow an extra slot in PackedEnumMap.
This can be used for fast lookups with InvalidEnum. Will be useful
for optimizing valid primitive mode lookups.
Bug: angleproject:2747
Change-Id: I5d668863eb23d3c1eb85a775b3e9e46f25a0a335
Reviewed-on: https://chromium-review.googlesource.com/1171504
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
71bb0267
|
2018-09-12T11:09:42
|
|
Vulkan: Implement cube map render targets.
Each TextureVk now stores vectors of RenderTargetVks and ImageViews
associated with the image faces. They are initialized lazily when the
RenderTarget is queried in getAttachmentRenderTarget.
There's still one missing edge case for handling clear with the
Framebuffer when using cube maps. Also one additional test failure on
Android.
Bug: angleproject:2470
Change-Id: Ib959a3434a992cef010a11940cf2ee49e118ac17
Reviewed-on: https://chromium-review.googlesource.com/1220727
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0226041b
|
2018-09-12T18:10:25
|
|
Disable some deqp depth stencil on Android vulkan.
These are suspected of causing an out-of-memory failure.
BUG=angleproject:2655,angleproject:2549
Change-Id: I92bb4290c79ae8d7b572034666ec181c50c2a587
Reviewed-on: https://chromium-review.googlesource.com/1222370
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
efbabde2
|
2018-08-29T14:37:36
|
|
Support multisample array textures on D3D11
This implements complete support for multisample array textures on the
D3D11 backend. There's a specialized TextureD3D class as well as a
TextureStorage11 class for multisample array textures that have the
bulk of the functionality.
BUG=angleproject:2775
TEST=angle_end2end_tests, angle_deqp_gles31_tests
Change-Id: I68116635c01cef0e48c089fd9da05a844ef2d802
Reviewed-on: https://chromium-review.googlesource.com/1216003
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
85d8ee8c
|
2018-09-12T17:36:57
|
|
Revert "DEPS: Remove the need for angle_root."
This reverts commit e1777558143c6a9b14a113d7528d5e2693b0c6d9.
Reason for revert: Seems to break ANGLE roll for some reason. Reverting while it is investigated.
Bug: chromium:883135
Original change's description:
> DEPS: Remove the need for angle_root.
>
> BUG=
>
> Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
> Reviewed-on: https://chromium-review.googlesource.com/1219547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,cwallez@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I1330b216be34ce9dd9236b8e51a7a6cc578562d7
Reviewed-on: https://chromium-review.googlesource.com/1222366
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6c6be2ce
|
2018-09-10T14:23:57
|
|
Vulkan: add S8_UINT texture fallbacks.
Add two fallbacks for S8_UINT. Enable tests.
BUG=angleproject:2655
Change-Id: If7df23745a8de8a01d86ab6efa3bca67b5227d76
Reviewed-on: https://chromium-review.googlesource.com/1217282
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
8370e6bc
|
2018-09-11T17:56:23
|
|
Rename constant to kCubeFaceCount.
This corrects the naming style for this constant variable. Also updates
many usages in TextureD3D.cpp and TextureGL.cpp.
Bug: angleproject:2470
Change-Id: I029dd98e925cabf23a4bb26467a62afe6c5bb6e0
Reviewed-on: https://chromium-review.googlesource.com/1220726
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3b1fe64f
|
2018-09-04T13:15:35
|
|
Vulkan: allow a list of fallback formats.
Allow a list of fallback formats as well as a single one in the format
map. The first supported format is used. No functional change.
BUG=angleproject:2655
Change-Id: Ica312b7899471a7a65184a6921713b79da056f31
Reviewed-on: https://chromium-review.googlesource.com/1214847
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a59ae05b
|
2018-09-11T12:48:16
|
|
Fix compilation error and memory leak
Bug: angleproject:2794
Change-Id: Iaedf83aabef6813c023b97387b35510165cb831c
Reviewed-on: https://chromium-review.googlesource.com/1220370
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2da04538
|
2018-08-24T13:59:44
|
|
Add sampler2DMSArray support to HLSL output
This is done with small adjustments to TextureFunctionHLSL. Most of
the functionality was already in place before.
This changes the categorization of sampler types in BasicTypes.h
helper functions: 2D array samplers are no longer treated as 2D
samplers, but the two categories are now entirely disjoint. This
makes TextureFunctionHLSL a little bit simpler.
BUG=angleproject:2775
TEST=angle_unittests, angle_end2end_tests
Change-Id: I84d9b56c37b1aaa01ee5921b6f17f8a78698fce2
Reviewed-on: https://chromium-review.googlesource.com/1188562
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e1777558
|
2018-09-11T14:09:37
|
|
DEPS: Remove the need for angle_root.
BUG=
Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
Reviewed-on: https://chromium-review.googlesource.com/1219547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
0d0fb43f
|
2018-09-07T17:43:32
|
|
Pass unpack buffer as explicit parameter to texSubImage.
This allows us to override it in the incomplete texture init. Any
back-end that used incomplete textures was vulnerable to a bug where
the unpack buffer would be used to initialize the incomplete texture.
Bug: chromium:880906
Change-Id: Ica558e4a4d81de9212f0bc6619ccd812a048ad45
Reviewed-on: https://chromium-review.googlesource.com/1214207
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
63aa0e5b
|
2018-09-05T16:15:46
|
|
Fix 64-bit -> 32-bit implicit conversions in libangle.
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(910,63): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
const gl::ImageUnit &imageUnit = glState.getImageUnit(imageUnitIndex);
~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(914,30): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
bindImageTexture(imageUnitIndex, textureGL->getTextureID(), imageUnit.level,
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(920,30): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
bindImageTexture(imageUnitIndex, 0, imageUnit.level, imageUnit.layered, imageUnit.layer,
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp(1080,66): warning: implicit conversion loses integer precision: 'GLsizeiptr' (aka 'long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
glVertexAttribFormat(mTestAttrib, 1, GL_FLOAT, GL_FALSE, inputRelativeOffset);
~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
BUG=chromium:879657
Change-Id: Ic6e8e5ebc0dc5fd38c15a48a936ceafd5407bba8
Reviewed-on: https://chromium-review.googlesource.com/1208315
Commit-Queue: Will Harris <wfh@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8e9d2340
|
2018-09-10T13:29:37
|
|
Vulkan: Fix FragCoord scaling when a viewport is applied.
We were using the pivot based on the viewport dimensions which is
only valid if the viewport is the size of the framebuffer. The more
correct pivot size is actually based on the Framebuffer height.
Also updates the driver uniforms block to be a bit simpler.
Bug: angleproject:2598
Change-Id: I1cb500cded7141d10e8db6862b6ed29758cc7fb4
Reviewed-on: https://chromium-review.googlesource.com/1214205
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
480edb8c
|
2018-08-30T18:25:43
|
|
Clean up TextureStorage11_2DMultisample
This de-duplicates functionality from TextureStorage11_EGLImage and
TextureStorage11_2DMultisample. Neither of those supports changing the
associated images or image access in shaders.
Multisampled textures also cannot be compressed, so the size doesn't
need to be adjusted according to block size.
BUG=angleproject:2275
TEST=angle_end2end_tests
Change-Id: I45bc573584065bf4f528f883435fadfbd7281077
Reviewed-on: https://chromium-review.googlesource.com/1216002
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a735ee2f
|
2018-05-18T13:29:09
|
|
ES31: Support shader storage block in D3D11 compiler - Part1
This patch is the first step to implement a basic skeleton to translate
shader storage block to HLSL RWByteAddressBuffer.
In GLSL each shader storage block is just one structured block and in API side
it corresponds to a buffer range where stores the whole structure.
RWStructuredBuffer is an array-like object and can have many structured
elements. The structured element doesn't support unsized array and also have
a small limitation on the element size. So we choose RWByteAddressBuffer as
the counterpart of shader storage block in HLSL.
Due to RWByteAddressBuffer does not support using an index to reference a
specific location, we must use Load and Store to process the read/write
operation of a buffer variable. Moreover, in the compiler tree, since we
can't use variable name to get the resource value in RWByteAddressBuffer,
we have to calculate the offset of buffer variable in a shader storage block,
then call the corresponding wrapper function to get the right value.
In this patch, we only process below situations:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
The translation is like below:
// GLSL
#version 310 es
layout(local_size_x=8) in;
layout(std140, binding = 0) buffer blockA {
float f[8];
} instanceA;
layout(std140, binding = 1) buffer blockB {
float f[8];
};
void main()
{
float data = instanceA.f[gl_LocalInvocationIndex];
f[gl_LocalInvocationIndex] = data;
}
// HLSL
RWByteAddressBuffer _instanceA: register(u0);
RWByteAddressBuffer _blockB: register(u1);
float float_Load(RWByteAddressBuffer buffer, uint loc)
{
float result = asfloat(buffer.Load(loc));
return result;
}
void float_Store(RWByteAddressBuffer buffer, uint loc, float value)
{
buffer.Store(loc, asuint(value));
}
void gl_main()
{
float _data = float_Load(_instanceA, 0 + 16 * gl_LocalInvocationIndex);
float_Store(_blockB, 0 + 16 * gl_LocalInvocationIndex, _data);
}
We will do below things in the following patches:
1. Modify the intermediate tree to flatten all ssbo usages to:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
e.g.
intanceA.a +=1;
->tmp = intanceA.a;
intanceA.a = tmp + 1;
while(++instanceA.a < 16) {
}
->
int PreIncrement(out int a)
{
a += 1;
return a;
}
tmp = instanceA.a;
while(PreIncrement(tmp) < 16) {
instanceA.a = tmp
}
2. Add offset calculation for structure and array of arrays.
TODOs have been marked in the corresponding places in this patch.
3. Improve helper functions so that they can process all possible types.
TODOs have been marked in the corresponding places in this patch.
4. Process the swizzle situation.
TODOs have been marked in the corresponding places in this patch.
A possible method is to extend current helper functions like below:
*_Load(RWByteAddressBuffer buffer, uint loc, bool isSwizzle, uint4 swizzleOffset)
Bug: angleproject:1951
Test: angle_end2end_tests
Change-Id: I68ae68d5bb77d0d5627c8272627a7f689b8dc38b
Reviewed-on: https://chromium-review.googlesource.com/848215
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
1cee0421
|
2018-09-09T17:00:21
|
|
Suppress ...shaders.builtin_variable.fragcoord_w.
Suppress dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w on
Android Vulkan.
BUG=angleproject:2808
Change-Id: Ib2dcb83bef97352e6a169c0531e2316217d9149e
Reviewed-on: https://chromium-review.googlesource.com/1215382
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
3b968053
|
2018-09-05T14:46:25
|
|
Clean up state in EGLDebugTest.
Reset the EGL error callback for the benefit of following tests.
BUG=chromium:880495
Change-Id: Idd94fe032b89b8a0fe829cb4656e4204d9d71b53
Reviewed-on: https://chromium-review.googlesource.com/1208310
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|