|
1e435d07
|
2020-10-14T13:33:10
|
|
Vulkan: Support dumping VMA stats string
This CL adds support for dumping the VMA stats string, which can be
given to VmaDumpVis.py to visualize the allocations that the VMA has
performed.
To enable dumping the string, set:
RendererVk.cpp
rx::kOutputVmaStatsString = true
Copy the desired JSON output into a text file, and pass that to
VmaDumpVis.py:
python3 \
third_party/vulkan_memory_allocator/tools/VmaDumpVis/VmaDumpVis.py \
-o stats.png stats.txt
The legend for the visualization is available at:
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/tree/master/tools/VmaDumpVis
Bug: angleproject:2162
Test: Manual verification
Change-Id: Ic8c1002805dd57e594df724bcf1cdbc1d1599a3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472525
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
12462910
|
2020-10-14T17:33:50
|
|
Skip slow GLES 1 Win/Intel/Vulkan test.
GLES1ConformanceTest.Blend/ES1_Vulkan
Bug: angleproject:5171
Change-Id: I2f3bb0d53676ed54e1fb74816e7c93a8e44042a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472536
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b22e437a
|
2020-10-07T18:02:39
|
|
Add GL_EXT_copy_image extension entry points
Bug: angleproject:3593
Change-Id: I6d3a55a3112f5f9b20ef33c859a60b2952bfbc2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444209
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1075b47a
|
2020-10-14T13:24:58
|
|
Disable more ARM-based Mac tests
Disables the following tests due to them failing on the ARM-based Mac
DTKs:
* GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_OpenGL
* OcclusionQueriesTest.MultiQueries/ES2_Metal
* TransformFeedbackTest.TwoUnreferencedInFragShader/ES3_OpenGL
* WebGL2CompatibilityTest.CopyMip1ToMip0/ES3_OpenGL
Bug: chromium:1132295
Change-Id: I557e3c978d884e9beeafb4f43676271edcd36a87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472532
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fa47b9a4
|
2020-10-14T15:42:17
|
|
Revert "Vulkan: Disable vkCreateDevice-physical-device-features-not-retrieved"
This reverts commit 4dae43d877763390c56435fb0126e310ee515fb8.
Reason for revert: VVL rolled with the fix.
Original change's description:
> Vulkan: Disable vkCreateDevice-physical-device-features-not-retrieved
>
> Disable
> UNASSIGNED-BestPractices-vkCreateDevice-physical-device-features-not-retrieved
> while the Khronos issue is investigated.
>
> Bug: angleproject:5149
> Change-Id: I680cf264d6356cf219826902d7fdf2304e27ebab
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461475
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:5149
Change-Id: I0a338983ac0804d5bb0e41e592f177372be66d5c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2471556
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
7d70a62f
|
2020-10-13T10:41:50
|
|
Vulkan: refactor error info
Consolidate error info into a structure in preparation of threading
work. Also preserves the meaning of the data until it's rendered to a
string for consumption by GL.
Bug: b/154030730
Change-Id: I8cde7133c817d77fdb117efc1c11edc94f615da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468537
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d4b35199
|
2020-10-14T13:58:47
|
|
Skip slow EGL Vulkan Linux tests.
dEQP-EGL.functional.swap_buffers_with_damage.resize_after_swap.*
dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.*
See issue for more details.
Bug: angleproject:5170
Change-Id: Id0376dcb26514dffc09a28e9ad7b2ade8d50b8c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472518
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fbc33c82
|
2020-10-14T13:58:47
|
|
Fail 3 tests on Android GLES N5X.
These tests are failing for unknown ordering reasons:
dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba
Bug: angleproject:5169
Change-Id: I25e592f6aa50cf80b0d60f04085c42cb1169dd31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472517
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1c6adcad
|
2020-10-12T15:37:18
|
|
Reimplement WindowSurfaceVk::checkForOutOfDateSwapchain
Simplified and made faster for devices that return
VK_ERROR_OUT_OF_DATE_KHR (and VK_SUBOPTIMAL_KHR).
Bug: b/168327817
Change-Id: Iec3dad8d528eb7d3645062a6736b397514432829
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464921
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
2aaeb81d
|
2020-10-06T17:20:29
|
|
Vulkan: loadOp=DONT_CARE + unused D/S => invalidate D/S
If depth/stencil is not loaded, and it's not written to during the
render pass, then treat it as if it was invalidated so storeOp can be
set to DONT_CARE and its corresponding resolve attachment (if any)
removed.
This is especially useful for MSRTT as a resolve attachment is added at
the start of render pass, and this optimization will give it a chance to
undo that if depth/stencil was not actually used in the render pass.
This situation can arise for example if a render pass is created for the
sole purpose of clearing color.
This change includes a bug fix for missing depth/stencil on*Access in
the UtilsVk blit/resolve path.
Bug: angleproject:4836
Change-Id: Ifc8eea3e6ffb3eb4bba19f03d1358f151ec69c44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453468
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8c5d295
|
2020-10-14T10:32:00
|
|
Skip two more FBO max samples tests on Win/NV/GL.
These two tests are causing the driver internally to OOM.
dEQP-GLES3.functional.multisample.fbo_max_samples.constancy_sample_coverage_inverted
dEQP-GLES3.functional.multisample.fbo_max_samples.constancy_both
Bug: angleproject:5162
Change-Id: I6960b4b171efb2f74b42a82d8ecafce1edb167c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469958
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d9a88d63
|
2020-09-28T17:58:31
|
|
Vulkan: Support OES_texture_cube_map_array extension
Add support for GL_OES_texture_cube_map_array to the Vulkan backend
if the underlying ICD supports creation of of cube array ImageViews
Bug: angleproject:3584
Test: dEQP-GLES31.functional.fbo.color.texcubearray.*
Change-Id: I636cbf347d718abfc1600119b312578370b8e02e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437989
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1da7ac0f
|
2020-10-13T12:13:36
|
|
GLX: Workaround to disable GLX_OML_sync_control support.
Some users on Linux/Wayland are reporting issues rendering Chrome
unusable when ANGLE exposes GLX_OML_sync_control. This CL adds a new
feature to ANGLE to disable this extension, but for now we leave the
feature off by default, so users can test it via command line flags.
Bug: chromium:1137851
Change-Id: I804ea935fe441c4794b93ee62ca335e78b9e453a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468216
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
82817c9a
|
2020-10-12T15:27:28
|
|
Reimplement WindowSurfaceVkAndroid::getCurrentWindowSize()
Use vkGetPhysicalDeviceSurfaceCapabilitiesKHR() instead of
ANativeWindow_getWidth() & ANativeWindow_getHeight(). The former
gives the proper size of the window, where the latter gives the size
of the device's display (which is the default size of a window).
Bug: b/168327817
Change-Id: I524116b7b07bf2ec7637fe2874806c5eb8318171
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464920
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
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>
|
|
5dd82cac
|
2020-10-13T09:58:01
|
|
Vulkan: Remove Arm from perFrameWindowSizeQuery
The perFrameWindowSizeQuery feature was enabled for Arm, based on a
faulty dEQP test, that says that it is resizing a window on Android,
but doesn't actually. The Arm team has verified that this feature is
no longer needed for Arm/Mali, and so it is being removed.
Bug: b/170733470
Bug: angleproject:5150
Change-Id: I8b9d7cb45983b6bbf8d52d37bf5b237f2c3e4fe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468176
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
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>
|
|
298c2768
|
2020-10-12T10:50:39
|
|
Add PowerVR Vendor ID & Vulkan GL Line Emulation Exclusion
Adds the PowerVR VendorID into the accepted vendor list, and prevent
basic GL line emulation from being ran on PowerVR hardware as it's
not required on those platforms, yet causes CTS failures when enabled.
Fixes a variety of line failure tests across OGLES3/3.1 test suites
seen on PowerVR hardware.
Bug: angleproject:5145
Change-Id: I7383f1c09d026b8d33e6fbda66418c5f8b7f90bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462094
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
580f40a6
|
2020-10-04T14:05:41
|
|
Capture/Replay: Embed ANGLE version in replay.
This is embedded as a #define. It can be used for book-keeping and can
also be used to control integration when there's incompatibility.
Bug: angleproject:5135
Change-Id: Ie0bb8ff9509c5f973860cb9e6ae48714a27c7398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449163
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
df6b7298
|
2020-10-12T13:39:09
|
|
Vulkan: Use StoreOp_None_QCOM for read only depth stencil buffer
For read only depth stencil buffers, there is no need to store depth or
stencil value. But we can not use DontCare for storeOp because vulkan
core spec says DontCare indicates data is undefined after this.
VK_QCOM_render_pass_store_ops extension introduces a new store op that
will leave data defined but skip the store. This CL utilize this if the
extension is available.
Bug: angleproject:5055
Change-Id: I104f3d01eb342a2d0cc900f342430e901bde1bff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462604
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c6903a4
|
2020-10-12T13:39:09
|
|
Vulkan: Expand PackedAttachmentOpsDesc from uint16_t to two uint16_ts
This is preparation for crrev.com/c/2462604. We run out of bits in the
struct PackedAttachmentOpsDesc. This expands it from 16 bits to 32 bits
(two uint16_t), gives us a lot more room for current and future needs.
Bug: angleproject:5055
Change-Id: I492cbd18c3b71b76b5b48652094409e76c5721b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2465615
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
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>
|
|
3e8305f5
|
2020-10-06T23:16:38
|
|
FrameCapture: Move compressed texture cache to shared location
In support of tracking compressed texture data across multiple
threads and contexts, move our cache to FrameCaptureShared.
Make this accessible only via egl::ShareGroup, which will
ensure unique texture IDs.
Test: Asphalt 8 MEC
Bug: b/150484427
Bug: angleproject:4048
Change-Id: I4e75b323d7aedc0333ceffba305439e54c4d6ac1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455266
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0f55e3e5
|
2020-09-11T01:15:18
|
|
Reland "Remove redundant BlendStateArray tracking"
Rebase the original CL and update capture/replay state
serialization
Original CL reviewed-on:
https://chromium-review.googlesource.com/c/angle/angle/+/2169093
Bug: angleproject:4394
Bug: chromium:1085996
Bug: chromium:1086582
Bug: chromium:1086585
Bug: chromium:1086586
Change-Id: If0fba8b6e185540aed57d22eaf0ff79ec142209e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404442
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
3345e5fd
|
2020-10-10T16:42:24
|
|
Sync extended dirty bit on texture copies.
This works around an issue in the GL back-end where the
extended dirty bit wasn't synced in internal blit draw calls.
This bug is preventing progress with the standalone test runner.
This temporarily solution can be put in place until we have
a more complete solution for internal draw state sync.
Bug: angleproject:5160
Change-Id: Id8ae5efa66b249b008a1535b60493c880f5a06a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464824
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
dd4b6445
|
2020-10-09T15:15:01
|
|
Vulkan: Boilerplace for vkCmdSetScissor
Bug: angleproject:4836
Change-Id: I4fa5355fc3e7fcf3ecd091d299c5c0c8d3a74732
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2463984
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>
|
|
87f3f4b5
|
2020-10-09T17:25:57
|
|
Metal: Disable fence sync extension on Nvidia
The following tests are flaky on Mac FYI Retina Release (NVIDIA), so the
Metal fence sync extension is being disabled for Nvidia.
Bug: chromium:1136673
Change-Id: I7e99f558950c6e867318e27f27bb526b4c209fcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2463516
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
848ab12d
|
2020-10-08T11:12:05
|
|
Vulkan: DepthStencil layout should use both early and late stages
Vulkan spec 6.1.2 says "Including a particular pipeline stage in the
first synchronization scope of a command implicitly includes logically
earlier pipeline stages in the synchronization scope. Similarly, the
second synchronization scope includes logically later pipeline stages.
However, note that access scopes are not affected in this way - only the
precise stages specified are considered part of each access scope." For
depth stencil layout, both early and late fragment test stages could
access it, thus we should include both in the src and dst stage mask.
Bug: b/169498230
Change-Id: Ifd2f6f7e9947c95248ae400353ae6570912be560
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461631
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
efc0aaf4
|
2020-10-06T17:14:45
|
|
Remove gaps in Framebuffer::DirtyBits
Bug: angleproject:4836
Change-Id: Ia36563eefaa7f6a84ad70db27e0abc5f9fcba703
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453465
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
c759206c
|
2020-10-07T12:02:14
|
|
fix an instance of bugprone-unused-return-value
This new clang-tidy check fires when the result of a function like
`unique_ptr.release()` is unused. Sometimes this is intentional, other
times, it's not (e.g., the dev intended to `.reset()`).
Bug: chromium:1134714
Change-Id: I9b6bc9e847e5c27d68707a4f33d37b225ded34fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2458188
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
cd8eb564
|
2020-10-08T09:59:10
|
|
GL: Work around Mac glBindBufferRange issue.
Mac GL drivers generat errors when binding transform feedback buffers
with glBindBufferBase/glBindBufferRange when the buffer has not been
bound to any binding point before. Work around this by simply binding
the buffer first.
Bug: angleproject:5140
Change-Id: I1895f8367412135c100a5072117c929be8a8e90b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461826
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>
|
|
57f86257
|
2020-10-08T12:38:50
|
|
Support RGB -> BGRX copies in copySubImage.
This was showing up in the following test for me on OSX:
IOSurfaceClientBufferTest.CopySubImageToBGRX8888IOSurface/ES2_Vulkan_SwiftShader
Test: angle_end2end_tests on OSX 10.15
Bug: angleproject:5147
Change-Id: I666dc832e8be33cde1617c849990c6092f4e2240
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4dae43d8
|
2020-10-08T11:04:50
|
|
Vulkan: Disable vkCreateDevice-physical-device-features-not-retrieved
Disable
UNASSIGNED-BestPractices-vkCreateDevice-physical-device-features-not-retrieved
while the Khronos issue is investigated.
Bug: angleproject:5149
Change-Id: I680cf264d6356cf219826902d7fdf2304e27ebab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461475
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a5db7d6e
|
2020-10-08T11:01:46
|
|
Vulkan: Disable UNASSIGNED-CoreValidation-DevLimit-MissingQueryCount
Disable UNASSIGNED-CoreValidation-DevLimit-MissingQueryCount while the
Khronos issue is investigated.
Bug: angleproject:5148
Change-Id: If3cd4b028182a06411b928417e7c778ea02189d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462075
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
102074d1
|
2020-10-06T17:13:16
|
|
Pass in Command::Clear to framebuffer syncState
In preparation for some clear-related optimizations.
Bug: angleproject:4836
Change-Id: I32ceb2b8a690ed13dac81e1ffe073436d6e24421
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453464
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
36ccb695
|
2020-10-07T14:43:01
|
|
Ensure a CGL context is current for WindowSurfaceCGL.
WindowSurfaceCGL does quite a bit of emulation using GL textures and
renderbuffers but some of these operations need to happen during EGL
functions when there may be no native context current.
Add a helper that ensures a context is current for operations that
manipulate GL objects.
Bug: angleproject:5138
Change-Id: Ic9f87aa26fd178a40510836c3aca8814382f92e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2456051
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
068617d6
|
2020-10-05T20:42:57
|
|
Fix debug message formatting.
Also includes a refactor of GLenum utils.
Bug: angleproject:5131
Change-Id: Ic2d974ef5612b3609ae66bcca087cc0442f43888
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447042
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
98117b9d
|
2020-10-07T12:44:10
|
|
Move entry point enum utils to common.
These are now used in debug.cpp.
Bug: angleproject:5131
Change-Id: Ibe1f0e3e2919a9e2f2b85c3ed80a77617266913e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451973
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
22ed1e59
|
2020-10-05T17:59:27
|
|
Vulkan: Remove depth stencil access out of RenderPassDesc
Vulkan spec says that image layout is not counted toward render pass
compatibility:
"Two render passes are compatible if their corresponding color, input,
resolve, and depth/stencil attachment references are compatible and if
they are otherwise identical except for: Initial and final image layout
in attachment descriptions Image layout in attachment references"
This CL removes the depth stencil access mode information out of
RenderPassDesc structure. It is essentially partially reverted the
change from crrev.com/c/2354280
Bug: b/170134600
Change-Id: Iada4d89c3249489b47db3046952e7cb10f252891
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451597
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c5f602c
|
2020-10-07T10:13:34
|
|
DisplayNULL::makeCurrent() must install DebugAnnotator
When the ANGLE end2end tests change back-ends, the null driver must
install the correct global DebugAnnotator, so that the DebugAnnotator
from another driver is not used.
Bug: chromium:1135860
Change-Id: I11aa386995283aa214df1faa62392dc6a6cbef0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2457126
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@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>
|
|
3df629c5
|
2020-10-06T15:49:35
|
|
Fix a crash in FormatStringIntoVector
It was wrong to use vararg after vsnprintf() affected it.
Luckily, we don't need to call vsnprintf() on vararg,
since the previous call of vsnprintf() on varargCopy
already gives us the length that we need.
Bug: angleproject:5131
Change-Id: Ie9b62e92ef8ab7e06b51e034c99a5fde20c1ceaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453930
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@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>
|
|
385fb40f
|
2020-10-04T13:29:13
|
|
Capture/Replay: Don't capture deleted shaders.
ANGLE can sometimes hold on to deleted shaders while they're still in
use. This would happen when re-capturing captured application. A bunch
of shaders would be still around after used in the program linking
step because they are still attached to the program. Fix this by not
skipping the capture for shader that have been deleted but are still
in the resource map. Noticed while capturing the T-Rex replay.
Bug: angleproject:5134
Change-Id: I04e3e96b43e445d7b467e6db0325ecd0d821549d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449162
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
9413c402
|
2020-10-03T10:58:12
|
|
Vulkan: Move CommandBatch for threading support
Will need access to CommandBatch class in threading worker.
Bug: b/154030730
Change-Id: Ia79eab77a81b135c22bdeecbaf65bf3c301dc987
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447442
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
82962a0d
|
2020-10-04T11:50:02
|
|
Capture/Replay: Complete RasterizerState capture.
The dither check was incorrect. Fix the dither capture and add the
missing rasterizer discard and polygon offset capture. Noticed when
capturing the T-Rex replay.
Bug: angleproject:5134
Change-Id: I5222625175ec7e078a9c0ad6c6fd3507db3a7769
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449158
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
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>
|
|
57c6af7d
|
2020-10-04T12:18:29
|
|
Capture/Replay: Fix temp shader ID.
We could mess up capturing Program #1 by using a temp shader ID of 1.
Instead we can use a shader ID that isn't used in the application.
Noticed when capturing from the T-Rex replay.
Bug: angleproject:5134
Change-Id: Ic6fefe9d8cdf327a5ebbb47539b2e11161a4b13c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449159
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
9f5eb0b8
|
2020-10-05T08:18:05
|
|
Vulkan: Add OES_sample_shading extension support
Support OES_sample_shading extension if the underlying
Vulkan ICD supports sampleRateShading.
Bug: angleproject:3587
Tests: dEQP-GLES31.functional.sample_shading.*
Change-Id: I1b324c1ad3ea3b2157d3cbe0abcdf7085aa4231b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444213
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
bc4ec4c1
|
2020-10-05T17:10:18
|
|
Vulkan: Plumb OpenGL ES commands to AGI/debuggers
Use vkCmd*DebugUtilsLabelEXT() calls to delimit all GLES commands, and
group them under GLES draw/dispatch calls. Plumb calls from the EVENT
macro (for every GL entrypoint) to vkCmd*DebugUtilsLabelEXT() via a
newly-implemented DebugAnnotatorVk class. Use a new dirty bit so that
cached entrypoints are associated with a triggering draw/dispatch
command.
The DebugAnnotatorVk::beginEvent() method saves a string in a vector
of all GL commands in ContextVk. The dirty bit converts the strings
into begin-end vkCmd*DebugUtilsLabelEXT() pairs. The
DebugAnnotatorVk::endEvent() method makes the final
vkCmdEndDebugUtilsLabelEXT() call for a draw/dispatch command.
Enable the OGL->VK mapping feature by setting
"angle_enable_trace = true" in GN args.
Bug: b/162068318
Bug: b/169243237
Change-Id: I61b6a8d113168c0ce578d6efd002d8a393659aba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451517
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@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>
|
|
08142700
|
2020-10-01T19:30:03
|
|
Work-around test runner & DebugAnnotator
Note: This precedes another CL that needs this change.
DebugAnnotator uses a global variable. The test runner doesn't change
state between testing different back-ends. This works-around the
problem by setting the global variable when the context is switched.
Because the GL back-end doesn't have its own DebugAnnotator sub-class,
add a Display* to DisplayImpl::makeCurrent(), so that
DisplayGL::makeCurrent() can install the front-end-Display's
DebugAnnotator.
Note: the Vulkan back-end gets this fix even though the new
DebugAnnotatorVk class will be added in a follow-on CL.
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Change-Id: If08626a5310f9b4e3210e1a897a6886248e4d8ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451423
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
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>
|
|
77e3d0ae
|
2020-09-25T14:12:04
|
|
Vulkan: Defer the depthStencil buffer layout change to endRenderPass
Depth stencil layout may change while we build the render pass,
depending on the read/write access been made. Right now we are always
inserting a layout change barrier at the start of render pass. Later on
when the read/write property changes, we insert another layout change
barrier. Similarly, we maintain the attachmentOps and
RenderPassDesc::mPackedColorAttachmentRangeAndDSAccess as we changes
read/write access. This makes code quite commplicated. This CL moves
mReadOnlyDepthStencilMode from FramebufferVK to CommandBufferHelper
object and we only maintain that boolean while we updating the
read/write access. Then at the end of render pass or when depthStencil
image is deleted, we update attachmentOps and mRenderPassDesc and layout
transition all at once and only done once. This simplifies the read only
depth stencil mode implementation a lot.
Bug: b/168953278
Change-Id: Ie263b4526c82a9858e5d1f141ea58f499187a3ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432075
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f074d61a
|
2020-09-28T21:40:57
|
|
Plumb EntryPoint & Context to DebugAnnotator/EVENT()
This makes it easier to plumb debug labels to a future
DebugAnnotatorVk class.
Bug: b/162068318
Bug: b/169243237
Change-Id: I01e3779569c27c91252dc2874f6deaec526afd6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451516
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
86ca5d2b
|
2020-10-01T11:56:05
|
|
Vulkan: Add plumbing to render pass when ImageHelper gets deleted
ImageHelper object is not refcounted and garbage collected and
endRenderPass call is deferred until next render pass starts. This
caused a situation that an ImageHelper object gets deleted while still
referenced in the open render pass. This CL make sure that we call into
all shared context's open renderpass when an image goes away so that
they can take appropriate action for this.
Bug: b/169618408
Change-Id: I5075e805980084db82ca3e699462272eee5d2d59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2443571
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
da61c40e
|
2020-10-06T01:57:55
|
|
Revert "Work-around test runner & DebugAnnotator"
This reverts commit e44c94d96a9b65615fe8f5038e124763ac8c45e5.
Reason for revert: Breaks build of DisplayGbm on ChromeOS:
src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.{h,cpp}
First failing builds:
https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28amd64-generic%29/1608
https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28kevin%29/2212
Original change's description:
> Work-around test runner & DebugAnnotator
>
> Note: This precedes another CL that needs this change.
>
> DebugAnnotator uses a global variable. The test runner doesn't change
> state between testing different back-ends. This works-around the
> problem by setting the global variable when the context is switched.
>
> Because the GL back-end doesn't have its own DebugAnnotator sub-class,
> add a Display* to DisplayImpl::makeCurrent(), so that
> DisplayGL::makeCurrent() can install the front-end-Display's
> DebugAnnotator.
>
> Note: the Vulkan back-end gets this fix even though the new
> DebugAnnotatorVk class will be added in a follow-on CL.
>
> Bug: b/162068318
> Bug: b/169243237
> Bug: angleproject:5121
> Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
TBR=courtneygo@google.com,ianelliott@google.com,jmadill@chromium.org
Change-Id: I99df2716951726ead24961dc3d27a7ec63aeda80
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451420
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
a8d4457c
|
2020-10-02T23:51:57
|
|
Change shader compile failures into an info message.
This reduces spam in our unit tests. Speeds up test execution.
Bug: angleproject:3162
Change-Id: I286a18b3ce862c4e4155076b2ee3f93c9db2eb33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447041
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
e44c94d9
|
2020-10-01T19:30:03
|
|
Work-around test runner & DebugAnnotator
Note: This precedes another CL that needs this change.
DebugAnnotator uses a global variable. The test runner doesn't change
state between testing different back-ends. This works-around the
problem by setting the global variable when the context is switched.
Because the GL back-end doesn't have its own DebugAnnotator sub-class,
add a Display* to DisplayImpl::makeCurrent(), so that
DisplayGL::makeCurrent() can install the front-end-Display's
DebugAnnotator.
Note: the Vulkan back-end gets this fix even though the new
DebugAnnotatorVk class will be added in a follow-on CL.
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
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>
|
|
8608b402
|
2020-10-04T11:42:08
|
|
Capture/Replay: Don't capture XFB 0 in MEC.
This will only add an extra unused XFB object. Noticed when capturing
from the T-Rex replay.
Bug: angleproject:5134
Change-Id: Ia368f9e9f59f9ea7473ac88928a413001fa99496
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2449157
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@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>
|
|
505a8d05
|
2020-09-26T23:40:51
|
|
Capture/Replay: Split very large replay function.
This allows a replay of the T-Rex offscreen benchmark.
Bug: angleproject:5133
Change-Id: I9998c4785e61a6410863a1cd8a8a569b1e08098a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446897
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c15d1e2d
|
2020-09-26T15:11:43
|
|
Capture/Replay: Generalize function splitting.
We can use this to split up the replay function as well as very large
setup functions. This will let us replay the gfxbench offscreen
benchmarks directly.
Bug: angleproject:5133
Change-Id: Ic24f25f2ab6821e68356a28a698cb84301e99be2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446896
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
34445b29
|
2020-10-02T15:23:35
|
|
FrameCapture: More fixes for app updates
* Disable GL_EXT_map_buffer_range during capture, several
native GLES drivers do not support it.
* Unmap buffers before updating them during Reset. Some native
drivers require it.
Test: Temple Run on multiple systems
Bug: angleproject:4845
Change-Id: I9aea9c220320095aee87da107320b8fcad6c0a2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
50070481
|
2020-10-02T01:03:41
|
|
Vulkan: Render pass creation cleanup
Bug: angleproject:4836
Change-Id: If7b0beef4b32149bebb0f63558ac34d0c3cd79c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444098
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c5494728
|
2020-10-02T00:55:28
|
|
Vulkan: Free up 2 bits in PackedAttachmentOpsDesc
These bits will be used to aid in invalidation of
multisampled-render-to-texture attachments.
Bug: angleproject:4836
Change-Id: Ib2b438386f8cd8c057bc0ef16144b9d2ddbc1594
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444097
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|