|
39b5e771
|
2020-10-09T11:06:10
|
|
Vulkan: Fix vector size issue with clearWithCommand
gl::DrawBuffersVector was used to hold the clear values, but that didn't
have enough space for depth/stencil clear values if MAX draw buffers
where used and cleared.
The added test in this change exposes the vkCmdClearAttachment Qualcomm
bug (previously presumed to affect color clears only) with depth/stencil
buffers, so the workaround is expanded to avoid vkCmdClearAttachment
entirely.
Bug: b/159808300
Change-Id: I27c58d9b534bce0bdd27cc53fc64e139f1363c1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455166
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
bd0d3f9c
|
2020-10-13T12:50:10
|
|
Vulkan: Regression test for content defined of AHB images
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Ic5da615931f13e1ce34f486f163d4f28c8af9287
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468458
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
df8f71d1
|
2020-10-09T15:27:28
|
|
Vulkan: Don't break the render pass on scissored clears
clearImmediatelyWithRenderPassOp is removed and the draw path is used
for the scissor. That path was added to avoid creating a large number
of graphics pipelines due to the scissor state. This is now done by
using dynamic state for scissor in the draw path for clear.
Running the following dEQP tests without and with dynamic state for
scissor:
dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops.*
the number of graphics pipelines is reduced from 95392 to 16.
Bug: angleproject:4617
Bug: angleproject:4836
Change-Id: Ib373d8cd23ca2b67e6fd26aa2a1103f281f7e473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2463985
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
62bba4ae
|
2020-10-13T12:12:34
|
|
Vulkan: Regression test for content defined of external images
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Iedbe1dfc8562c4c28477bf6a5a298620fcd48a67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468457
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9580f3b4
|
2020-10-10T10:06:04
|
|
Test Runner: Accept GTEST shard environment vars.
This makes interoperation with Chromium tests easier. For instance when
triggering tests with scripts when using sharding. And also using the
run/ wrapper scripts instead of run_gtest_angle_test.
Bug: angleproject:5158
Change-Id: Ia5b1f94c02a081caf576615175791fff4e0d3fb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464030
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
707af6e5
|
2020-10-12T22:21:57
|
|
Suppress multisample "max samples" tests on Win/NV/GL.
These produce low memory warnings on Quadro when run multi-process.
Bug: angleproject:5162
Change-Id: Ibef3a8ea9119d923a538181387c30562d503bcb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2466782
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ad80b184
|
2020-10-13T17:15:59
|
|
Test Runner: List tests explicitly without GTest.
This dramatically speeds up Android shards that use batches of
hudreds of tests. Because ANGLE already has the test list, it no
longer needs to call GTest with an enourmous gtest_filter.
Bug: angleproject:5164
Change-Id: I28fee2f36c50006f2a35a4dcd90f44f8ebe4f78c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468464
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
426fa735
|
2020-10-13T11:51:50
|
|
Vulkan: Fix command reordering on release to external
When releasing buffer/image to external, the necessary barrier was
recorded on the "outside render pass command buffer". However, if the
resource was used in the current render pass, that render pass should
have closed before this, otherwise the barrier was reordered before it
which is incorrect.
Bug: chromium:1136367
Bug: chromium:1135792
Bug: angleproject:5002
Change-Id: I237d5e6bb46189a4ce61c2f4602e356955cc87a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468456
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d5296d99
|
2020-10-13T12:45:25
|
|
Update IsARM64
Updates IsARM64 to return true if __aarch64__ is defined, as the current
check only using _M_ARM64 only evaluates to true on Windows platforms.
Bug: chromium:1132295
Change-Id: I4853012e077217162ee3439c17fe35dcc6157e71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468787
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9e6bfaff
|
2020-10-13T14:32:08
|
|
Broaden Clear test failure to all OSX.
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES2_OpenGL
Fails on AMD and all vendors.
Bug: angleproject:5165
Change-Id: Id98c14a695cd9b3dd0c5f57d77932908833f9406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468357
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4c6b4794
|
2020-10-12T12:37:29
|
|
Vulkan: TexSubImage3D using PBO should use correct layerCount
The layerCount for 3D texture and 2DArray should be 1 if it does not
have layers.
Bug: b/170657065
Change-Id: I974ddda7c0eaa92da8033f15c682820e3d4eb32a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2466616
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
336202d7
|
2020-10-09T16:43:32
|
|
Test Runner: Pass batch ID to child processes.
This will let both the ANGLETest and dEQP test runners handle child
processes correctly. The existing ANGLETest runner will reuse displays,
and the dEQP test runner will write to a batch-unique filename.
This solves the problem of the multi-process --bot-mode writing to the
same file from multiple children simultaneously.
Long-term it will be good to include the dEQP QPA files into the test
artifacts.
Also disables flushing after every log write when running as a child
process. This hugely improves performance on machines with no SSD.
Test: https://chromium-swarm.appspot.com/task?id=4f2b87c4f8234910
Bug: angleproject:5157
Change-Id: I226d24adf55e0f8b98e5a8e7947862e6906b4c40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464424
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
68bd685a
|
2020-10-10T22:58:41
|
|
Reland: "4 Vulkan content defined CLs."
Reland "Vulkan: Avoid content restore by detecting no-op stencil"
This relands commit 243d0f899e443cd931c78aba7489382dff79edbb.
Reland "Vulkan: Restore at the end of RP if write-after-invalidate"
This relands commit e5d52ac3b9a00656acdd912ee8cd62dd14784075.
Reland "Vulkan: Invalidate/restore depth/stencil separately."
This relands commit 61fa0878964a796f6d3b3c13bc3a3849403ecdbd.
Reland "Vulkan: Move content-defined tracking to ImageHelper"
This relands commit 2392e6b34c0ddfbfd7b4c3cb67323ba463e11a57.
Reason for revert: Caused crashes in Fuchsia x64 and on ARM.
Reland fixes content defined for external images.
Original CL message:
Content-defined tracking was done in render targets prior to this
change. This had multiple drawbacks:
- When a framebuffer attachment is changed (including the first time
it's set), it's unknown whether the contents of the attachment is
defined.
- Invalidate takes effect at the end of render pass, at which point the
render target objects may be gone. Attachment ImageHelpers are
however correctly tracked.
This change moves content-defined tracking to the ImageHelper itself,
and tracks it per subresource. ImageHelper::onWrite() now receives the
subresource that is being written, and marks it as having defined
content.
A future optimization can make use of this change to
ImageHelper::onWrite to track "dirty" subresources. This can lead to
the removal of unnecessary barriers when same-kind writes are done on
different subresources of the image. See http://anglebug.com/3347#c15
Bug: b/167275320
Bug: angleproject:4836
Bug: angleproject:5159
Change-Id: If5c1ae7152657fd7c94db7d55bea4fb9ddf835ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464825
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6b1c17b
|
2020-10-10T14:29:15
|
|
Revert 4 Vulkan content defined CLs.
Revert "Vulkan: Avoid content restore by detecting no-op stencil"
This reverts commit 243d0f899e443cd931c78aba7489382dff79edbb.
Revert "Vulkan: Restore at the end of RP if write-after-invalidate"
This reverts commit e5d52ac3b9a00656acdd912ee8cd62dd14784075.
Revert "Vulkan: Invalidate/restore depth/stencil separately."
This reverts commit 61fa0878964a796f6d3b3c13bc3a3849403ecdbd.
Revert "Vulkan: Move content-defined tracking to ImageHelper"
This reverts commit 2392e6b34c0ddfbfd7b4c3cb67323ba463e11a57.
Causes crashes in Fuchsia x64 and on ARM.
Original CL message:
Content-defined tracking was done in render targets prior to this
change. This had multiple drawbacks:
- When a framebuffer attachment is changed (including the first time
it's set), it's unknown whether the contents of the attachment is
defined.
- Invalidate takes effect at the end of render pass, at which point the
render target objects may be gone. Attachment ImageHelpers are
however correctly tracked.
This change moves content-defined tracking to the ImageHelper itself,
and tracks it per subresource. ImageHelper::onWrite() now receives the
subresource that is being written, and marks it as having defined
content.
A future optimization can make use of this change to
ImageHelper::onWrite to track "dirty" subresources. This can lead to
the removal of unnecessary barriers when same-kind writes are done on
different subresources of the image. See http://anglebug.com/3347#c15
Bug: b/167275320
Bug: angleproject:4836
Bug: angleproject:5159
Change-Id: I93d9dfe973caa7ce70aefa46b5b7d04a8637efb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f3f80036
|
2020-10-10T11:08:55
|
|
Suppress more tests on Intel/GL/Mac.
These tests crash/fail when reusing EGL Displays.
Bug: angleproject:4992
Change-Id: I72dd61543cb055130836428751167e7528cf55af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464722
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
243d0f89
|
2020-10-08T21:54:45
|
|
Vulkan: Avoid content restore by detecting no-op stencil
Previously, as long as stencil was enabled, it was considered that it is
also being modified. This caused stencil invalidate to be undone in a
number of situations, such as:
- glEnable(GL_STENCIL_TEST); // with func/ops default
- glDrawArrays();
- glInvalidateFramebuffer([GL_STENCIL_ATTACHMENT]);
- glClear(GL_DEPTH_BUFFER_BIT);
- Close render pass
In the above scenario, invalidation of stencil was undone at the end of
render pass.
In this change, the following cases are considered read-only stencil:
- Func = GL_NEVER, stencilFail = GL_KEEP
- Func = GL_ALWAYS, stencilPassDepth* = GL_KEEP
- stencilFail = GL_KEEP, stencilPassDepth* = GL_KEEP
Note that while the above scenario is fixed for no-op stencil, a similar
issue persists if stencil was not no-op. The reason stencil invalidate
is undone in that case is due to the fact that it's assumed any command
after the invalidate call will be a draw call that outputs to stencil,
but that is not the case with the glClear call in this example.
Bug: angleproject:4836
Change-Id: Ie2ea2d52b7c8ee2394f5456773a7ef434e2b2b16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461465
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
6c1c3bd9
|
2020-10-09T11:46:04
|
|
Vulkan: Clear depth by shader if depthClamp not supported
This will avoid breaking the render pass when clearing depth through
clearWithDraw if the depthClamp Vulkan feature is not present.
Bug: angleproject:4836
Change-Id: I845fd5074dd95f6896da89f9e119ebc5000a5688
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462719
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e5d52ac3
|
2020-10-08T14:26:22
|
|
Vulkan: Restore at the end of RP if write-after-invalidate
If a depth/stencil attachment is invalidated, but subsequently drawn to
in the same render pass, undo the invalidate when the render pass is
closed. Adapted from
https://chromium-review.googlesource.com/c/angle/angle/+/2386478.
Bug: b/167275320
Bug: angleproject:4836
Change-Id: I17a35bfd692ddc403ceaa6ec44b5c4f16ff9eed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461464
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
f8070feb
|
2020-10-09T11:03:29
|
|
Vulkan: Use depthClamp to clear depth where available
This will avoid breaking render pass if clearing depth in clearWithDraw.
Bug: angleproject:4836
Change-Id: I50242d1115efc91059923143f6ae5fd25fb3d36f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462717
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
61fa0878
|
2020-10-08T11:35:48
|
|
Vulkan: Invalidate/restore depth/stencil separately.
Depth/stencil content defined is already tracked separately in the
ImageHelper. This change exposes this tracking from RenderTargetVk.
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Ie6520e7a4ab557eb233c60c6ab0d4a8f8f098bf6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462039
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
5081f89b
|
2020-10-02T01:15:37
|
|
Vulkan: Support invalidate of MSRTT attachments
Invalidate was previously affecting only the storeOp of the color and
depth/stencil attachments. With multisampled-render-to-texture
attachments, the storeOp of the resolve attachments were not being
affected.
This change implements the latter, attempting to remove the attachment
altogether if possible. With MSRTT depth/stencil buffers, this makes
possible the ability to never write depth/stencil data to memory.
Bug: angleproject:4836
Change-Id: I53599e2f4ed6c390dfd03bf226274f6f53f438bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437506
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a3d5a6e3
|
2020-10-07T15:03:40
|
|
Vulkan: Call onColorDraw in resolveColorWithSubpass
We are currently calling onImageRenderPassWrite() on the read render
target within resolveColorWithSubpass(). We need to instead call
onColorDraw() on the draw render target, since that's what's actually
being written.
Bug: b/159903491
Test: CQ
Change-Id: I577381d91228e132950455d2e872fbb9b066d0c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2458850
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
2392e6b3
|
2020-10-07T23:59:43
|
|
Vulkan: Move content-defined tracking to ImageHelper
Content-defined tracking was done in render targets prior to this
change. This had multiple drawbacks:
- When a framebuffer attachment is changed (including the first time
it's set), it's unknown whether the contents of the attachment is
defined.
- Invalidate takes effect at the end of render pass, at which point the
render target objects may be gone. Attachment ImageHelpers are
however correctly tracked.
This change moves content-defined tracking to the ImageHelper itself,
and tracks it per subresource. ImageHelper::onWrite() now receives the
subresource that is being written, and marks it as having defined
content.
A future optimization can make use of this change to
ImageHelper::onWrite to track "dirty" subresources. This can lead to
the removal of unnecessary barriers when same-kind writes are done on
different subresources of the image. See http://anglebug.com/3347#c15
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Iabd1dace4eae9eb379453a9eb7ec6eafc9db1aef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462036
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
b2ff69f8
|
2020-10-09T08:54:00
|
|
Suppress Mac/GL test failures with standalone runner.
These tests fail when run in certain orders with display reusei
on the bots. See issues for list of suppressed tests.
Bug: angleproject:5154
Bug: angleproject:5153
Change-Id: I1b4a523ba000785f4f8c26eeb236c518481ed7af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462715
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e0780931
|
2020-10-08T17:57:47
|
|
Suppress gl_test failures on Mac ARM64 (Apple DTK)
BuiltinVariableFragDepthClampingFloatRBOTest.Below1/ES3_OpenGL
CopyTexImageTest.DeleteAfterCopyingToTextures/ES2_OpenGL
GLSLTest.MaxVaryingVec2Arrays/ES2_Metal
GLSLTest.MaxVaryingVec3ArrayAndOneFloatArray/ES2_Metal
GLSLTest.MoreNestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES3_OpenGL
MipmapTestES3.BaseLevelTextureBug/ES3_OpenGL
MipmapTestES3.GenerateMipmapBaseLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapCubeBaseLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapMaxLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapPreservesOutOfRangeMips/ES3_OpenGL
OcclusionQueriesTest.MultiQueries/ES2_Metal
Texture2DBaseMaxTestES3.GenerateMipmapAfterRedefineAndRebase/ES3_OpenGL
Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_Metal
Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_OpenGL
Texture2DFloatTestES2.TextureFloatLinearTest/ES2_Metal
Texture2DFloatTestES2.TextureFloatLinearTest/ES2_OpenGL
Texture2DFloatTestES3.TextureFloatLinearLegacyTest/ES3_OpenGL
Texture2DFloatTestES3.TextureFloatLinearTest/ES3_OpenGL
TimerQueriesTest.TimeElapsed/ES3_OpenGL
TimerQueriesTest.TimeElapsedMulticontextTest/ES3_OpenGL
WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES2_OpenGL
WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES3_OpenGL
Bug: chromium:1132295
Change-Id: If64dc67275063c8046dbc941d92de273fbc226e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461674
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f8117992
|
2020-10-08T14:53:53
|
|
Suppress TransformFeedbackTest.RecordAndDrawWithScissorTest
TransformFeedbackTest.RecordAndDrawWithScissorTest is flaky on
"Mac Pro FYI Release (AMD)", so suppressing for now.
Bug: chromium:1135841
Test: TransformFeedbackTest.RecordAndDrawWithScissorTest
Change-Id: If610d7868950d1e2663c52b5194f6065a5900525
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461455
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
887b1346
|
2020-10-02T01:12:01
|
|
Vulkan: Add resolve/unresolve counters
With this change, render-pass-related counters are calculated at render
pass creation time and stored alongside the render pass handle (and
serial) in the render pass cache. On every use, the render pass'
counters are accumulated over the global counters.
Additionally, this change adds MSRTT resolve and unresolve counters to
render pass counters.
Bug: angleproject:4836
Change-Id: If15a789e5a7d66c7ea5a2315bc76fe045ce57491
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444099
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6dfd855a
|
2020-03-25T03:02:08
|
|
Metal: Implement fence sync
Bug: angleproject:2634
Change-Id: If1f7bb12c0e661c8e4b5677798a92440995819e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433325
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1a87f1f0
|
2020-10-06T17:15:34
|
|
Add a test for deferred clears and 0-sized scissor clears
The Vulkan backend no-ops such clears before flushing deferred clears.
Deferred clears are actually not gathered when doing a scissored clear,
so this is not an issue. An ASSERT is added along with a regression
test.
Bug: angleproject:4836
Change-Id: I5ea5bab499ced41e13023ffb6b821e3caefb9ab2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453466
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
a21ef78c
|
2020-10-07T15:49:38
|
|
Skip GLES1ConformanceTest.SpotExpDir for Win+Vulkan
The test GLES1ConformanceTest.SpotExpDir/ES1_Vulkan is failing on
Win7/10 on AMD/Nvidia. This will suppress the failure while we
investigate the issue.
Bug: chromium:1136238
Test: GLES1ConformanceTest.SpotExpDir/ES1_Vulkan
Change-Id: I16d08c741b46f88f59bc2a182ed06fbb91fdb61f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2458693
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
8af9ef3b
|
2020-10-06T10:59:07
|
|
Add emulated format clear perf test
Bug: angleproject:4836
Change-Id: If900d288630ba5fbf82b8b1ce2ccab681cfc50c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451481
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d5fa6ea9
|
2020-04-29T04:13:54
|
|
Vulkan: Implement OES_draw_buffers_indexed
Bug: angleproject:4394
Change-Id: I7db9c695c233b2daf740acc654b1b2e546a8b681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172739
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a22a19a4
|
2020-10-04T13:16:46
|
|
Add a --no-finish option to the perf tests.
We can use this to re-capture replays.
Bug: angleproject:5134
Change-Id: I765e0bbb66cfdd822ffa981f2b5533157d024cac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449161
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
974c2371
|
2020-10-04T12:22:38
|
|
Perf Tests: Run at least 1 step.
We could end up in some very slow scenes (e.g. when debugging). This
could produce a step count of zero which doesn't make sense. Noticed
while capturing the T-Rex replay.
Bug: angleproject:5134
Change-Id: Ibf2439961dfb3c01649dcab37acead7b6e2ab345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449160
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
0faa4a3d
|
2020-09-19T00:12:35
|
|
Add BlendIntegerTest.MRT
Bug: angleproject:5071
Bug: angleproject:5125
Bug: angleproject:5126
Change-Id: I58539ae721efa6bcaff04c52cb8137b303d3db1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2418716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
23624c53
|
2020-10-05T21:07:02
|
|
Test Runner: More docs.
Bug: angleproject:3162
Change-Id: I5b282d7815973cef9f7e029bc3c65cf42729e009
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451596
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d3aa1e9c
|
2020-10-03T01:31:33
|
|
Test Runner: Pass dEQP args to child processes.
This fixes the sharding to use the specified back-end. With
the bug ANGLE would start the platform default back-end instead.
Bug: angleproject:3162
Change-Id: Ib2453dd3c58ea40fb36619301865ae0818038d15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447043
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f0d9471c
|
2020-10-02T23:51:57
|
|
Test Runner: More misc improvements.
- reduces default batch size from 1000 -> 256
- reduces default max processes to a max of 16
- stripes tests when in bot mode
- prints less spam when waiting for child processes
The striping and smaller batch size can help with slow tests.
The max process limit seemed to prevent errors on Linux.
Bug: angleproject:3162
Change-Id: Ibed89ca35db54c62ec8ed63b32bc5aed916faec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447037
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7004523a
|
2020-10-02T23:51:57
|
|
KHR_debug: Fix off-by-one message length.
The dEQP tests were timing out due to the "get message" call skipping
messages. The get call had a bufSize that ANGLE was rejecting as too
small because it didn't include the null terminator. The dEQP test
would pass but would always take ten seconds. I noticed this when
debugging the ANGLE test launcher and seeing batch timeouts.
Bug: angleproject:5130
Change-Id: Ie9f949218590b98a11f6c10b1f86074e90dbca17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447039
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9214fc18
|
2020-10-05T17:53:48
|
|
Suppress failing Mac GL dEQP-GLES3 tests.
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.stencil_index8
dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil.stencil_index8
dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth.stencil_index8
Bug: angleproject:5136
Change-Id: I3e534df7312f173716952adc7ef24ac052914308
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451317
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
be73728d
|
2020-10-03T17:52:25
|
|
Improve capture replay tests.
Removes the custom logger class and uses the python logging class.
Moves the argument descriptions into argparse help.
Keep build directories around by default. Essential for normal use.
Print more debug messages.
Bug: angleproject:5133
Change-Id: Ida48828512abe60ee7d16873cbdb87c58529a60a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446898
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
0ff24ae0
|
2020-10-05T14:54:31
|
|
Suppress failing Mac GL dEQP tests.
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.stencil_index8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.stencil_index8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.stencil_index8
Bug: angleproject:5136
Change-Id: I787bf4505a5c10d47fa669423df8a7510e28bcab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2450916
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
61b13f8f
|
2020-09-30T16:29:04
|
|
Tests: Update two traces, remove one
* Update candy_crush and temple_run to use more recent
capture headers.
* Remove subway_surfer because the app no longer uses
GLES. Its Unity backend now runs Vulkan, so we can't
re-record it.
Test: angle_perftests --gtest_filter="*Trace*"
Bug: angleproject:4845
Change-Id: I9d219f2be05813c50b31287a65bfc099787d114c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441851
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
23825b12
|
2020-10-02T16:32:32
|
|
Test Runner: Set interrupted to 'false' normally.
The bug here was to output 'interrupted: true' when running
in --bot-mode. Instead in normal execution we will output
that we were not interrupted.
Bug: angleproject:3162
Bug: chromium:1134619
Change-Id: I3842e90466473ff05b0b90bc4660f88606a3c9f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446851
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c488f0c9
|
2020-10-02T16:23:08
|
|
Suppress flaky test on Win/Intel/GL.
CopyTextureTestES3.ES3UnormFormats/ES3_OpenGL
Bug: angleproject:5127
Change-Id: I93628beb92b8d9b4d8c6f70b32d15ed9add54667
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
513095e9
|
2020-10-02T11:47:19
|
|
Disable AMD OpenGL testing on Windows ANGLE tests.
Our current CI testing for AMD is quite out-of-date and unsupported.
If necessary we could skip based on a GPU device ID.
Bug: angleproject:5123
Change-Id: Idf919a330aa9903ad80aba38f745d4a35d1b501e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446092
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c6dc9d73
|
2020-09-19T20:09:34
|
|
Vulkan: Add a test and fix the bug with draw/invalidate/clear
This adds a test that does draw with depth enabled, then disable depth
test but with depth mask still enabled. Then invalidate framebuffer and
followed by a clear. That clear will go down clearWithCommand path and
should still work and data stored.
Bug: b/169590459
Change-Id: I6dd30d6a1e12ad7820d98fe79445c336cfa3a643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422081
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
e9a82849
|
2020-10-02T11:29:44
|
|
Skip ResizeWindowWithDraw test on all Linux.
Flakes on NVIDIA Linux as well when run in certain orders.
Bug: angleproject:4453
Change-Id: I7565b7868518d01d5e928ce95d0edb8abd651e28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446091
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a2d9abef
|
2020-10-01T16:28:59
|
|
Vulkan: Add OES_sample_shading extension entry points
Addition of just the entry points for OES_sample_shading extension.
Bug: angleproject:3587
Change-Id: I7ef5ceb846d130c2d1e0b4ea7dcbe92452b5d7d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444212
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2f3d18f2
|
2020-10-01T05:58:44
|
|
Vulkan: Fix unresolve disagreement between FB and RP
FramebufferVk::updateRenderPass reset the render pass description, but
not the framebuffer description. This caused a disagreement between the
two regarding which attachments need to be unresolved. Later,
FramebufferVk::startNewRenderPass could miscalculate whether a new
framebuffer needs to be generated based on changes in unresolve
attachments.
For example:
- say in the first render pass color needs to be unresolved. Both RP
and FB desc would remember this (each being keys for their respective
caches).
- A following operation triggers syncState such that FB desc changes
(for example rebind of attachment), which cleared RP desc but not FB
desc's unresolve attachment state.
- If the next render pass does not require an unresolve (for example due
to a clear or invalidate), then the framebuffer is not recreated
because according to RP desc at the start and end of
FramebufferVk::startNewRenderPass there has been no change in
unresolve mask.
* At start there's no unresolve because of syncState clearing it.
* At end there's no unresolve because there's no need for unresolve.
- In the end, the framebuffer used for the first render pass would be
used for the second render pass as well. Note that:
* The first render pass included an unresolve, i.e. two subpasses.
* The second render pass requires one subpass according to its RP
desc.
It's quite easy to accidentally have the framebuffer correctly recreated
(based on the reset RP desc) before FramebufferVk::startNewRenderPass.
Note that since syncState has called updateRenderPass, FB desc has
necessarily changed, and mFramebuffer is nullptr, so any call to
FramebufferVk::getFramebuffer would recreate the framebuffer.
Both clear and invalidate call FramebufferVk::getFramebuffer.
The issue is reproducible in situations where clear/invalidate has been
called before the framebuffer is modified, and then draw is issued after
the modification. An ASSERT is added to catch discrepencies between RP
desc and FB desc to catch bugs even when the issue doesn't manifest
itself as a VVL error.
Bug: angleproject:4836
Change-Id: I8a0d116402a6c298377d03e0908baa942019ccd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1fd3e5d8
|
2020-10-01T10:00:18
|
|
Test Runner: Fix race in watchdog timeouts.
This fixes a TSAN warning that popped up with the standalone test
runner. The watchdog timer actually was never started so timeouts
were not working as intended. It also switches the timeout mode
to call _Exit which skips all the atexit handlers and avoids some
races on teardown. This change also speeds up the TestSuiteTest.
Also a small fix to GetTempDir that was including an extra path
separator on Windows.
Bug: angleproject:3162
Bug: angleproject:5117
Change-Id: I0e7880a08b61bbb6e30c65665d5c0acec2d78db2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01641c7a
|
2020-09-30T15:25:28
|
|
Vulkan: Fix UtilsVk clear in non-zero subpass
Mid-render-pass clears (through UtilsVk) run on the current subpass,
which in the presence of multisampled-render-to-texture unresolve
would be subpass 1. The graphics pipeline for that draw call should
set the correct subpass index.
Bug: angleproject:4836
Change-Id: Iba4a03ea96a63b0f5d09c27e5283ff8a8b534e05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441509
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eb1df14b
|
2020-10-01T16:25:33
|
|
Suppress MultisampledRenderToTextureBenchmark on Pixel2/GLES
This test started failing, but we don't care about performance on
GLES so we can suppress it for now.
Bug: angleproject:5120
Change-Id: If5eb865956ee5fb6f798d110d42e3493294bc18e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443590
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a8872e6d
|
2020-10-01T15:54:25
|
|
Skip MSRTT tests on Nvidia/Windows7
These bots don't have VK_EXT_depth_stencil_resolve.
Bug: chromium:1134286
Change-Id: I4cc5a627996139bf03dc3cc334435d08876a0a8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443584
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6136cbcb
|
2020-09-23T21:31:05
|
|
Metal: Implement transform feedback
- XFB is currently emulated by writing to storage buffers.
- Metal doesn't allow vertex shader to both write to storage buffers and
to stage output (i.e clip position). So if GL_RASTERIZER_DISCARD is
NOT enabled, the draw with XFB enabled will have 2 passes:
+ First pass: vertex shader writes to XFB buffers + not write to stage
output + disable rasterizer.
+ Second pass: vertex shader writes to stage output (i.e.
[[position]]) + enable rasterizer. If GL_RASTERIZER_DISCARD is
enabled, the second pass is omitted.
+ This effectively executes the same vertex shader twice. TODO:
possible improvement is writing vertex outputs to buffer in first
pass then re-use that buffer as input for second pass which has a
passthrough vertex shader.
- If GL_RASTERIZER_DISCARD is enabled, and XFB is enabled:
+ Only first pass above will be executed, and the render pass will use
an empty 1x1 texture attachment since rasterization is not needed.
- If GL_RASTERIZER_DISCARD is enabled, but XFB is NOT enabled:
+ we still enable Metal rasterizer.
+ but vertex shader must emulate the discard by writing gl_Position =
(-3, -3, -3, 1). This effectively moves the vertex out of clip
space's visible area.
+ This is because GLSL still allows vertex shader to write to stage
output when rasterizer is disabled. However, Metal doesn't allow
that. In Metal, if rasterizer is disabled, then vertex shader must
not write to stage output.
- See src/libANGLE/renderer/metal/doc/TransformFeedback.md for more
details.
Bug: angleproject:2634
Change-Id: I6c700e031052560326b7f660ee7597202d38e6aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408594
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
11d94d86
|
2020-09-23T15:16:19
|
|
Integrate Skia Gold with restricted trace tests.
The implementation is based heavily on the Chromium Skia Gold
Python classes in //build/skia_gold_common .
Results will be visible here: https://angle-gold.skia.org/
Currently results are not visible until this CL lands.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I7a5d64fe35583ad7ea6360804a0f6b72cd9f6d8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8e5b97e
|
2020-09-28T23:31:41
|
|
Additional perf test cleanup & functionality.
Adds several new command line arguments and documents all args in the
README. Changes the trace tests to output milliseconds.
Bug: b/169600938
Change-Id: Ie8c7840a6a8958951992c806979dde6dc7d8a709
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438194
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
43163491
|
2020-09-22T11:45:06
|
|
Vulkan: Unresolve depth/stencil MSRTT attachments
Using the same shader that unresolves color, this change allows
depth/stencil to be unresolved as well.
In turn, this allows the depth and stencil loadOp/storeOp of the
implicit multisampled image associated with a
multisampled-render-to-texture renderbuffer to be set to DONT_CARE.
Stencil unresolve depends on VK_EXT_shader_stencil_export. In the
absence of this extension, the stencil aspect is not unresolved and must
continue to use loadOp=LOAD and storeOp=STORE. This is not ideal, but
the expected use-case of depth/stencil MSRTT renderbuffers is that they
get invalidated, so that load and store wouldn't happen in practice.
Bug: angleproject:4836
Change-Id: I9939d1e15e10fa8ed285acdd6fe6edb42c59054f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427049
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74ed9b65
|
2020-09-16T16:50:31
|
|
Support EXT_color_buffer_half_float on WebGL 2.0 contexts
EXT_color_buffer_half_float was recently updated to be valid for
WebGL 2 contexts because iOS can't support EXT_color_buffer_float.
Bug: angleproject:5038
Change-Id: Ib0d35c6b26a6cd215ff6725e92c47d1efd64e048
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415187
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
6e36029d
|
2020-09-28T21:57:08
|
|
Disable Mock ICD perf tests on Android.
Bug: angleproject:5084
Change-Id: Iafff2adbd8bfc2844c43ca31329f3f8be1250631
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438193
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2663e601
|
2020-09-24T18:28:31
|
|
Vulkan: Dynamically grow descriptor pool sizes
Initial testing using benchmarks shows that the majority of the
descriptor pools allocate fewer than 32 descriptor sets worth of
descriptors. This CL reduces the initial size of each pool from 128 to
32 to reduce memory consumption.
Additionally, when a pool is exhausted and a new one is created, the
size of the pool doubles each time, up to a max of 512 descriptor sets
worth of descriptors. This allows us to aggressively increase the size
of the pools that appear to be very hot and decrease the total number of
pools created.
Bug: angleproject:5067
Test: CQ
Change-Id: I190059cf04134902d6251d475dd908c1cbb82b58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430193
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
19e9df68
|
2020-09-23T23:37:17
|
|
Re-land "Add a small unit test that dumps system info."
Re-land fixes the GL APIs accidentally leaking into the test.
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I1481fee14ed8c573f10164d74ec27701e1ad80ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433090
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88dd1a59
|
2020-09-26T18:21:19
|
|
Revert "Add a small unit test that dumps system info."
This reverts commit 52ee81cfdc13d3f44c1b5db041b14f236c57188c.
Reason for revert: Causes build failure on Android (https://ci.chromium.org/b/8868097753228061152), and is blocking ANGLE roll (crrev.com/c/2433419)
Original change's description:
> Add a small unit test that dumps system info.
>
> We can use this in the trace gold tests to identify system properties.
> The test uses Vulkan info collection when available and dumps out the
> known GPU info as JSON.
>
> Bug: angleproject:4090
> Bug: b/168049670
> Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
TBR=cnorthrop@google.com,jmadill@chromium.org
Change-Id: I2b87c323c896be67aa9fbee2cad980927d551d7f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4090
Bug: b/168049670
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433089
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2d9e682
|
2020-09-15T16:06:42
|
|
Vulkan: Use DepthStencilReadOnly when it is read only.
We are tracking depth and stencil read or write during the renderpass.
We can use that to switch to DepthStencilReadOnly layout if both depth
and stencil are not writing. This allows drivers to optimize out the
storeOp for the renderpass.
Bug: b/168953278
Change-Id: Id82e06b4bae1ae8c83d880bb5e58accfa61f8191
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2411336
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
52ee81cf
|
2020-09-23T23:37:17
|
|
Add a small unit test that dumps system info.
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
32ed3e71
|
2020-09-21T23:42:34
|
|
Vulkan: Make UtilsVk not contribute to occlusion queries
UtilsVk implements some functionality with draw calls. Of these draw
calls, clear was accidentally contributing to occlusion query results.
Additionally, the copyImage utility creates its own framebuffer and thus
directly creates a render pass, bypassing ContextVk::startRenderPass.
This change also fixes bugs where occlusion query handling assumed
mRenderPassCommandBuffer to be valid and correspond to the started
render pass command buffer, which is not true for the copyImage render
pass.
Bug: angleproject:5042
Change-Id: I19cdbb8fbeabf139791b314a6da265ac5cfd68e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423209
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
353b7bdd
|
2020-09-25T16:56:29
|
|
Skip BootAnimationTest.DefaultBootAnimation on Win NVIDIA Vulkan
Flaky fails and leads to hangs on GTX 1660 with 456.38 driver.
Bug: angleproject:5085
Change-Id: Id95b1784e484694b96ba9fc7ce084b30951c260a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432625
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
001c7e8c
|
2020-09-21T13:25:46
|
|
Vulkan: Link PPO during draw validation
From the OpenGL ES 3.1 spec:
11.1.3.11 Validation
It is not always possible to determine at link time if a program object
can execute successfully, given that LinkProgram can not know the state
of the remainder of the pipeline. Therefore validation is done when the
first rendering command which triggers shader invocations is issued, to
determine if the set of active program objects can be executed.
For draws, this CL moves the PPO link operation to ValidateDrawStates()
to generate PPO link failures within ANGLE's validation layer, so we
fail any rendering commands during command validation.
For dispatch, PPOs are linked during Context::prepareForDispatch(),
where the PPO is converted from draw to compute, since that conversion
requires a re-link. This re-link shouldn't fail due to errors that would
have been caught during validation, since the compute shader must have
successfully linked before it can be included in the PPO in the first
place. We don't re-link when converting back to draw, since it's
possible there are validation errors (which we want to catch during
validation of the next rendering command).
Bug: angleproject:5064
Test: dEQP.GLES31/functional_separate_shader_validation_es31_*
Test: ContextNoErrorTest31.DrawWithPPO
Test: ProgramPipelineTest31.VerifyPpoLinkErrorSignalledCorrectly
Change-Id: Ibb249e893c007a83cc6b813f848a660bfa34ecb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422375
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
a2d8bbb5
|
2020-09-18T18:18:34
|
|
Vulkan: Add GL_EXT_buffer_storage extension support
Addition of support for immutable storage to buffer objects.
Also adds new end2end tests for these usecases
* Basic BufferStorage
* SubData update
* map/unmap buffer
Bug: angleproject:5056
Tests: angle_end2end_tests --gtest_filter=BufferStorageTestES3*Vulkan
Change-Id: Iba74b372ad033711927b63c6a04cec0eeb4db699
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419952
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
68dcea7b
|
2020-09-25T10:52:32
|
|
Suppress flaky Multithread Android end2end_test.
MultithreadingTest.MultiContextDrawWithSwapBuffers/ES3_OpenGLES_NoVirtual
Bug: angleproject:5099
Change-Id: Ide1376702c95103cf988f05ffe0d61e1166f3beb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432064
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1677cf14
|
2020-09-13T20:14:59
|
|
Metal: Implement Uniform buffers
Uniform buffer is implemented in two forms:
- If number of ubo used in shader program is low, each buffer will use
one discrete Metal buffer slot.
- If number of ubo used is large, they will be embedded into one Metal
argument buffer. Argument buffer is similar to Vulkan descriptor set.
This is due to limit of number of Metal's discrete buffer slots which
is only 31 and over half of them are already used by vertex
attributes, default uniforms, driver uniforms, etc. The downside is
that whenever a buffer binding is changed, the argument buffer must be
updated also.
Added empty TransformFeedbackMtl implementation to enable ES3 context
creation on Metal.
Bug: angleproject:2634
Change-Id: I69325696fac735cb45ab88ab55468c0991abc317
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408593
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
962e3473
|
2020-09-25T00:22:27
|
|
Fix return code of restricted trace tests.
The prior script was incorrectly comparing a boolean result with a
number and producing the opposite result: True would be reported as a
failure, and False would be reported as success.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I47ec684a57c455c6a833232d0a49774b265f7b39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430667
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
69da0b92
|
2020-09-13T20:00:19
|
|
Metal: Use shared memory for small dynamic buffers.
- If BufferMtl is static or large size, don't use shadow copy. Use one
MTLBuffer and map directly on it.
- If BufferMtl is dynamic and small size, use shadow copy and buffer
pool of 10 MTLBuffer (s). The MTLBuffer is allocated in shared memory
in this case (PCI-E memory for example). MTLBuffer in shared memory
region doesn't need to sync content between CPU and GPU.
- When copyBuffer, if BufferMtl is being used by GPU use blit command to
do the copy on GPU side.
- Also implemented GL_MAP_UNSYNCHRONIZED_BIT.
Bug: angleproject:2634
Change-Id: I7a5aab309d24c76106a7087358ee5883ee05d250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408592
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d59bccb5
|
2020-09-23T10:20:35
|
|
Vulkan: updateRenderPassDesc may lose color attachment data
FramebufferVk::updateRenderPassDesc() is resetting entire
mRenderPassDesc, which may lose color unresolve attachments. This CL
makes sure that when we toggle depth stencil buffer's read/write access,
we do not reset the whole mRenderPassDesc. Instead we only update the
depth stencil attachment's access.
Bug: b/168953278
Change-Id: Ia9df2d8ac81ebf2da8a360ba1293faf6c14b2738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426468
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7bd8bd9f
|
2020-09-24T17:11:56
|
|
Skip PBO test on TSAN.
Texture2DTest.TexStorageWithPBO/ES2_OpenGL is flaky.
Bug: b/168744561
Bug: angleproject:5097
Change-Id: Ide9b5a7d22e86c6eccd83ebc3bce6797b90150a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430163
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
54dbd5e7
|
2020-09-23T16:10:12
|
|
Vulkan: Add mutex around queueSubmit related data
There are several queueSubmit related members of RendererVk that can be
accessed from multiple threads. Adding mutex around thoses accesses
resolves race condition flagged by TSAN.
Add stress test for QueueSerial handling
Add test to catch race issue in garbage collection found by TSAN.
Test:
angle_end2end_tests MultithreadingTest.MultiContextDrawWithSwapBuffers
angle_end2end_tests MultithreadingTest.MultiContextCreateAndDeleteResources
Bug: b/168744561
Change-Id: I238cce9052476710778a3b35f8531891d90ddd6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415402
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7a0faa82
|
2020-09-24T20:15:26
|
|
Revert "Pass #pragma optimize setting down to compilation."
This reverts commit 499173de1c91932ba272269cab6918bf7e8d7c11.
Reason for revert: Causes unexpected HLSL compiler errors in some
cases. See bug.
Bug: angleproject:5094
Original change's description:
> Pass #pragma optimize setting down to compilation.
>
> This will allow us to disable optimizations in the back-end. This can
> be useful both for developers and for ANGLE to disable very slow
> shader compilation on D3D11.
>
> Also apply this pragma to VerifyMaxVertexUniformVectorsWithSamplers.
> Reduces compilation time by half in local testing.
>
> Bug: angleproject:5076
> Change-Id: I64ad576e11b9cee5b41f8af0d3621570304d65c2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420749
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:5076
Change-Id: I733e788fe8e9421ae0af662c0eb51af1ed79dde3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2429517
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a76b6836
|
2020-09-17T22:40:42
|
|
Vulkan: Support MSRTT depth/stencil resolve
VK_KHR_depth_stencil_resolve is used by this change to resolve
depth/stencil multisampled-render-to-texture renderbuffers.
This extension is not widely supported yet. If it's not present, the
depth/stencil resolve operation is silently ignored and the renderbuffer
acts as a normal multisampled one. This is not correct, but our primary
user (Chrome), and most applications don't care for the resolved
depth/stencil data. In fact, it's recommended for the depth/stencil
attachment to be invalidated after rendering.
Exposing EXT_multisampled_render_to_texture even in the absence of
depth/stencil resolve allows the majority of the applications to still
take advantage of MSRTT color attachments.
Bug: angleproject:4836
Change-Id: I6ba4187344a0c9330d2c77bdc5e2c6fc5483c299
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417645
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b6c17996
|
2020-09-23T13:37:48
|
|
Auto-generate restricted trace .gitignore.
I'm going to add a non-ignored subdirectory so it behooves us to fix
our blanket suppression. This will also allow users to clean up stale
trace files.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I5b0879eb3eebf3b352bb78e3b927203f9483c89f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426885
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cd83b608
|
2020-09-18T14:54:54
|
|
Use ImageHelper staging buffers for copyImageDataToBuffer
Revert change from using context staging buffers for
copyImageDataToBuffer. There are scenarios where the
staging buffer will become invalid before flushing
the staged update. Added a test for this case.
Bug: angleproject:5092
Test: angle_end2end_tests --gtest_filter=*ETC1CompressedImageDraws*
Change-Id: I41c457fda919938600c20336f65836952d73748a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425250
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
6c394220
|
2020-09-09T18:55:48
|
|
Vulkan: Fix bug in compressed texel block computation
When performing a staged update to compressed images,
ensure that the bufferRowLength and bufferImageHeight
is a multiple of the compressed texel block
Bug: angleproject:5017
Test: angle_end2end_test --gtest_filter=*ETC1CompressedImageNPOT*
Change-Id: I54327ec610d1050465d112c7eff385d19dc0c390
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393754
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
6b4962e8
|
2020-09-22T16:37:16
|
|
Allow GL_UNSIGNED_BYTE as a type for glColorPointer
Previously glColorPointer would reject GL_UNSIGNED_BYTE.
This should be allowed in both the gles 1 and 1.1 specifications.
See page 6 of the gles 1 specification and page 20 of the gles 1.1
specification.
This change allows doodle jump to work on angle on both the gl
and vulkan backend
Bug: angleproject:4308
Tests: angle_end2end_tests
--gtest_filter=VertexPointerTest.AssignRetrieveColorUnsignedByte*
Change-Id: I35f41b28d94cb34bc36256420b57793691b78cff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2424465
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2a09e891
|
2020-09-22T09:32:32
|
|
Isolated script args in restricted trace tests.
This will allow us to pass CQ since CQ requires isolated script output
args. We can also update this logic later to fail CQ if the golden
image check fails.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I81c5571e8742e641ebd8c9cbd8e1c89f583c725c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423212
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f0b0e3e8
|
2020-09-22T19:35:58
|
|
Suppress two more compute shader tests.
Failing due to test ordering on Linux. Likely a driver bug
that's already fixed in ToT Mesa.
ComputeShaderTest.DispatchDrawDrawDispatch/ES3_1_OpenGL
ComputeShaderTest.DrawDispatchDrawPreserve/ES3_1_OpenGL
Bug: angleproject:5072
Change-Id: I857ef3c7ba5d97f7c619ebe37aec1b5e188a2ffd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2424682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee7ae7ab
|
2020-09-22T19:36:57
|
|
Skip another slow test on Win/Intel/D3D11.
GLSLTest.VerifyMaxVertexUniformVectors/ES2_D3D11
Bug: angleproject:5076
Change-Id: I178ec224ca6b93f3290de6fb7e5cc3a4f348ba12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425323
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
15617b4b
|
2020-09-21T11:16:49
|
|
Vulkan: Add a alpha to coverage test
Early fragment test optimization has to be disabled if alpha to coverage
is enabled. This test that the intersection between alpha to coverage
test and early fragment test optimization.
Bug: angleproject:5082
Change-Id: I628efc2fae7c998467e1daff4167f16fe0c28142
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422899
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9ff58ddd
|
2020-08-26T01:08:00
|
|
Metal: Support array of matrices varying.
MSL doesn't support array of matrices as varying variable.
This CL converts array of matrices varying to array of vectors.
This fixes WebGL test:
conformance/glsl/misc/shader-varying-packing-restrictions.html
Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: I3cfc638dc01092ddf1add7df02c131d1a5c8ba1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392172
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
499173de
|
2020-09-20T10:42:56
|
|
Pass #pragma optimize setting down to compilation.
This will allow us to disable optimizations in the back-end. This can
be useful both for developers and for ANGLE to disable very slow
shader compilation on D3D11.
Also apply this pragma to VerifyMaxVertexUniformVectorsWithSamplers.
Reduces compilation time by half in local testing.
Bug: angleproject:5076
Change-Id: I64ad576e11b9cee5b41f8af0d3621570304d65c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2420749
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
eed069b3
|
2020-09-22T08:55:32
|
|
Give restricted gold tests executable bit.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ie3a46d4689e40958460c1f26a228645d84b3305c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423211
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
867358b7
|
2020-09-21T23:40:57
|
|
Test Runner: Improve sharding validation.
The prior check was incorrectly flagging index=0/count=2 as
invalid. It also missed a few cases like a shard count of 0.
Bug: angleproject:3162
Change-Id: Ida4c0f454ece15e4304d024d205475acf0f135e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423207
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
566821cb
|
2020-09-21T23:57:13
|
|
Suppress 3 more Intel/GL/Compute shader fails.
Happen when run in different orders. This time with a test variation
with 2 shards instead of 4.
ComputeShaderTest.DrawTexture1DispatchTexture2/ES3_1_OpenGL
ComputeShaderTest.UniformBuffer/ES3_1_OpenGL
ComputeShaderTest.BindImageTextureWithMixTextureTypes/ES3_1_OpenGL
Bug: angleproject:5072
Change-Id: Iddec2b795dc380e29a0124195491fcf6ec0520bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2423208
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f39e0f01
|
2020-09-07T23:07:37
|
|
Vulkan: Use subpass to unresolve render-to-texture attachments
GL_EXT_multisampled_render_to_texture allows singlesampled textures to
be used with multisampled framebuffers in such a way that the final
resolve operation is automatically done. In Vulkan terminology, the
render-to-texture GL attachment is used as a Vulkan subpass resolve
attachment with an implicit (ideally-)lazy-memory multisampled image as
the color attachment.
This extension expects that if the texture is drawn to after the
automatic resolve, the implicit multisampled image would take its
fragment colors from the singlesampled image. In other words, the
opposite of a resolve operation should be automatically performed at the
start of the render pass. This change refers to this operation as
"unresolve".
The goal of this extension is to allow tiling GPUs to always keep
multisampled data on tile memory and only ever load/store singlesampled
data. The latter is achieved by using a subpass resolve attachment and
setting storeOp of the multisampled color attachment to DONT_CARE. This
change achieves the former by using an initial subpass that uses the
resolve attachment as input attachment, draws into the multisampled
color attachment and sets loadOp of said attachment to DONT_CARE.
Bug: angleproject:4881
Change-Id: I99f410530365963567c77a7d62fc9db1500e5e3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2397206
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ec560fb
|
2020-09-17T17:18:25
|
|
Add restricted trace golden image script test.
The script reads the list of tests from the restricted traces JSON and
runs angle_perftests once for each test. Running the tests in a batch
seems unstable on some platfroms so running each test separately works
around that limitation. It does not yet interact with Skia Gold. The
Gold integration will come later once this basic skeleton is running
on the bots.
Also updates the perf tests to exit more quickly with --one-frame-only.
This will speed up the screenshots.
Example run with trigger.py:
https://chromium-swarm.appspot.com/task?id=4ecb985330a33910
Bug: angleproject:4090
Bug: b/168049670
Test: tested with trigger.py
Change-Id: I52820dfba2acfbc5d638673c37297877e8476adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417641
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8f7970cb
|
2020-09-21T18:25:21
|
|
Trace/Replay: Reset replay after taking a screenshot.
This was causing a replay state tracking error that could fail some
traces. For example, Mobile Legends.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ia4c2db795bb861fba77c9c35217ab22c2004c492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422686
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a7e03ed7
|
2020-09-21T14:56:00
|
|
Vulkan: Further refine invalidate for depth/stencil
Bug: angleproject:5079
Change-Id: Idc732b1e6729b2776d66c63c3ae2bd94e11bdbb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422684
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
edc0d2ee
|
2020-09-15T16:02:05
|
|
Vulkan: Disallow loadOp=LOAD for MSRTT depth/stencil textures
EXT_multisampled_render_buffer2 specifies that depth/stencil textures
are expected to be in a perpetual state of invalidated, except during
rendering. This change makes sure that they never use loadOp=LOAD.
Additionally fixes a bug where clears applied to MSRTT depth/stencil
textures didn't take effect because they were applied to the
multisampled image (since the resolved image was not given to the render
target).
Bug: angleproject:4836
Bug: angleproject:5063
Change-Id: I4506f4de415dca6c222111a1ae62017d2fb1e2b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2412848
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
bdecaf33
|
2020-08-04T20:16:27
|
|
Metal: Implement PBO.
Bug: angleproject:2634
Change-Id: I77f085227298bf46361825d1886e04830dc9987a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336558
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e56ccc49
|
2020-09-21T14:38:39
|
|
Skip Texture2DTest.TexStorageWithPBO on Win NVIDIA GL
Fails on 456.38 driver.
Bug: angleproject:5081
Change-Id: Ic92f4a9911d97209fd7240f5ba93ee6f81dd3ace
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422083
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
5d7de5fd
|
2020-09-20T13:09:07
|
|
Test Runner: Fix default config grouping.
Running "angle_unittests" with --bot-mode would produce noisy
test groupings for each permutation of parameterized tests. Fix
this by only splitting configs that begin with "ES". e.g. ES2_Vulkan,
ES3_OpenGL, etc.
Bug: angleproject:3162
Change-Id: I0b0ebe1c9cef9cbbce0489a2bc3f62761d43a1c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419046
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|