|
fca9de6f
|
2021-09-29T14:59:06
|
|
Fix Metal backend not clearing stencil buffer
If you had a depthstencil buffer the stencil portion
was not being cleared.
Bug: angleproject:6389
Change-Id: Iad3f12ae627bc12625d959f9a52fdb1dcb8c9bc3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198800
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
|
|
32d6e806
|
2021-09-24T23:50:54
|
|
Vulkan: Fix rotation of interpolateAtOffset
interpolateAtOffset's offset was multiplied by flipXY*rotationMatrix,
which is a vector. This was unable to actually apply rotation to the
offset. The multiplier is changed to a matrix.
Can be tested by running interpolate_at_offset*default_framebuffer tests
in deqp gles3.1 together with pre-rotation:
./angle_deqp_gles31_tests
--deqp-case=dEQP.GLES31/functional_shaders_multisample_interpolation_interpolate_at_offset_no_qualifiers_default_framebuffer
--emulated-pre-rotation=90
Bug: angleproject:5843
Change-Id: I9727371375e999f07463b69153df3fd8b28c2a71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da3db87e
|
2021-07-06T14:00:58
|
|
Upstream latest changes to Metal backend from Apple to 7/1/2021
This CL merges in the ANGLE changes between these two WebKit commits:
https://git.webkit.org/?p=WebKit.git;a=commit;h=8648b353ab1d7730438c2e08319e1a4d64982c31
https://git.webkit.org/?p=WebKit.git;a=commit;h=166e4924a52971d6a32ad48247a439b16c00e062
Include provoking vertex buffer out of bounds fix
from https://bugs.webkit.org/show_bug.cgi?id=230107
Fix bad merge of resetting of dirty bits, breaking
DepthStencilFormatsTest.DepthTextureRender test and perhaps others.
Disable GL_APPLE_clip_distance when the direct-to-Metal compiler is
active. It can not yet handle the gl_ClipDistance array.
Disable use of rectangular textures for IOSurfaces. Metal can bind
IOSurfaces to 2D textures, and this was passing all tests in the
SPIR-V Metal backend. Introducing rectangular textures breaks the
SPIR-V Metal backend, and the tests currently fail on the
direct-to-Metal backend.
Fix several bugs with ProvokingVertex, which was causing
both the SpirV and Direct backends to incorrectly draw
indices.
(https://bugs.webkit.org/show_bug.cgi?id=230107)
Skip the following tests on the Metal backend which is still failing
RobustResourceInitTestES3.BlitDepthStencilAfterClearBuffer
GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_Metal
With these changes, angle_end2end_tests again runs to completion.
Bug: angleproject:6395
Change-Id: I3cc58f531426a95fc8f177a4ad87f56c1855a546
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167010
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
2a8be9de
|
2021-10-01T01:26:19
|
|
Vulkan: OES_shader_multisample_interpolation is now conformant
This extension was not conformant due to an imprecision in the GL spec
which is now rectified. See:
https://gitlab.khronos.org/opengl/API/-/issues/149
The OpenGL CTS has been fixed here:
https://gerrit.khronos.org/c/vk-gl-cts/+/7862
Bug: angleproject:6190
Change-Id: I0c37332939f70291a5f76ca36fa9f24b179ce414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a097ee2e
|
2021-09-27T15:18:02
|
|
Vulkan: Fix clearing external images with emulated format
External images may already have data, and clearing them due to their
format being emulated is incorrect.
This change makes sure that only the emulated channels are cleared.
The RGBXDataPreservedAHB test is based on one contributed by
Jason Macnak <natsu@google.com>.
Bug: b/192315789
Change-Id: Ibc8953fdac356f2a62a5b46512a51e1916b4a1b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193416
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0004ecc2
|
2021-09-22T13:39:55
|
|
Write GL info to test artifact in end2end_tests.
These will show up as glinfo.json in the "cas outputs" of the shard
that runs these tests.
We currently have information for Pixel 4, NVIDIA and Intel Win/Linux,
and SwiftShader Windows. GLES 1.x extensions are treated separately.
Some WebGL/Mac-only/D3D-only extensions show as unsupported anywhere.
In order to capture artifacts on Android, we use a render test output
parameter.
Bug: angleproject:6379
Change-Id: I560b219b5a586cdbb68d272090f38eedc76aba20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176780
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3d429f59
|
2021-09-27T14:27:31
|
|
VertexArray: Don't syncState on Buffer map/unmap.
Map/unmap calls are now treated like contents change events. Similar
to BufferSubData calls.
Bug: angleproject:6371
Change-Id: Ie0a4c521ffdedfa723d47eddd21c6f68dde044ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187811
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cf8c5678
|
2021-09-17T13:16:36
|
|
Vulkan: Don't sync VAOs after BufferSubData calls.
We still need to syncState after buffers that contain converted
attributes are updated. Includes a perf regression test.
Bug: angleproject:6371
Change-Id: I54227fc43e7b3fe79072da7783dab0177ccb0486
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182706
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b930b9d3
|
2021-09-08T09:08:28
|
|
Capture/Replay: Remove redundant "capture" from label
old: trex_200_capture_context1_frame001.cpp
new: trex_200_context1_frame001.cpp
The 'capture' word wasn't really adding any useful information.
Take it out so the filenames are a bit shorter.
Bug: angleproject:5133
Change-Id: Ibd7d47df2aa1f24a641c5d5b2a6dd14d6ce240e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a78310ee
|
2021-09-29T12:37:42
|
|
Clean up ImageTest.cpp
Removed manual gen/delete calls and replaced GLuints with RAII types.
Bug: b/192315789
Change-Id: Ic2e7f3fcc3cefe83917d3b8dcc4ec2979c732b21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193415
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
85de22fd
|
2021-09-29T13:27:42
|
|
Set the viewport missing from a few tests
A few places seem like they should be setting the viewport.
Bascially any place that creates a framebuffer that's different
size than the backbuffer (defined as kWidth, kHeight) should
probably be setting the viewport.
Bug: angleproject:6394
Change-Id: Iee64f6700e3f93c236ab46d3d5debd47c49d2fa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3195054
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4647e4c5
|
2021-09-27T17:03:05
|
|
SwANGLE copy to IOSurface
This CL performs a buffer to image copy on bindTexImage
and an image to buffer copy on a releaseTexImage on MacOS
in order to copy from/to an IOSurface which has an arbitrary
internal layout.
It also changes the internal format used by GL_BGRX8_ANGLEX
to GL_RGBX8_ANGLEX in order to have an internal format which
accurately represents the {GL_RGB, GL_UNSIGNED_BYTE} format
with the color channels in the correct order.
Bug: chromium:1209250
Bug: angleproject:4369
Change-Id: I62b66c7055f8ba8a4c943abeb2e35a3825efc392
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169472
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
84bf49a5
|
2021-09-27T15:20:22
|
|
Vulkan: Fixed an issue with primitives generated query
The primitives generated query does not work with rasterizer discard,
as such rasterizer discard is disabled with the beginQuery call and
re-enabled with the endQuery call.
The issue is that previously rasterizer discard was not being disabled
until ContextVk::resumeRenderPassQueriesIfActive in some cases. This
led to cases where primitives generated query did not work.
The fix is to insure all beginQuery calls disable rasterizer discard
when primitives generated query is active.
Added the following end2end test to cover the failure:
TransformFeedbackTestES32.MultiPrimitivesGeneratedVsRasterizerDiscard
Bug: angleproject:5557
Tests: KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule*
Change-Id: I7e1a0a0bc4a3100349c2c5dbdbe6becd1e0dda29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193100
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
30878d2a
|
2021-09-24T09:23:56
|
|
Buffer: Notify contents changed in a separate observer list.
Buffer contents changed will only notify VertexArray. Also this
list is separated from the other observers because in the future
most of the time we won't need to notify the VertexArrays when
buffer contents changed, to avoid iterating over a large list of
VertexArray observers on simple SubData calls.
Bug: angleproject:6371
Change-Id: I6142a5757868caf33dc6594a1975f817f80553e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182701
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
696f8533
|
2021-09-28T15:21:51
|
|
fix GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays
The test was using a gl_PointSize of 1000.0 but GL_POINTS
are only required to support a max size of 1.0
Bug: angleproject:6463
Change-Id: I8a44607085583cbc7cef06f21b118121cc1fef24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192177
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
394dc64d
|
2021-09-27T14:07:32
|
|
Change this expectation to skip on AMD only
This appears to be an AMD only issue
Bug: angleproject:6387
Change-Id: I596341ed3d4b655312abfaa8b8e768fea742074b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192173
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
dff5c752
|
2021-09-28T11:27:06
|
|
Suppress VVL error: *InterfaceTypeMismatch
Suppress VVL error:
UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch
Bug: angleproject:6442
Change-Id: I1d5412a1be7cba0b3571225d3f3d94c72349742f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3191390
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
8f8ca06d
|
2021-09-06T10:01:37
|
|
Roll vulkan-deps from b1e5bf7dd9c3 to 788a2f62acbe (13 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/b1e5bf7dd9c3..788a2f62acbe
Changed dependencies:
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/51d8e7be94..c2500e504d
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/789de0dc4b..7e860e3831
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/ee4d7bb1bf..20cf221e72
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/cf9d49e461..642da192c8
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2fdf7a587b..1e6ed74d5d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:6442
Tbr: ianelliott@google.com
Change-Id: Id6bcd349462f7c0a61fcb3ccf831e5238334382d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3188612
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
5b699b4b
|
2021-09-20T15:14:42
|
|
Roll VK-GL-CTS from 7103920041db to 8e89717bf4ed (52 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7103920041db..8e89717bf4ed
2021-09-20 gleese@broadcom.com Add missing checking of integer dot product features
2021-09-20 gleese@broadcom.com Don't silently drop features that were requested
2021-09-20 gleese@broadcom.com Update checking of VulkanFeatures structs
2021-09-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
2021-09-17 mikko.tiusanen@siru.fi Tests for OpenGL ES 3.1 and 3.2 compressed formats
2021-09-17 siglesias@igalia.com dEQP-VK.subgroups.*ray_tracing* missing extension check
2021-09-17 ari.suonpaa@siru.fi Re-enable protected memory tests
2021-09-17 rgarcia@igalia.com Depth/Stencil descriptor tests
2021-09-17 piotr.byszewski@mobica.com Test multiview with different depth ranges
2021-09-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
2021-09-16 root@qnegfx2.qualcomm.com Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
2021-09-14 piotr.byszewski@mobica.com Test blitting from ASTC formats
2021-09-14 gleese@broadcom.com Fix workgroup memory tests for int16s
2021-09-14 ari.suonpaa@siru.fi Check support for EGL 1.5 or higher when using GLES3
2021-09-14 gleese@broadcom.com Accept NaN as valid in atan2 precision tests
2021-09-10 peter.kohaut@arm.com Update Vulkan headers
2021-09-08 mika.vainola@siru.fi Fix Clang -Wcomma warnings
2021-09-08 mika.vainola@siru.fi Fix qpReleaseInfo generation with non-ASCII paths
2021-09-08 ari.suonpaa@siru.fi Add tests for VK_EXT_load_store_op_none
2021-09-07 peter.kohaut@gmail.com Merge branch 'vulkan-cts-1.2.7'
2021-09-07 stuart.brady@arm.com Add tests for VK_KHR_shader_integer_dot_product
2021-09-03 peter.kohaut@arm.com Merge branch 'vulkan-cts-1.2.7'
2021-09-03 mika.vainola@siru.fi Remove unreachable breaks
2021-09-03 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests
2021-09-03 mika.vainola@siru.fi Fix GLES3 Clang UBSan errors
2021-09-02 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests
2021-09-02 juha.heiskanen@siru.fi Add test for finding unknown memory property flag sets
2021-09-02 mika.vainola@siru.fi Fix loop over cube map faces in GL4
2021-09-02 lionel.g.landwerlin@intel.com Fix fragment shading rate validation layer warning
2021-09-02 jari.komppa@siru.fi Add run mode that verifies amber requirements
2021-09-02 mika.vainola@siru.fi Remove extra semicolons
2021-08-30 gleese@broadcom.com Fix warning in gcc-8
2021-08-28 juha.heiskanen@siru.fi Enable Vulkan matrix determinant and inverse precision tests
2021-08-26 jasuarez@igalia.com Do not overflow when copy data
2021-08-26 Neslisah.Torosdagli@amd.com Issue in serial storage address computation
2021-08-26 antto.makinen@siru.fi Add coverage for sampling a cubemap that has been rendered to
2021-08-20 galazin@protonmail.com Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
2021-08-20 venni.ihanakangas@siru.fi Check support in synchronization operation tests
2021-08-20 slawomir.cygan@intel.com Read stencil aspect from image in DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL layout
2021-08-20 ilkka.saarelainen@siru.fi Optimize image clearing tests
2021-08-20 venni.ihanakangas@siru.fi Ensure that destroying old swapchain has no effect
2021-08-20 marcin.zajac@mobica.com Conservative rasterization with SampleMask
2021-08-19 galazin@protonmail.com Update Vulkan headers
2021-08-19 italonicola@collabora.com Implement getProcAddress for surfaceless platform
2021-08-19 tapani.palli@intel.com Fix for the various multisample tests with GL 4.5
2021-08-19 tapani.palli@intel.com Fix to multisample texture test shaders with GL 4.5
2021-08-19 tapani.palli@intel.com Fix for the common function tests with GL 4.5
2021-08-13 alexander.galazin@arm.com Remove shaders.arrays from the Khronos mustpass
2021-08-13 ilkka.saarelainen@siru.fi Fix Android system memory requirements
2021-08-13 piotr.byszewski@mobica.com Test multiViewport with different depth ranges
2021-08-13 piotr.byszewski@mobica.com Test OpImageQueryLod when fwidth(UV) == 0
2021-08-13 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC geofflang@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:6441
Change-Id: Ifc95da798a2d6de0a794cef59ea61fb6a353f21d
Tbr: geofflang@google.com,angle-bots+autoroll-info@google.com
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3188073
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
bc8fe7dd
|
2021-09-24T22:50:32
|
|
Translator: Fix removing inactive output vs SH_INIT_OUTPUT_VARIABLES
The code that SH_INIT_OUTPUT_VARIABLES adds for inactive outputs is also
removed with this change.
Bug: chromium:1253016
Change-Id: I3caeb628487354de943f7b53f7462f58baa3eca8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183107
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
93911990
|
2021-09-24T12:14:33
|
|
Add regression test for PBO write to vertex buffer.
There was no test coverage for the "packBuffer->onDataChanged()" call
in Framebuffer::readPixels.
Bug: angleproject:6371
Change-Id: Ib7ccf965a2375077046e21949dc26dc800abff09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182700
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
55690b1c
|
2021-09-20T17:06:31
|
|
Capture/Replay: Updated expectations: one fixed, one skip
Bug: angleproject:6324
Bug: angleproject:6180
Change-Id: I8537e684e63c2000bb877b585f9d8e9be42546f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169657
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
29c01d51
|
2021-09-20T20:49:29
|
|
Capture/Replay: Write the context serialization file correctly
This is what was done before we switched to not changing the working
directory, and what is expected by the test script.
In addition, the captured contexts were also written to the wrong files,
i.e. the replay context to the CapturedContext file, and the captured
context to file ReplayedContext file, so fix that too.
Bug: angleproject:6412
Change-Id: I81906e3f64b2caf0002ca6a28cfce2a3d552fc8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171354
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
9994110b
|
2021-09-09T15:29:13
|
|
Tests: Add Nier Reincarnation trace.
Requires EGL_KHR_gl_colorspace and GL_KHR_texture_compression_astc_ldr.
Test: angle_perftests --gtest_filter="*nier_reincarnation*"
Bug: angleproject:6366
Change-Id: Ibb71520762cf9c0a17047324557e70215754bbbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151818
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e024635d
|
2021-09-10T13:56:28
|
|
ANGLEPerfTest: Skip tests when missing color space support.
Make tests where a non-linear colorspace was requested on platforms
that do not support EGL_KHR_gl_colorspace non-fatal.
Add a initializeGLWithResult function to GLWindowBase, returning a
new GLWindowResult enum and wrap it in EGLWindow and WGLWindow.
Bug: angleproject:6366
Change-Id: Ib57327c4d988d82064272f229f8ad59287541623
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151833
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
eb1d5ca5
|
2021-01-29T15:34:49
|
|
Vulkan: Enable sync validation
Based on a change by tobine@google.com
Bug: angleproject:5290
Change-Id: Ieae1be5a29f0dcb3ea8aaa04e77fc402380a08b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171432
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d71dc819
|
2021-09-22T16:01:06
|
|
Fixes for RowMajor test failures
row_major matrices get translated to column major matrices
and the expressions rewritten. To do this temporary variables
that contain the column and row index expressions are moved
to separte statements before the matrix expression itself.
When this happens it breaks side effects and short circuits
in the expression.
The solution is to call SeparateCompoundExpressions before
calling RewriteRowMajorMatrices.
Bug: angleproject:6386
Change-Id: I4d819ade959e2a875495f62733e11d86560d3fab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177337
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
4f2b2995
|
2021-09-23T09:50:46
|
|
Fix -Wshadow.
This still disables the warning for glmark2 instead of fixing it, to
avoid needing to upstream a patch.
Bug: chromium:794619
Change-Id: Ice602996041d6090c9b09ee81c8ed095c4fa6b2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3179860
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e1a9af6a
|
2021-09-20T10:42:03
|
|
Translator: Fix HLSL vs for loop's init not having initializer
The handleExcessiveLoop code expected that if a for loop has an init
expression that it must necessarily have an initializer as well. That
is not true in (fuzzer-produced) code such as following:
for (int i; ...; ...)
Bug: chromium:1238182
Change-Id: Id761e937a34a6b2feac1266e22207350a3bd616c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3170114
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
3e234e24
|
2021-09-17T11:45:01
|
|
PerfTests: Updates to several tests.
Bug: angleproject:6371
Change-Id: If71c79fd363f7463098b571550af6ceb0634c00d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176440
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
92f1eb7b
|
2021-09-22T16:57:01
|
|
Skip Linux+AMD ComputeShaderTest test failures
The following tests are failing on Linux w/ RX 5500 XT:
ComputeShaderTest.ImageBufferMapWrite/ES3_1_OpenGL
ComputeShaderTest.BufferImageBufferMapWrite/ES3_1_OpenGL
These tests were added as part of:
3146319: Vulkan: Add ResourceWrite to track Read and Write Access
https://chromium-review.googlesource.com/c/angle/angle/+/3146319
They are being suppressed since it's only the OpenGL backend that's
failing this combination, and the ANGLE changes in the CL were only in
the Vulkan backend.
Bug: chromium:1252169
Test: ComputeShaderTest.ImageBufferMapWrite/ES3_1_OpenGL
Test: ComputeShaderTest.BufferImageBufferMapWrite/ES3_1_OpenGL
Change-Id: I607979979814327eda9f3823ae3c774b86e94c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177071
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
c3e0eafa
|
2021-09-22T13:35:04
|
|
Revert "Perf Tests: Split samples into sub-tests on desktop."
This reverts commit 90c981dafc06d6bc0696749dface1337e37784d2.
Reason for revert: Causing timeouts on perf bots.
Original change's description:
> Perf Tests: Split samples into sub-tests on desktop.
>
> This adds an option to the perf test runner to split each sample of
> each test into a sub-test. The sub-tests then are split among the
> shards like ordinary tests, and distributed across machines. The
> intent is that running on different machines will reduce inter-build
> variance because of differences between test machines.
>
> This sampling change is only added to desktop (Linux/Win) because
> Android device variance seems to be lower.
>
> Bug: angleproject:6090
> Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:6090
Change-Id: I92bffb98999f35274ec31a3b7567d87453feff94
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174274
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
68c0da83
|
2021-09-15T12:00:08
|
|
Vulkan: Inform frontend when new buffer is allocated
When a buffer is mapped with GL_MAP_INVALIDATE_BUFFER_BIT while it's
currently in use, the Vulkan backend will allocate a new buffer, map it,
and return the pointer to the new buffer. This was missing a call to
inform the frontend that a new buffer was allocated, causing the old
buffer data to be accessed in subsequent draw calls.
The fix is to add a onStateChange(angle::SubjectMessage::SubjectGhosted)
call when the new buffer is allocated, to inform the frontend.
Bug: angleproject:5971
Bug: angleproject:6396
Test: TextureBufferTestES31.MapTextureBufferInvalidateThenWrite
Change-Id: I9984d1049ab4d6a2066f4440fc710c9b93ff6ab8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163244
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9158436e
|
2021-07-31T18:26:16
|
|
Vulkan: glMapBuffer(): Create new buffer (Buffer Ghosting)
When glMapBuffer() is called, if the buffer is in use but not being
written to by the GPU:
1.) Create a new buffer.
2.) Copy the contents of the old buffer into the new buffer.
3.) Map the new buffer and return the pointer.
Creating a new buffer prevents ending the renderpass and flushing the
commands to allow the in-use buffer to be mapped. This change increases
Idle Heroes performance from 40FPS to 125FPS.
Bug: angleproject:5971
Test: VulkanPerformanceCounterTest.MappingGpuReadOnlyBufferGhostsBuffer
Test: BufferDataTest.MapWriteArrayBufferDataDrawQuad
Test: BufferDataTest.MapWriteArrayBufferDataDrawArrays
Change-Id: I1d433d179f9f5110a948f191c5aedda5397acac8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3065799
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
57d59e83
|
2021-09-07T17:41:11
|
|
Vulkan: Add ResourceWrite to track Read and Write Access
vk::Resource currently only tracks accesses in general, not which type
of access is being performed. This CL adds the new class ResourceWrite
to track whether the access is a Read or Read/Write access and when
the access completes.
This allows a follow-on CL to know when a buffer is being written to by
the GPU or if the GPU is only reading from a buffer. Tracking write
accesses to buffers is required when attempting to "Ghost" (duplicate)
GPU-read-only buffers to prevent breaking the render pass when the CPU
maps the buffer memory.
Bug: angleproject:5971
Test: ComputeShaderTest.ImageBufferMapWrite
Change-Id: I965e3e75730719ccce77334744ae4feae33c6101
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3146319
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7dd2361b
|
2021-09-17T15:43:22
|
|
Metal: ANGLE Metal AutoObjCPtr == nullptr comparison is inverted
Port the fix from Webkit for this inverted comparsion
Unify the nullptr type throughout all functions
Bug: angleproject:6351
Change-Id: Id856af31c9eea5cc79993c3454e452d1c14d0d0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169436
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
|
|
f6616c71
|
2021-09-14T17:42:22
|
|
Reimplement transform feedback on direct-to-Metal backend
Connect the Transform Feedback code generation from Webkit ANGLE
to the shader specialization code.
Bug: angleproject:6393
Change-Id: I090c44c6ee97e8e0af8c38433bfb74c2080784f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161455
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
3666f00f
|
2021-09-20T16:20:50
|
|
GN: Remove the "no GTest" dEQP targets.
These were unused and removing them cleans up the VS projects.
Bug: None
Change-Id: I1e1787ad1ceac15ecc88d9338e65b3072496066d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3173251
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
59d31ea6
|
2021-09-17T17:43:13
|
|
Metal Direct: TinyDepthStencilWorkaroundTest.DepthTexturesStick
Change code to rewrite attributes by searching for both the standard,
and rewritten name. We will match with any vertex attribute
variables that experienced a renaming during shader processing
Bug: angleproject:6388
Change-Id: Ia6f5b87092990e9df42f1dbb87a8bf393ba50c4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169438
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
90c981da
|
2021-09-10T11:04:19
|
|
Perf Tests: Split samples into sub-tests on desktop.
This adds an option to the perf test runner to split each sample of
each test into a sub-test. The sub-tests then are split among the
shards like ordinary tests, and distributed across machines. The
intent is that running on different machines will reduce inter-build
variance because of differences between test machines.
This sampling change is only added to desktop (Linux/Win) because
Android device variance seems to be lower.
Bug: angleproject:6090
Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9184973f
|
2021-07-21T08:28:30
|
|
Add GetCompressedTexImageANGLE to ANGLE_get_image
Includes front-end support for reading back compressed texture images.
Back-end support is incomplete and will be implemented in a future CL.
CL authored by cnorthrop@google.com.
Bug: angleproject:6177
Change-Id: I1482b15e5ffec6120f09f51b2718cdbef07c93c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163359
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
46149c0e
|
2021-09-17T15:38:47
|
|
Translator: Fix pruning functions that declare a struct
When pruning unused functions, the entire declaration of the function is
removed. If the function declares a struct as part of its return value,
the declaration of that struct was lost. This change makes sure that
declaration survives the pruning. For example:
struct S { vec4 v; } unused_func() { ... }
is now replaced with:
struct S { vec4 v; };
This change also makes struct usage validation more stringent.
Bug: chromium:1248753
Change-Id: Idd9a87fd2e785135775cfea62995fd33adaf3c09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169691
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1ae79810
|
2021-09-16T08:47:20
|
|
Capture/Replay: Update expectations and add bugs
Bug: angleproject:6314
Bug: angleproject:6334
Bug: angleproject:6399
Bug: angleproject:6400
Change-Id: Ibf1e747080bcbf482e399db18c1f14e8af61fd26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162438
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
c85d9a19
|
2021-09-07T11:41:10
|
|
Destroy all unreferenced Contexts resources during terminate()
When eglTerminate() is called, all of the Contexts that the Display owns
need to be destroyed if they are not referenced by (current to) any
Threads. This also requires a change to Display::releaseContext(), to
remove the recursive call to Display::terminate() that could occur when
releasing the Contexts during terminate().
Bug: skia:12413
Test: EGLContextSharingTestNoFixture.EglTerminateMultipleTimes
Change-Id: Ibd0a3e22725d29875c4089bdaae47c98e5084f35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144146
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1af5c46c
|
2021-09-14T14:40:49
|
|
Move JsonSerializer from libANGLE to common.
This lets us use the serializer from outside of libANGLE. The plan is
to use it to serialize a list of supported extensions from the tests.
Bug: angleproject:6379
Change-Id: Ib7b64cca32e733e342b80f893d3752318089f0c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163361
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
23b16743
|
2021-09-14T10:29:14
|
|
Fix compilation when disabling D3D back-ends.
Common code areas weren't compiling when disabling combinations
of the D3D9 and D3D11 back-ends. With manual testing this fixes
various combinations of angle_enable_d3d9/d3d11/gl.
Bug: angleproject:5925
Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
14539cab
|
2021-09-16T12:06:09
|
|
Suppress failing end2end tests on direct-to-metal/M1
Two tests from UniformBlockWithOneLargeArrayMemberTest fail when
using the direct-to-metal backend. Suppress until this is fixed.
This CL also adds parsing for the Mac M1 chips to our end2end
test expectations.
Bug: angleproject:5505
Bug: angleproject:6390
Change-Id: Ia578e4c582f1522eec9e1cb2c499e3e717b67c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3164820
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
158ef351
|
2021-09-15T13:40:28
|
|
Fix integer overflow in BlockLayoutEncoder
BlockLayoutEncoder::mCurrentOffset's computation had the
possibility of causing integer overflows in multiple places,
so this CL adds CheckedNumeric variables in a number of
these occurrences in order to prevent integer overflows and
causing issues.
The issue in this case was an integer overflow causing the
code in ValidateTypeSizeLimitations.cpp to use an invalid
result from "layoutEncoder.getCurrentOffset()", which ended
up compiling a shader which would later cause an OOM error.
Bug: chromium:1248665
Change-Id: I688d669f21c6dc2957e43bdf91f8f8f08180a6f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163356
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
2eba872a
|
2021-09-15T12:33:34
|
|
Capture/Replay: Run binary save/load tests only when supported
Bug: angleproject:6325
Change-Id: Ibd4a62f93030cd01b30e8636e7663176a1763119
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162436
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
9121a79d
|
2021-09-14T11:57:32
|
|
Capture/Replay: Don't set CWD and pass path information instead
With that we avoid complication when evaluating the module path that
is used to load the test modules.
Fixes: 2f3e4db838068584a0c15653cb07893683a55300
Capture/Replay: Serialize trace metadata to a JSON file.
Bug: angleproject:6385
Change-Id: If4e348237d9b0e99e404f49b28dddba1ac50ef92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157907
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
c78ebccd
|
2021-09-09T16:47:26
|
|
Perf: Add _many_tex_draw test
Add a new perf test _many_tex_draw, which draws with 8 textures bound.
The intent of this test is to stress calls like retain() with various
implementations of vk::Resource.
Additionally, this CL updates the textures to use format GL_RGBA, rather
than GL_RGB, to avoid the emulation step that's required due to the lack
of support for the 3 channel format.
Bug: angleproject:5971
Test: DrawCallPerfBenchmark.Run/*_many_tex_draw
Change-Id: Iffb39b76fab68cc2a76dfd2da38db7e77cb4dac0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0cea3fe2
|
2021-09-15T14:02:47
|
|
Suppress more flaky tests
Bug: angleproject:5505
Change-Id: I6e77769b36a2cccb22f4048ff4fe47258e58d7c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163493
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
085ab6e8
|
2021-09-09T10:22:04
|
|
Turn on Direct Metal tests
Bug: angleproject:5505
Change-Id: I8de95f28698785e5467dd82d04cbc7636d6df042
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152156
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
54e89a1b
|
2021-09-02T16:48:42
|
|
Capture/Replay: handle param reading of glGetUniformuiv
Enable the test that was fixed by this.
Bug: angleproject:6108
Change-Id: I0bd46a85c2337e3c1a236954c8f131df12c499b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140155
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e10a4031
|
2021-09-08T15:57:00
|
|
Vulkan: Add a test to triger large VAO dirty bit handling.
Some traces bind one VBO to a large number of VAOs,this will cause
glBufferData spending a lot of time doing VAO dirty bit handling,which
leads to high cpu load in these traces.This test could triger this
issue.
Bug: angleproject:6371
Change-Id: Iedc6630b497cb0f62ea0129aefc19c717c3ef905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147173
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
371542cd
|
2021-08-23T23:10:09
|
|
Vulkan: Use VK_EXT_load_store_op_none
With read-only depth/stencil attachments, ANGLE utilizes storeOp=NONE to
optimize memory bandwidth (by avoiding write back of tile memory at the
end of the render pass). Simultaneoulsy, this avoids a synchronization
hazard with the next write to that depth/stencil image.
If a framebuffer contains a depth/stencil attachment but it's unused,
ANGLE utilizes loadOp=NONE/storeOp=NONE to effectively remove any memory
bandwidth wasted on the attachment.
Bug: angleproject:5371
Change-Id: I76cbadbf1194041532ac4b690ffe087298f2de51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114232
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
66886228
|
2021-09-13T11:58:31
|
|
delete a wrong comment
delete a wrong comment for test DrawElementsElementArrayBufferMapped
Signed-off-by: Hailin Zhang <hailinzhang@google.com>
Change-Id: Idc95b50f3fd2ca2da65b090a20f5fdc36605b8e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158291
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e1befb35
|
2021-09-09T15:53:32
|
|
fix a EXT_buffer_storage issue.
According to spec, GL_MAP_PERSISTENT_BIT_EXT indicates that
it is not an error for the GL to read data from or write data
to an immutable buffer while it is mapped.
Bug: b/188685164
Change-Id: I899a978dbf9c1d1ad3489063028fd5500c4bd5e1
Signed-off-by: Hailin Zhang <hailinzhang@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151278
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
5650273a
|
2021-09-07T09:41:59
|
|
Capture/Replay: Capture trace file list to JSON.
Instead of using a text file, we can use a JSON file to store the
list of files in a trace. We can use this list in the GN to pull
the trace files directly instead of using auto-generated code. It
also consolidates the trace metadata in a single location.
Also captures the Windows Surface ID to the JSON file.
Bug: angleproject:5133
Change-Id: I236b614f7d0c844e7c4a5276dd6ac5964e5c393d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144214
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7e8fa429
|
2021-09-08T11:56:45
|
|
Capture/Replay Tests: Script cleanups.
Minor cleanup changes and removes some outdated parameters.
Includes logging information about how much time the script spends
running each child process.
Bug: angleproject:6102
Bug: angleproject:6299
Change-Id: I0b4da535b858ced3cdc21c341c2c001ffe9c8192
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149190
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
247ee1c3
|
2021-09-10T09:38:25
|
|
Perf Tests: Output results in "msBestFitFormat" again.
The histogram bins for "ms" would cause excessive rounding for tests
that run very quickly. For example, 0.0012354 ms would be rounded to
0.001 ms. This would produce very flat graphs that don't accurately
represent the real results.
Bug: angleproject:6090
Change-Id: I9293b2083d7e54dc2663648c361f4883278806ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152746
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0e021199
|
2021-09-08T12:31:47
|
|
Gold Tests: Append "show all results" to triage links.
This should allow for easier triage when CL authors run into new
images that don't match the goldens.
Bug: skia:12428
Change-Id: I60fee615f23f5a1b36ddbe6c6708498fb3def46e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149571
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
10d6e9b0
|
2021-09-09T20:39:50
|
|
Suppress dEQP GLES3 failures on Mac Intel UHD 630
Bug: angleproject:6376
Change-Id: I10338ca3ec35d301195a04fc15b2148c7b7a5f4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152858
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13e9817b
|
2021-09-08T11:57:00
|
|
Translator: Fix assert in ScalarizeVecAndMatConstructorArgs
This transformation assumed that precision can be derived for constants
in every possible scenario, but that's not true. The fuzzer produced
the following code:
void main()
{
mat4 m;
mat2(0, bvec3(m));
}
In the above, the constant 0 legimitately has no precision. The assert
was in a function that attempted to make a temporary out of the
constant, which this commit changes to use the original constant as-is.
Bug: chromium:1246781
Change-Id: I6f247264e5213cfd9449fdfb1dc312d02b99f2f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac78d723
|
2021-09-08T12:19:40
|
|
Capture/Replay Tests: Allow 3 concurrent ninja processes.
This is an attempt to fix the flaky ninja error when running
multiple processes while still getting pretty good test times.
The previous fix eliminated the flakiness but doubled the test
time. In local testing this is a bit slower but not 2x slower.
Bug: angleproject:6299
Change-Id: Ibcd462712d3eab759c5923ca229e009046783e9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149570
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
44ab7a14
|
2021-09-09T10:05:19
|
|
Capture/Replay: Mark one test as flaky.
WebGLCompatibilityTest.DrawArraysBufferOutOfBoundsNonInstanced
Bug: angleproject:6373
Change-Id: I0c26511b3ab0cc4938fd7b7242a6ac033b22df42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149377
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1a6fd9d0
|
2021-09-09T10:32:26
|
|
Capture/Replay: Remove debug logging
The debug logging is flooding the terminal with the following:
Frame 0: x 0 y 0 (screen x 64, screen y 133)
Frame 1: x 1 y 0 (screen x 74, screen y 133)
Frame 2: x 2 y 0 (screen x 84, screen y 133)
Frame 3: x 3 y 0 (screen x 94, screen y 133)
Frame 4: x 4 y 0 (screen x 104, screen y 133)
Frame 5: x 5 y 0 (screen x 114, screen y 133)
Frame 6: x 0 y 1 (screen x 64, screen y 166)
Frame 7: x 1 y 1 (screen x 74, screen y 166)
Frame 8: x 2 y 1 (screen x 84, screen y 166)
Frame 9: x 3 y 1 (screen x 94, screen y 166)
This drowns out all over log statements, so it's being removed.
Bug: b/186881553
Change-Id: Ib2235a18b56b993f16e7532249c488403383bd65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152155
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3dded466
|
2021-09-09T15:28:07
|
|
Tests: Add Blockman Go trace.
Test: angle_perftests --gtest_filter="*blockman_go*"
Bug: angleproject:6365
Change-Id: I5f1008288ff1b4ec049e721fbdf72e80902fe8fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
a33d902b
|
2021-08-16T12:01:53
|
|
Add Entry points for GL_EXT_EGL_image_storage
Code generation for GL_EXT_EGL_image_storage
Bug: angleproject:6346
Change-Id: Ib918619205bfe7bd8fba0748ff6db593c858151f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133763
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8ea87a67
|
2021-08-17T18:46:36
|
|
Vulkan: Avoid texture format fallback when possible
Some texture formats are not renderable on some hardware. For example,
R4G4B4A4 are not renderable on nvidia and not blendable on ARM.
R5G5B5A1 are also not blendable on nvidia. Right now when we generate
format table, we are being most conservative, picking an actual format
that is always renderable and blendable. This means when R4G4B4A4 is
used on one of these GPUs, we are always falling back to R8G8B8A8
regardless if the texture is actually being used as color attachment or
not. This CL adds a actualRenderableImageFormatID field in vk::Format.
Initially we will pick actualImageFormatID which only ensures texture
sample capability. If later on the texture is being attached to FBO,
then we will switch to actualRenderableImageFormatID and do data copy if
necessary. This way we save memory and reduce texture bandwidth for most
usage of these textures. For renderBuffer and surfaces and EGLImages, we
always pick the renderable textures.
Bug: b/196456356
Change-Id: I02eec3365c2a317b0d1bad6dbdc3e741114c5bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104514
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
46555145
|
2021-09-02T14:55:02
|
|
d3d11: Allow binding R/RG texture to EGLImage
Also allows GL_RED/RG/R16/RG16_EXT as well as GL_RGB10_A2_EXT which was
left out previously by accidently to match Chromium behavior. Adapts
the existing ClearTextureImage test to parameterize over a number of
texture formats.
Bug: angleproject:6369
Change-Id: I91110a06b08379a3067a2161e345258415cd5e16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140744
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5726158f
|
2021-09-08T13:31:40
|
|
Trace Tests: Fix test data path.
A prior refactor was missing the path separator between the trace
folders. This CL also makes the error more visible by forcing the
test step to fail if there's a missing path. Previously it would
print an error message but silently continue.
Bug: angleproject:5133
Change-Id: I71e7c751662a08d6ff199f0f802310d0ef52ed5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149572
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f1cbaac7
|
2021-09-08T10:21:40
|
|
Capture/Replay: Disable world_of_kings for Win+Intel
The world_of_kings trace is flaky, particularly on Windows+Intel.
In most instances (every?) it's off by 1:
Left Pixel rgba(32, 105, 119, 255) #206977FF <<--- good
Diff rgba(0, 0, 1, 0)
Right Pixel rgba(32, 105, 118, 255) #206976FF <<--- bad
Bug: angleproject:6372
Bug: b/198101940
Change-Id: I6be7138e050d63df3dd8a189882b64dadfe62740
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149433
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
2f3e4db8
|
2021-09-02T10:31:13
|
|
Capture/Replay: Serialize trace metadata to a JSON file.
This will allow us to remove more code auto-generation for the trace
tests. The trace info now can be loaded directly from JSON instead of
from the autogenerated information.
Bug: angleproject:5133
Change-Id: I04e22b9279b19282df274bc8defcd363d0449111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140218
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9874be31
|
2021-09-02T10:25:21
|
|
Trace Tests: Load trace list from JSON file.
Instead of using the auto-generated enum for the trace list, load
directly from restricted_traces.json. This will lead to more CLs
that entirely remove the auto-generated code from the trace tests.
Bug: angleproject:5133
Change-Id: I6515624a2145319d097b43085741cf9c48f1792e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140217
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5a7b8c61
|
2021-08-31T14:58:06
|
|
Vulkan: Removed size check when handling mismatched vertex attributes
If locations are specified to be noncontiguous or out of order when
there is a mismatch between the attribute type specified by
glVertexAttribPointer and the shader, the program's attribute type
from ProgramExecutable's getProgramInputs() method would fail.
This is due to using attribIndex which refers to the attribute's
location rather than the position in the vector returned from
getProgramInputs().
This change removes the size check as it's not needed for
GL_ANGLE_relaxed_vertex_attribute_type.
Bug: angleproject:5762
Test:
VertexAttributeTestES3.DrawWithMismatchedComponentCountLocationSpecified
Change-Id: Ie15f2095e618e12403d1524273d1add74b00cdbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3137273
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
d6afeadd
|
2021-08-30T14:44:59
|
|
Vulkan: Make descriptor set bindings consistent across shader stages
Previously if a uniform or uniform block was used in a program's
shader, a different descriptor set binding index would be used
for each linked shader stage. Now, the bindings chosen for
uniforms and blocks of the same name will be identical.
This change also updates mActiveImagesMask in ProgramExecutable
for separable programs.
Bug: angleproject:4512
Tests: KHR-GLES3*.core.geometry_shader.api.max_image_uniforms
ProgramPipelineTest31.MaxFragmentShaderStorageBufferObjects
ProgramPipelineTest31.MaxFragmentUniformBufferObjects
ProgramPipelineTest32.MaxGeometryImageUniforms
GeometryShaderTestES32.MaxGeometryImageUniforms
Change-Id: I3662d06b4dec284f4c51c6047e6b684b82925e3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3068381
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c5d11128
|
2021-09-02T18:18:02
|
|
Vulkan: Skip but keep incompatible updates.
If texture has a level incompatibly specified, right now we are still
oding the copy. This will trigger VVL and is incorrect. This CL skip the
flush and keep it.
Also Add various tests for 16 bit texture format in preparation for
future CLs that may pick a more native format for 16 bit texture instead
of always fallback to 32 bit.
Test: VulkanFramebufferTest.R4G4B4A4TextureSampleOnlyActuallyUses444Format
Bug: b/196456356
Change-Id: I9d53a97bb72208b52fb25e429abb49bbbc53c50c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3141030
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c5a38976
|
2021-09-01T07:35:40
|
|
Capture/Replay: Add expression trigger validation calls.
Setting the environment variable "ANGLE_CAPTURE_VALIDATION_EXPR"
will make ANGLE's capture logic evaluate this expression every
captured call to see if it should insert a validation checkpoint.
The retracing script also accepts --validation-expr as an argument.
For instance, the expression:
((frame == 2) && (call < 1189) && (call > 1100) && ((call % 5) == 0))
Will insert validation checkpoints on frame 2, between calls 1100 and
1189 and will validate every 5th call. The 'call' here is the count of
captured calls, which are mostly GL calls with a few ANGLE replay
calls in the mix.
We add a small single-header library that can evaluate arthithmetic
expressions in order to parse these expressions, as well as an option
to the retracing script.
Bug: angleproject:5133
Change-Id: Ic369e85d8e905a3a7a32fa098f7d8ebe7baf4ab9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136094
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
178b8481
|
2021-09-03T23:30:52
|
|
Revert "Skip validation of stderr in TestSuiteTest.RunFlakyTests"
This reverts commit 89dbbb2ac6875c92c99feb24353641142bbd49b1.
Reason for revert: The test failure was gone in latest clang roll.
Original change's description:
> Skip validation of stderr in TestSuiteTest.RunFlakyTests
>
> There is a bug (crbug.com/1234124) causing the profile runtime to print
> errors about failing to write the profraw file. Don't validate stderr in
> these builds until that is fixed.
>
> Bug: chromium:1234124
> Change-Id: Ie1e3a3eaf7dc0e2c20064822f774cc85fe79d3bc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076479
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1234124
Change-Id: If33e92b533c99677d2b8f55de618ecf15e3f19d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3141973
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3ae1f336
|
2021-09-03T09:34:10
|
|
WebGL: Make unsuccessful links fail subsequent draw calls.
This protects against incomplete state updates during a failed
link call that can interfere with draw calls.
Bug: angleproject:6358
Bug: chromium:1241123
Change-Id: Ie892654c3a58c69d6e35ba3c41758ab6269d8193
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140496
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ab187c35
|
2021-09-02T14:46:29
|
|
Handle comparing arrays of scalars/vectors/matrices
Fixes:
UniformBlockWithOneLargeArrayMemberTest.MemberArrayOperations/ES3_Metal
Bug: angleproject:5505
Change-Id: Ife35db2146ac8ce8c0880cdb98df57dc75cb35cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140712
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b0dfd268
|
2021-09-02T10:53:57
|
|
Capture/Replay: Handle Gen/Delete ProgramPipelines
Enable the test that failed compilation before.
Bug: angleproject:6180
Change-Id: Id15a5b82c8ee5dab291090375d15ce93b8908535
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139900
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
066edc2b
|
2021-09-02T10:11:03
|
|
Capture/Replay: Handle glGetFragDataLocation
Enable the test that is now passing
Bug: angleproject:6180
Change-Id: I3aadc708ebf0b5d751af0a45713aaf4b72526188
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139899
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
349d555d
|
2021-09-02T10:07:26
|
|
Capture/Replay: handle glGetBooleani_v
This also fixes a test.
Bug: angleproject:6180
Change-Id: Icad2d089738f4458c90b87620337e9798adb9141
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139898
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
b6e99bb3
|
2021-09-02T13:47:34
|
|
Rename and expand shader variable init feature.
This feature now forces both output and unitialized locals to be
initialized by the shader translator. This feature is needed by the
trace validator to ensure we get deterministic behaviour in traces
that exhibit some undefined results.
Bug: angleproject:5133
Change-Id: Id1242cd077a57e891eed217f7671976ce1631a58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140216
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9c05f55a
|
2021-07-15T10:58:10
|
|
Capture/Replay: Add replay state validation.
We can use this to validate traces that have slight differences
when retracing. The valdation works by embedding the "expected"
JSON into a string at the end of each captured frame. The replay
also embeds a callback which fires right before the swap in the
replay harness. The harness then gets the "actual" JSON and runs
a comparison. On a mismatch it calls "diff" externally.
Currently the diff call is hard-coded to work on Linux only.
Note that when running validation it's important to replay on
SwiftShader since that's what we use to retrace.
Bug: angleproject:5133
Change-Id: Icbf0031d07be8bd916607c537dec235f9a512c43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3066008
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8bb3c827
|
2021-07-22T19:06:40
|
|
Fix Multithreaded eglDestroyContext()/eglTerminate()
The following EGL calls can lead to a crash in eglMakeCurrent():
Thread A: eglMakeCurrent(context A)
Thread B: eglDestroyContext(context A)
B: eglTerminate() <<--- this release context A
Thread A: eglMakeCurrent(context B)
The eglMakeCurrent(context B) call will assert when attempting to
unMakeCurrent(), since thread A doesn't know that context A was already
destroyed by thread B.
To fix this:
1.) A Context will only be released once there are no Threads that
currently have a reference to it (no longer have the Context current).
- Context::mIsCurrent is being removed, since it was inaccurate and not
thread-safe. For example, when eglTerminate() was called, the
eglTerminate()'ing-Thread would "steal" the Context that was current on
another Thread to destroy it.
2.) A Display will only be fully terminated and its resources released
once all Contexts have been destroyed and are no longer current.
Otherwise, Display::terminate() will return if any Contexts are still in
use by a Thread.
EGL 1.5 Specification
3.2 Initialization
If contexts or surfaces, created with respect to dpy are current (see
section 3.7.3) to any thread, then they are not actually destroyed
while they remain current. If other resources created with respect to
dpy are in use by any current context or surface, then they are also
not destroyed until the corresponding context or surface is no longer
current.
With this fix, the app com.netmarble.sknightsmmo can start.
This also exposed an issue with GlslangFinalize(), since glslang can
only be initialized/finalized once per process. Otherwise, the
following EGL commands will call GlslangFinalize() without ever being
able to GlslangInitialize() again, leading to crashes since
GlslangFinalize() cleans up glslang for the entire process.
dpy1 = eglGetPlatformDisplay() |
eglInitialize(dpy1) | GlslangInitialize()
dpy2 = eglGetPlatformDisplay() |
eglInitialize(dpy2) | GlslangInitialize()
eglTerminate(dpy2) | GlslangFinalize()
eglInitialize(dpy1) | isInitialized() == true
Since Display::isInitialized() == true, the rest of
Display::initialize() is skipped and GlslangInitialize() is not called.
Later, the next test that attempts to compile a program will crash due
to glslang no longer being initialized.
Finally, this exposed the following tests leaking EGLContext handles:
- EGLSurfaceTest::initializeContext()
- EGLContextSharingTest.DisplayShareGroupContextCreation
- EGLCreateContextAttribsTest.IMGContextPriorityExtension
- EGLMultiContextTest.TestContextDestroySimple
Other tests were failing to reset the context, preventing the Display
from being terminated since there were still references to Contexts
owned by the display:
eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
Bug: angleproject:6208
Bug: angleproject:6304
Bug: angleproject:6322
Test: EGLContextSharingTest.EglTerminateMultiThreaded
Test: EGLContextSharingTestNoFixture.EglDestoryContextManyTimesSameContext
Test: Load com.netmarble.sknightsmmo
Change-Id: I160922af93db6cabe0ed396be77762fa8dfc7656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
ea609fba
|
2021-08-30T10:43:29
|
|
Capture/Replay: Change workdir for debug runs and annotation
Append "Debug" to the capture_replay_tests workdir if it wasn't
overridden to avoid having to recompile everyithing when running
with or without the --debug flag given.
Also add annotation for test that only fail when run with the
--debug flag.
Bug: angleproject:6282
Change-Id: I7c5251d8a6b1a010f3c0950909db60feeb58c611
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129360
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3f4fc14f
|
2021-09-02T10:13:42
|
|
Capture/Replay: Update expectation for fixed test
Bug: angleproject:6180
Change-Id: Ice84b0b104fe0e6b38e3830e9598f2c71efbc738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3138511
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
606de9b7
|
2021-09-01T12:22:08
|
|
Capture/Replay: Handle glInvalidateSubFramebuffer
Enable tests that are fixed by this
Bug: angleproject:6180
Change-Id: I1efa6c34babf729a22ff42fa0f2d745e75e3521f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3135316
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
9d0e2851
|
2021-09-01T00:42:58
|
|
Fix SeparateDeclarations vs struct specifiers
Bug: chromium:1237696
Change-Id: I3b00f3797800e814ca83226a8e4f25b2a43cc641
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133824
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b8c50f39
|
2021-08-25T09:05:03
|
|
Support syncing traces to experimental CIPD prefix.
This lets us test a retrace without first committing it to the
immutable "angle" prefix.
Bug: angleproject:5133
Change-Id: Ia52ccffe69faf099d6fc92eaf392610eefa549f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118270
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f015ae81
|
2021-08-02T12:47:32
|
|
Implement onLabelUpdate method.
This change will implement the onLabelUpdate method by calling from
every TextureStorage object. Instead of using setDebugName,
introduced two new functions, setInternalName and setKHRDebugLabel,
which will set the internal name and KHR label respectively that will
further be sent to D3D string.
Bug: chromium:1164111
Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
047e9833
|
2021-08-30T10:00:51
|
|
Traces: Move skia gold Python scripts.
Moving this folder up one level allows us to enforce that every
subdirectory in the restricted_traces folder is a trace folder. This
makes it easier to batch delete or move traces.
Bug: angleproject:5133
Change-Id: I5af24ce6c233f50dea2e6ffcaef6d489b03914c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
58f8c824
|
2021-09-01T12:36:31
|
|
Capture/Replay: Update expectation bugs, remove passing test
Bug: angleproject:6334
Bug: angleproject:6180
Change-Id: I7ba4e7d19e394b43e59abbd7d5a89752b6098c10
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
8bb1df7d
|
2021-08-30T17:17:44
|
|
Capture/Replay: Clean up tests that pass and add new failures
Bug: angleproject:6331
Bug: angleproject:6333
Bug: angleproject:6334
Bug: angleproject:6345
Change-Id: I9f6df69f50f6c8c21eaad09e476aac956c78517a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129361
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6eeab192
|
2021-08-27T16:26:25
|
|
Vulkan: Don't defer clear for read render target
We shouldn't collect deferred clears for the read render target because
they get applied to the draw render target. This CL flushes stages
updates to the read render target only if it's not the same as the draw
render target. This can happen when the read render target is bound to
another surface.
Bug: b/192327017
Change-Id: I7c9e804f4eff10728aed7aeeaf41ef3869c9bdbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3125462
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
10846073
|
2021-08-30T14:41:16
|
|
Allow image uniforms to be used in separable programs
This change updates mActiveImagesMask in ProgramExecutable
for separable programs. Previously image uniforms would only
work in the first shader stage.
Bug: angleproject:4512
Tests: ProgramPipelineTest31.ImageUniforms
Change-Id: Ib35bed94bb8fac883fd67f8bfa052186926d0ce4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3131582
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|