|
9e7f08fc
|
2020-11-06T16:55:51
|
|
Vulkan: Fix incorrect reordering of barriers
Take the following situation, a simple copy from image to buffer:
ANGLE_TRY(contextVk->onBufferTransferWrite(buffer));
ANGLE_TRY(contextVk->onImageTransferRead(aspectFlags, image));
CommandBuffer &commandBuffer = contextVk->getOutsideRenderPassCommandBuffer();
commandBuffer.copyImageToBuffer(imageHandle, layout, bufferHandle, 1, regions);
Both `onBufferTransferWrite` and `onImageTransferRead` may flush either
the outsideRP or insideRP command buffers. If buffer is not previously
used, but image is used:
- onBufferTransferWrite: buffer usage is recorded in outsideRP1
- onImageTransferREad: outsiderRP1 is flushed, outsideRP2 is started
- copyImageToBuffer: recorded on outsideRP2, but buffer usage not
recorded there
- A following command that uses the buffer and requires barrier doesn't
close outsideRP2 as it believes it was not used there
Bug: angleproject:5319
Change-Id: Ib8994083fbc21969a538cda3784adee57b089415
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523388
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1885942d
|
2020-11-08T11:19:07
|
|
Vulkan: Move device queue management to CommandQueue.
This closes a few more places where the asynchronous abstraction was
leaking through. We can no longer access VkQueues directly from
RendererVk.
Bug: b/172704839
Change-Id: Idc06ee73816147cf602f21723e75bc5ee842d3e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525145
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
49c13282
|
2020-11-08T10:51:54
|
|
Vulkan: Merge async command queue features.
This merges the 'commandProcessor' and 'asyncCommandProcessing'
features into one new 'asyncCommandQueue' features.
Conceptually the command processor is asynchronous use of the
CommandQueue. This renaming updates the code to reflect the usage.
Bug: b/172704839
Change-Id: I1d7ca1187f802eed48823a01b57fb520527f2540
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525144
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f19a4a20
|
2020-11-08T10:37:33
|
|
Vulkan: Move CommandBuffer management to RendererVk.
This consolidates all relevant logic in a single place.
We no longer need to interact with ContextVk in the worker thread.
This switches the fixed pointer array size to a dynamically sized
vector. Some of the EGL and ANGLE tests would use a large number of
Contexts and we were consistently running out of available command
buffers which would cause a deadlock situation. We can trust other
parts of the code to throttle the application if it starts to get
too far ahead of the device and dispense with the hard coded limit
in the command buffer allocator itself. The resulting code is also
quite a bit simpler and doesn't need a condition variable.
Also fixes missing initialization in SecondaryCommandBuffer.
Bug: b/172704839
Change-Id: Icc3a3daf5d6b272db556c0e4c93fb793583966a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525143
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
ce7bdd0b
|
2020-11-08T09:45:30
|
|
Vulkan: Merge CommandQueue and TaskProcessor.
Bug: b/172704839
Change-Id: I43a40e6a3e1eb00a7ddebfba6e915437aa69aeb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525141
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
0c3d0b21
|
2020-11-11T15:08:08
|
|
Fix texture buffer validation w.r.t to non-existing buffer
Bug: angleproject:3573
Test: dEQP.KHR_GLES31/core_texture_buffer_texture_buffer_errors
Change-Id: I031abd94d6c06e539a2a89a82f2af604a6f3b5b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533493
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6a1fb047
|
2020-11-07T19:04:43
|
|
Vulkan: Align CommandQueue and TaskProcessor.
The intent is to merge these two classes and remove redundant code.
Bug: b/172704839
Change-Id: I6eb66d7b4ddea3633b08df99464975cd59773b4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524550
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a428487a
|
2020-11-12T09:04:25
|
|
Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve
Suppress the following erroneous VVL error:
VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
Bug: angleproject:5331
Change-Id: I403b7e4beaa17fd36e6a8e572c55ec22353e6b80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534394
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3a1838a1
|
2020-11-10T20:30:43
|
|
Vulkan: Let RewriteInterpolateAtOffset use FlipRotateSpecConst
Instead of using uniform, use flip/rotation specialization constant when
available. This allows matrix multiplication calculated at compile time
instead of shader execution time.
Bug: angleproject:4901
Bug: angleproject:3589
Change-Id: I5a8a82b1cffbbbeba2617cb7e9a0ec38f9984d50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530457
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
65ee5168
|
2020-11-08T09:30:39
|
|
Vulkan: Align submit and serial management code.
This progresses the goal of merging TaskProcessor and CommandQueue.
Moving the serial management out of RendererVk allows these classes
to have finer control over when thread synchronization locks happen.
Note: device lost handling seems untested currently.
Bug: b/172704839
Change-Id: I0cc61e1ffe41aad0b898d4146c8dbd08a2cebd3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525140
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
453a113a
|
2020-11-08T13:40:44
|
|
Vulkan: Remove queue/device wait idle in favor of finish().
This change should aid further refactorings. In the future if we need
to support waiting for individual queue idle we can add that back in
a way that's supported by both synchronous and async queue operation.
Bug: b/172704839
Change-Id: I9c9900ac81af60a37719439fe9db6135fcb17d46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525146
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6a39c8cc
|
2020-11-12T11:29:54
|
|
Vulkan: Skip copy_tex_image_conversions.* on Pixel 2
The dEQP tests KHR-GLES3.copy_tex_image_conversions.* are crashing on
Pixel 2 after outputting many VVL errors:
VUID-vkAllocateMemory-maxMemoryAllocationCount-04101
Skipping the tests for now to unblock the VVL rolls.
Bug: angleproject:5340
Change-Id: I8e7606da5262454bbc8c8658886e03f05265c24f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534403
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
15ead5d5
|
2020-11-02T12:25:32
|
|
Reland "Vulkan: Let shader use rotation specialized constant"
This is a reland of 47b3db22be33213eea4ad58f2453ee1088324ceb
Original change's description:
> Vulkan: Let shader use rotation specialized constant
>
> If use rotation specialized constant is enabled via compiler options,
> this CL will use rotation specialized constant to generate flipXY,
> rotation matrix and negFlipXY. This allows the driver to optimize for
> the minimum instructions for rotation.
>
> Bug: b/171750979
> Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tim Van Patten <timvp@google.com>
Bug: b/171750979
Change-Id: I9efde40eb138bacb161cce483a30ec01fee0983b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533933
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3f18ad09
|
2020-11-11T14:12:18
|
|
Vulkan: Factor out DriverUniform code to tree_utils/DriverUniform.cpp
The driver uniform code is used by various tree_ops functions. But all
driver uniform code are defined and implemented in the
TranslatorVulkan.cpp file. There is dependency rule that tree_ops code
can not call into vulkan specific function. Right now we are working
around this problem by always having TranslatorVulkan creates uniform
and pass it down to tree_ops. This creates inefficiency for cases that
dFdy/dFdx where we don't know if we will need the driver uniform or not,
until we walk the tree and see the dFdx node. This CL refactors driver
uniform code into its own file and class under tree_utils so that
everybody can use. Mean time we can also make it much easier for metal
to expand it to have its own uniform structure.
Bug: b/173047182
Change-Id: I06bd9a005ccd6dc0a21321a3010dda1eab9d6fdb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533443
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6df1ffdc
|
2020-11-07T17:17:53
|
|
Vulkan: Remove in-flight commands lock in TaskProcessor.
This is no longer necessary with the removal of the submit fence.
Bug: b/172704839
Change-Id: If8c2795d7e3c73453a235498ed6caac727bdaca5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524549
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e6a302a0
|
2020-11-07T10:49:15
|
|
Vulkan: Move vk::CommandQueue to RendererVk.
This consolidates most of the command processor vs queue logic in one
place. It also has a number of incidental changes related to fences:
- syncs now do not store a shared fence. instead they call command
apis to wait for a particular serial with a timeout. this is not
yet fully implemented in CommandProcessor.
- surface swap history stores a serial instead of a fence. because
the RendererVk class stores the command batches, we no longer have
to do messy things with ContextVk.
- it is no longer possible to ask for a wait on a serial that isn't
in the command queue.
Also adds mutex synchronization around the RendererVk methods.
Bug: angleproject:5217
Bug: b/172704839
Change-Id: I5faf0e24bb6ede79a927ab149b80bfa8baca4620
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524548
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
aead51e3
|
2020-11-12T09:08:19
|
|
Vulkan: Disable OES_shader_multisample_interpolation
The spec for OES_shader_multisample_interpolation requires
support for OES_sample_variables. Disable support until
the changes related to OES_sample_variables land.
Bug: angleproject:3589
Bug: angleproject:3588
Change-Id: I94408a4f4fd74c19922c011242a515cc457910cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535075
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
fb34c93d
|
2020-11-09T19:30:17
|
|
Perf Tests: Add mutex around trace events.
This prevents a race where two threads try to write events
simultaneously.
Bug: b/172704839
Change-Id: Idd2f3b1c2a393488ea2270b91d579dc8630e59d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533496
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e4acbac6
|
2020-11-12T15:57:52
|
|
Revert "Suppress RenderbufferBlitFramebufferTest"
This reverts commit 4a74427ee30e0e0c9eaf0ddb1eb7dc7a6171d5a4.
Reason for revert:
Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311
Original change's description:
> Suppress RenderbufferBlitFramebufferTest
>
> The test
> MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is
> generating VVL errors with the latest VVL roll:
> VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
>
> Suppressing the test rather than the VVL error, so the VVL can still
> catch any new cases of this error while the test is investigated.
>
> Bug: angleproject:5331
> Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest
> Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I70a869453c4a42106204e3d9a1b63e59d649b483
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535072
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e5030b5b
|
2020-11-12T15:56:56
|
|
Revert "Suppress Additional MultisampledRenderToTextureES3Test"
This reverts commit 3c3edc3b761e3ac6543827d41b97f7e0861ac75e.
Reason for revert:
Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311
Original change's description:
> Suppress Additional MultisampledRenderToTextureES3Test
>
> The following tests are generating the VVL error
> VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
>
> MultisampledRenderToTextureES3Test
> - BlitFramebufferTest()
> - RenderbufferUnresolveColorAndDepthThenTwoColors()
> - RenderbufferUnresolveColorAndStencilThenTwoColors()
>
> Suppressing them for now.
>
> Bug: angleproject:5331
> Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Tim Van Patten <timvp@google.com>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I7a941acbf94cc9e4dab662aa32a236c09a7d021d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535071
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
52f77eed
|
2020-11-11T13:44:39
|
|
Suppress BestPractices-vkCreateDevice-specialuse-extension
Suppress the VVL warning:
UNASSIGNED-BestPractices-vkCreateDevice-specialuse-extension
ANGLE uses the extension to match OpenGL ES line rasterization behavior,
so this warning doesn't apply and is being suppressed.
Bug: angleproject:5336
Change-Id: I2f0e086a7ff392e13b6a1da0a55b0e1b81953b2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533437
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c3edc3b
|
2020-11-11T11:49:56
|
|
Suppress Additional MultisampledRenderToTextureES3Test
The following tests are generating the VVL error
VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
MultisampledRenderToTextureES3Test
- BlitFramebufferTest()
- RenderbufferUnresolveColorAndDepthThenTwoColors()
- RenderbufferUnresolveColorAndStencilThenTwoColors()
Suppressing them for now.
Bug: angleproject:5331
Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
15d5965d
|
2020-11-10T15:59:37
|
|
Vulkan: Support VK_KHR_image_format_list for PbufferSurfaces
PbufferSurfaces are now created with VK_KHR_image_format_list
extension support enabled.
Bug: angleproject:2514
Bug: angleproject:5281
Test: PbufferTest.ClearAndBindTexImageSrgb*Vulkan
Change-Id: I8977484c958328d00f688faa7adffff85a37a3b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530535
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4a74427e
|
2020-11-11T09:28:14
|
|
Suppress RenderbufferBlitFramebufferTest
The test
MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is
generating VVL errors with the latest VVL roll:
VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter
Suppressing the test rather than the VVL error, so the VVL can still
catch any new cases of this error while the test is investigated.
Bug: angleproject:5331
Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest
Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658
Commit-Queue: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
89653b97
|
2020-11-11T09:23:18
|
|
Suppress VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad
The test
VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad() is flaky
on the Windows AMD bots, so suppressing for now.
Bug: angleproject:5329
Test: VulkanPerformanceCounterTest.DepthStencilTextureClearAndLoad
Change-Id: I546cd18e319c0b73554fb3ce1e70c75be2168015
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532703
Commit-Queue: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
38016632
|
2020-11-11T08:04:45
|
|
Vulkan: Enable async feature in end2end_tests.
This adds a new async-command-queue-enabled config that we run against
most of the GLES tests in angle_end2end_tests. The tests now test
both with and without the threaded command queue.
Bug: b/172704839
Change-Id: Ife75f8328f23ac150cddf8ad8a6c4b8fc2d83986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532655
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c3607098
|
2020-11-11T16:06:51
|
|
Revert "Vulkan: Let shader use rotation specialized constant"
This reverts commit 47b3db22be33213eea4ad58f2453ee1088324ceb.
Reason for revert:
Broke the ANGLE roll into Chromium:
https://chromium-review.googlesource.com/c/chromium/src/+/2531069
[1875/27343] SOLINK ./libGLESv2.so
FAILED: libGLESv2.so libGLESv2.so.TOC
/b/s/w/ir/cipd_bin_packages/cpython/bin/python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm" --sofile="./libGLESv2.so" --tocfile="./libGLESv2.so.TOC" --output="./libGLESv2.so" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-soname="libGLESv2.so" -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort -m64 -Werror -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath=\$ORIGIN -Wl,--export-dynamic -Wl,-rpath=\$ORIGIN -o "./libGLESv2.so" @"./libGLESv2.so.rsp"
ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFlipXYRef(sh::TVariable const*)
>>> referenced by RewriteDfdy.cpp:134 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:134)
>>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a
>>> referenced by RewriteDfdy.cpp:200 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:200)
>>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithoutRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a
ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFragRotationMatrixRef(sh::TVariable const*)
>>> referenced by RewriteDfdy.cpp:136 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:136)
>>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Original change's description:
> Vulkan: Let shader use rotation specialized constant
>
> If use rotation specialized constant is enabled via compiler options,
> this CL will use rotation specialized constant to generate flipXY,
> rotation matrix and negFlipXY. This allows the driver to optimize for
> the minimum instructions for rotation.
>
> Bug: b/171750979
> Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tim Van Patten <timvp@google.com>
TBR=ianelliott@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
Change-Id: Id3976259d1f4049aa62b679ad5b25c2ac337c92b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/171750979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532702
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
246de6ba
|
2020-11-11T12:32:39
|
|
Revert "Created test and fixed texture storage bug in d3d11"
This reverts commit 03f3ba5b1454ee7c15cd9391e77307cf1d274b48.
Reason for revert: Suspected for causing Dawn tests failure:
SharedImageGLBackingProduceDawnTest.Basic
https://chromium-review.googlesource.com/c/chromium/src/+/2530246
Original change's description:
> Created test and fixed texture storage bug in d3d11
>
> Bug: b/172489285
> Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,vantablack@google.com
Change-Id: Ic0be42e070c9b9b986b724d2aa74cfdeff375245
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/172489285
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532654
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
47b3db22
|
2020-11-02T12:25:32
|
|
Vulkan: Let shader use rotation specialized constant
If use rotation specialized constant is enabled via compiler options,
this CL will use rotation specialized constant to generate flipXY,
rotation matrix and negFlipXY. This allows the driver to optimize for
the minimum instructions for rotation.
Bug: b/171750979
Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8a90378c
|
2020-11-07T10:40:28
|
|
Vulkan: Remove hasPrimaryCommands().
We now create empty primary command buffers when there are
no existing commands to submit. The main reason to remove this
is so that we don't have to make a synchronous call to
CommandQueue or the async command processor to determine if there
are queued primary commands.
Bug: b/172704839
Change-Id: I53f65eaa187b618e4ed82a5d2805a76e6a9e036c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524547
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
03f3ba5b
|
2020-11-04T13:16:31
|
|
Created test and fixed texture storage bug in d3d11
Bug: b/172489285
Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b22f8e8e
|
2020-10-29T15:50:39
|
|
Vulkan: Add specialization constants for surface rotation
This plumbing through the specialization constant for surface rotation
from ContextVk to pipeline program creation. It has not been used yet,
so expecting no real functional change. This CL also converts
lineRasterEmulation to use the same specialization constant path as
surface rotation.
Bug: b/171750979
Change-Id: Ic08c4f8bb576424d1752015e874d0977a58d78bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508837
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d65420c
|
2020-11-07T10:22:34
|
|
Vulkan: Move CommandQueue to CommandProcessor.h.
This will facilitate moving this class from the ContextVk to
RendererVk. Also cleans up some redundant vk:: prefixes.
Bug: b/172704839
Change-Id: I789c9984c0df7fc376e2373530e48afde354d30b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524546
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8305ebd4
|
2020-11-03T18:42:04
|
|
Add tests to show bad waitSync/flush behavior
Add the following tests to show ANGLE's poor behavior with
glWaitSync/glFlush leading to a vkQueueSubmit each time:
FenceSyncTest::MultipleFenceDraw
MultithreadingTestES3::MultithreadFenceDraw
MultithreadingTestES3::MultithreadFenceTexImage
Bug: angleproject:5306
Test: FenceSyncTest::MultipleFenceDraw
Test: MultithreadingTestES3::MultithreadFenceDraw
Test: MultithreadingTestES3, MultithreadFenceTexImage
Change-Id: I16f653af028677e3c621c3b9a7fd5963fa03d656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519092
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
9a0284e8
|
2020-11-07T09:56:49
|
|
Vulkan: Merge command paths in submitFrame.
This makes the CommandQueue and CommandProcessor paths nearly the
same in submitFrame. The end goal is to make them take identical
input parameters.
Bug: b/172704839
Change-Id: If3ef2752534de1c3dcaefa5730b308aea46e549e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524545
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a391674c
|
2020-11-09T16:16:49
|
|
Vulkan: Support VK_KHR_image_format_list for RenderBuffers
RenderBuffers are now created with VK_KHR_image_format_list
extension support enabled. We only enable those tests where
the EGL image's source is a RenderBuffer but not those tests
where the EGL image's target is a RenderBuffer. There are some
corner cases related to glReadPixles that need to be resolved
to unblock those tests.
Bug: angleproject:3756
Bug: angleproject:5281
Test: ImageTest.SourceRenderbuffer*Vulkan
Change-Id: I643a9d74d14473cc7df59fa6e25acab7d1c9aad1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2528475
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
98035e11
|
2020-11-09T17:55:39
|
|
Capture/Replay: Split into separate shared libaries.
This will produce several smaller shared libs rather than one very
large one. Involves moving the trace loader to its own shared module
as well. Because the traces didn't have export labels on most of the
affected functions I had to use a "force include" argument on the
compiler. We can remove this once we re-capture.
This is a first step towards testing one trace at a time on an Android
device.
Includes a complete set of new regenerated traces.
Bug: angleproject:5133
Change-Id: If984de34af21fce48b0832401dbe5aa4b002ce95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506199
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
36787dcb
|
2020-11-04T23:06:47
|
|
Vulkan: Fix PBO assuming color images
Bug: b/172354898
Change-Id: I777eaa33ddac853492d38a03c16caeddad0c2d16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520108
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
72001c7d
|
2020-11-07T12:33:01
|
|
Vulkan: Bug fix in texture respecification code
When a target texture is created from an EGL image, respecification
of the texture needs to take into account the fact that it din't own
the ImageHelper. Refactor copy and stage code to account for this
possibility as well.
Bug: angleproject:3756
Bug: angleproject:5281
Test: ImageTest.Source2DTarget2DTargetTextureRespecify*
Change-Id: I2e3bd5d1d64e85da521a841423cfe24673efe88f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524703
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
528ae31e
|
2020-11-08T10:06:04
|
|
Vulkan: Move ExtensionNameList out of the class.
Mostly a consistency change where now the list never needs to be
prefixed with RendererVk:: and always prefixed with vk::.
Also we can respect the style guide's member ordering suggestion.
Bug: b/172704839
Change-Id: I758bf324573e5585be6842b3455feab0c23c9d4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525142
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c8a7c033
|
2020-11-07T09:12:47
|
|
Vulkan: Move primary command buffer to CommandQueue.
This brings CommandQueue one step closer to the worker thread.
Bug: b/172704839
Change-Id: I35225c5f302e34e3feb38a35c22b6d8e6f4ad10c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524543
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
580b775f
|
2020-11-09T14:57:28
|
|
Traces: Use 4 download threads.
This should significantly speed up checkout on dev machines.
Bug: angleproject:5133
Change-Id: Iba20182c600ea8e17de47bb4e84b2e4191d301d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2527721
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
489f2c83
|
2020-11-06T17:24:28
|
|
Perf Tests: Trace multiple threads.
This uses a little helper list to map thread IDs into simple serials
that we output as 'tid' in our trace JSON file. We can use this to
analyze the behaviour of the command processor thread.
Bug: b/172704839
Change-Id: Ic1b5f3ec8427cb310833d1f589503daec4812681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524542
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3806696c
|
2020-11-06T23:04:35
|
|
Fix expectations file for prerotation dEQP executables
Bug: angleproject:4901
Change-Id: Ibc930a27887a3ba710168a9b122d46aac1530984
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
34130c2e
|
2020-11-07T15:11:14
|
|
Vulkan: Rewrite interpolateAtOffset to account for Y-flip
In order to fully suppot OES_shader_multisample_interpolation
rewrite interpolateAtOffset's offset parameter to account for
Y-coordinate flip.
Bug: angleproject:3589
Tests: dEQP-GLES31.functional.shaders.multisample_interpolation.
interpolate_at_offset.*.default_framebuffer
Change-Id: I6bf72ceb1c0466ff5d4a92b72d1ec9e2552d6f2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524711
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06eaaac5
|
2020-11-06T16:33:13
|
|
Fix trace writing in angle_perftests.
We can use this to produce AGI-like reports in standalone desktop.
Bug: b/172704839
Change-Id: Ifc510232e3da81210e22429b6cea9800e2723e06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524540
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a5e0a4bc
|
2020-11-08T11:10:12
|
|
Vulkan: Support VK_KHR_image_format_list for AHB backed EGL image
AHB backed EGL images create the VkImage through external sibling
images. Create those images with VK_KHR_image_format_list extension
support enabled.
Bug: angleproject:3756
Bug: angleproject:5281
Test: angle_end2end_tests.exe
--gtest_filter=ImageTest*SourceAHB*Colorspace*Vulkan
Change-Id: I28c22f9d2f2423daa9228e4d42772b380ab7b8b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
eaab2e34
|
2020-11-09T11:24:09
|
|
Vulkan: add explicit template specialization for barrierImpl
ImageHelper::barrierImpl with secondary command buffer is used in
other translation units. Linking fails if compiler has optimized
out symbol for secondary command buffer.
Bug: angleproject:5324
Change-Id: I588d0d949a9b2eee04d8103effc485ab23d679c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526082
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9217d49d
|
2020-11-08T09:18:33
|
|
Vulkan: Add EXT_external_buffer entry points
Addition of the entry points for EXT_external_buffer extension.
Bug: angleproject:5073
Change-Id: I5dc9f74dfd68c1e83e17ca15166df4cd4c20fca2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525104
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d4439824
|
2020-11-08T16:17:20
|
|
Gold Trace Tests: Fix JSON output with empty test set.
Previously we would leave an empty test suite name with no tests run.
According to the JSON test results spec this is likely a malformed
output and we should instead include just an empty "tests" key.
Bad:
"tests": {
"angle_restricted_trace_gold_tests": {}
}
Good:
"tests": {}
Bug: angleproject:5299
Change-Id: I459da593df150d804130f9c63e05d031e77a16a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525147
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aca3d408
|
2020-11-05T20:53:37
|
|
Fix return value of cube map array imageStore.
Should be void according to the spec. Noticed while working on texture
buffer.
Bug: angleproject:3584
Change-Id: I79a671c82fa117bab69bc2e6b35c840aa30429c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521241
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18fcb4ad
|
2020-11-06T07:22:17
|
|
Vulkan: Enable a subset of ImageTest colorspace tests
This patch does the following -
1. Expose EGL_KHR_image_gl_colorspace only if the underlying
ICD supports VK_KHR_image_format_list extension
2. Create VkImageViews from EGLimage's format
3. Fix bugs in ImageTest colorspace tests
Bug: angleproject:3756
Bug: angleproject:5281
Test: angle_end2end_tests.exe
--gtest_filter=ImageTest*Colorspace*Vulkan
Change-Id: I618ae009e83d0a6b27a0a50165f736784717e404
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523670
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e2ecb2dd
|
2020-11-03T19:26:00
|
|
Enable logging API commands to Android logcat
This enables logging API commands to Android logcat. It is enabled
via the following GN arg:
angle_enable_android_api_logcat = true
On desktop, API commands can continue to be logged to the
"angle_debug.txt" file via a different mechanism, with the GN arg:
angle_enable_trace = true
Bug: b/170249632
Change-Id: Id52e75f966a97692ec6d69eb3d254ba295a151c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519094
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
06a9d529
|
2020-11-04T19:57:27
|
|
Add build flag to control runtime annotator checks.
This restores the prior path where angle_enable_trace would let ANGLE
write a debug.txt file without needing environment variables or
run-time annotator attachments.
Bug: b/170249632
Change-Id: I28693f038572638eb6531c5bb8e42d6cc7a65451
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523912
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
9825695e
|
2020-11-03T15:29:38
|
|
Vulkan: Increase CommandBufferHelper pool size
For interesting threading behavior need more than two command buffer
helper objects in the pool.
Bug: b/170328907
Change-Id: I394a583f2241ef094abba7a4645a200b9308e466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518134
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
21eb41ac
|
2020-11-05T16:54:25
|
|
Generate executables for prerotation deqp tests
This change generates angle_deqp_gles*_rotate*_tests executables which
choose the appropriate mustpass file.
Bug: angleproject:4901
Change-Id: Ie6ac4b80d480b0f590b5baf1fa244fd601b5beed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522415
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
55934550
|
2020-11-05T07:13:39
|
|
Vulkan: Don't refresh image views unnecessarily
If the underlying ICD supports VK_KHR_image_format_list
extension we will have created both the linear and sRGB
image views, reuse them instead of refreshing them.
Bug: angleproject:3609
Bug: angleproject:4561
Bug: angleproject:5281
Change-Id: Ie34f08b3554a07f94911bebf925e38d702bc3c36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518387
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
43acf3ba
|
2020-07-31T15:43:57
|
|
GL: Compiler changes for GL_OES_texture_buffer
This extension is core in GLES 3.2
This CL enables the extension, added 412 new dEQP tests for texture
buffer. 410 of these tests pass, but there are two tests that fail,
detailed in anglebug.com/4933
Also includes a fix for completeness checks.
Based on a CL by Jonah Ryan-Davis.
Bug: angleproject:3573
Bug: angleproject:4933
Change-Id: I45759d765c88c64f21b592eab01d910dc4bc8da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521239
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7616dfbd
|
2020-11-04T18:23:22
|
|
Vulkan: Allow Android properties to override features
Can enable/disable ANGLE feature via Android properties:
debug.angle.feature_overrides_enabled and
debug.angle.feature_overrides_disabled which take a string of ':'
separated feature strings.
Bug: b/170328907
Change-Id: I815b42c5cfae85a39f0f753eabd56e264ea38baf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514200
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a481bee2
|
2020-11-04T18:20:24
|
|
Add GetEnvironmentVarOrUnCachedAndroidProperty
GetEnvironmentVarOrAndroidProperty will first return the given
variableName from the processes enviroment if defined. If not defined
and running on Android, will look up the corresponding property and
store it in the environment.
The framecapture code wants to see when the Android property changes so
add an uncached version of GetEnvironmentVarOrAndroidProperty that
always does the getprop command (which can be time consuming).
Bug: b/170328907
Change-Id: I0624c0646889435cb6f6eb20a6d3cceb6ae3eb48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520107
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
4323ed0c
|
2020-11-06T12:45:12
|
|
Perf Tests: Fix test time with max steps performed.
This lets the default test time be 10 minutes when using a maximum
steps value. This will prevent the current 10 second limit from
kicking in and aborting. Also changes the --test-time override to
be more clearly a calibration time, and adds a new --test-time that
lets the user override the actual trial test time.
Bug: b/172480147
Change-Id: I630aa8d3c9e118bb5f0100b38f37e717e12f3538
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523371
Reviewed-by: Paul Thomson <paulthomson@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6507c1ed
|
2020-11-05T23:21:17
|
|
Tests: Add Clash of Clans trace
Note: Hand edits required to compile this trace.
ANGLE_REPLAY_EXPORT was removed from each of the entry points in the
header. See build logs in patch set 1 of this CL for full output.
Test: angle_perftests --gtest_filter="*clash_of_clans*"
Bug: b/172626835
Change-Id: I63bab8f059a2c73c0a2fcd5b70fd92abf3bd4650
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521180
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27ea50a5
|
2020-11-05T22:24:28
|
|
Capture/Replay: Restore buffer bindings during Reset
Emit code to reset all buffer bindings to how they were at the
beginning during MEC.
Test: Capture Clash of Clans
Bug: angleproject:4048
Bug: b/172626835
Change-Id: I5a5446304d119f51a018c8fe88ff386243d19749
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
940dc786
|
2020-11-05T13:54:56
|
|
Re-enable GLES31 test that is no longer flaky
Fixed by:
https://swiftshader-review.googlesource.com/c/SwiftShader/+/50008
The specific flaky crash was reported here:
https://bugs.chromium.org/p/angleproject/issues/detail?id=4482#c15
Bug: angleproject:4482
Change-Id: Ia77b4b094446d14866bee5fd461a0a4eea52491e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521237
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
af16c638
|
2020-11-06T09:50:51
|
|
Perf Tests: Add --max-steps-performed argument.
This will limit the total number of steps run in the test.
When using this argument we skip warmp & calibration.
Renames the prior --steps argument to --steps-per-trial.
Bug: b/172480147
Change-Id: Iae7cce26d66ca0bbdb21c1f511a6bfa246bd204e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519404
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f2a78926
|
2020-11-05T14:01:39
|
|
Symbol Table: Error on duplicate group keys.
This prevents newer group keys from overwriting old ones.
Prevents bugs from creeping in like happened during texture buffer
development.
Bug: angleproject:3573
Change-Id: Iea69cac988e2cf4802a9f64c54cb694d32f1d3e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521238
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bb5848d8
|
2020-11-06T10:12:29
|
|
Vulkan: Remove vertex attribute aliasing suppressions
Some suppresions on the GLES3 dEQP expectations file were not removed.
Bug: angleproject:4249
Change-Id: Idcf2da50bb4ae4e6feb62fdb1d44d78aba9041a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522420
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
04cfe18d
|
2020-11-05T17:50:53
|
|
Metal: Fix typo in TextureMtl::bindToShader
Bug: angleproject:2634
Change-Id: I56d13dda7a6c0ad002db15cb780d7bf6b430bf65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519712
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3dfaeeb0
|
2020-10-30T16:57:44
|
|
Vulkan: Don't flush deferred clears on READ framebuffer sync
Deferred clears are not collected when syncing the READ framebuffer.
Prior to this change, we had in FramebufferVk::syncState:
if (READ && deferredClears.any())
{
flushDeferredClears();
}
However, this is impossible / unnecessary:
- Every operation whose syncState (for the DRAW framebuffer) collects
deferred clears will flush the deferred clears. In fact, it's an
error for the next operation's syncState to encounter pre-existing
deferred clears.
- The READ framebuffer is synced before the DRAW framebuffer. This
makes it impossible for there to be deferred clears when READ is
synced.
It may be necessary to swap the order in which the READ and DRAW
framebuffers are synced. See http://anglebug.com/5266. In that case,
if the READ and DRAW framebuffers are identical:
- The DRAW framebuffer's sync will collect deferred clears. The READ
framebuffer's sync will see deferred clears, but it must not flush
them!
Bug: angleproject:4988
Change-Id: I179002d739608ccb8bda95d4379dc6d54e2bf4bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2511372
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e53efb18
|
2020-11-03T16:22:19
|
|
Allow choosing EAGL or CGL at runtime
Dean Jackson made this change downstream in WebKit:
https://bugs.webkit.org/show_bug.cgi?id=216722
Change ANGLE to dynamically load either EAGL (OpenGLES) or CGL (OpenGL)
depending on both compile and runtime configurations.
Intel Mac -> CGL
Intel Mac Catalyst -> CGL
Intel iOS Simulator -> EAGL
iOS Device -> EAGL
Apple Silicon Mac -> CGL
Apple Silicon Mac Catalyst (with Mac app) -> CGL
Apple Silicon Mac Catalyst (with iOS app) -> EAGL
The trickiest bit is Apple Silicon Mac Catalyst, which depends on the
type of the application it is attempting to run. In that case ANGLE must
compile both the CGL and EAGL interfaces and then pick one to use after
launch.
Bug: angleproject:5253
Change-Id: Iba167b3cc3105e457dcfc9bc14147d0fc3e70bac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2500185
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
fbaae6ce
|
2020-07-24T11:47:12
|
|
GL: Add support for GL_OES/EXT_texture_buffer
This extension is core in 3.2
Based on a CL by Jonah Ryan-Davis.
Bug: angleproject:3573
Bug: angleproject:4933
Change-Id: Ib5ce038414075a5cdce36e9404e25d7af33fb39c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519401
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d77e85a8
|
2020-11-03T22:23:18
|
|
Vulkan: Store image updates per level
This optimization allows iterating only over updates of a certain level
or range of levels, instead of having to iterate over every update and
filter out the ones matching the desired level(s).
Bug: angleproject:4891
Change-Id: Ied04f4b28f05d37b9add61c7f4d54cc328c0be86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519095
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d30f0114
|
2020-11-05T17:46:53
|
|
Metal: Early loop exit during attachments clear
Added BitSetIteratorTest.IterationOrder
Bug: angleproject:2634
Change-Id: I0e9c6ad4d19bbb7d691e46b7ec720e918b170371
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520956
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2d964a47
|
2020-10-30T16:46:30
|
|
Vulkan: Defer clears even if following command is scissored
Take the following scenario:
1. glClear
2. glScissor(half of framebuffer)
3. glDrawArrays
The clear in step 1 is deferred. When FramebufferVk::syncState is
called in step 3, the deferred clear was applied using
vkCmdClearColorImage because the draw call is scissored. This causes
loadOp=LOAD to be used after the clear because the render pass is
started too small (the same size as the scissor).
This change makes scissored operations also take advantage of
loadOp=LOAD with deferred clears. A number of changes are made to this
effect:
- FramebufferVk::syncState no longer limits collecting deferred clears
to no-scissor.
- FramebufferVk::startNewRenderPass automatically expands the render
area to full size if it's clearing any attachment.
- A number of bugs are fixed where FramebufferVk::flushDeferredClears is
called with the scissor area. Instead, flushDeferredClears now
unconditionally uses the complete render area. Note that these bugs
didn't have symptoms as "scissor" and "deferred clears" were mutually
exclusive.
Bug: angleproject:4988
Change-Id: I24fc3d88bf9c8998869b36c863692d0f0acce994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2511371
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
56ea854e
|
2020-10-13T15:57:07
|
|
Metal: Allow unswizzled BC1 RGB
Refine DXT1CompressedTextureTest.DXT1Alpha to pass on more
configurations.
Fix the test's payload so that all 16 pixels use code 3.
Refine texture swizzling detection.
Bug: angleproject:2634
Bug: angleproject:5049
Change-Id: If9e1ab63220170a54954234ea205e19583b0df0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2467896
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
c07bd2f2
|
2020-11-05T08:58:14
|
|
Ensure trace test failures are unexpected.
This will make the names of the failures show up in Milo.
Bug: angleproject:5310
Change-Id: I64e1f5ffff04ec70a44f8f3d0c339da2bca6b216
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520539
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1e494cae
|
2020-10-07T19:26:01
|
|
Vulkan: Add support for EXT_copy_image
Add support for GL_EXT_copy_image which allows
image data transfer between image objects.
This is implemented by using the vkCmdCopyImage
API call.
Bug: angleproject:3593
Test: dEQP-GLES31.functional.copy_image.*
Change-Id: I30a34a8711b5d2e5834064d7453e03d6ec0df478
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393955
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
658ede5d
|
2020-11-04T15:53:09
|
|
LuminanceWorkaroundTextureSwizzleBug test bug fix
This test would create an sRGB format texture without
checking for the GL_EXT_texture_sRGB extension. Skip
the test if it is not supported.
Bug: angleproject:5281
Change-Id: I491e874201c26c9f828772a0fbebaea307ab57a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519865
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27af0b2d
|
2020-10-19T16:49:48
|
|
Reland "ANGLE_platform_angle_device_context_volatile_* extensions"
This is a reland of e70f6aa679dd72eca5c88c71b0932928e92d6067
Original change's description:
> ANGLE_platform_angle_device_context_volatile_* extensions
>
> Change from Kimmo Kinnunen downstream:
> https://bugs.webkit.org/show_bug.cgi?id=216106
>
> Add two extensions for EAGL and CGL backends to declare the
> underlying platform context being "volatile". It means that
> the thread-global current context is being modified behind
> ANGLE. If ANGLE context is marked volatile for a particular
> API, it will sync the underlying context for every EGL
> function that needs the context. Most intuitive use is
> for the client to call eglMakeCurrent before calling any
> gl function if the client knowns the platform state might
> be dirty.
>
> Implement eglReleaseThread for EAGL and CGL backends.
> Releasing thread will unset the platform current context.
>
> Fix a bug of omitting EGL_ANGLE_device_eagl from being
> advertised.
>
> Bug: angleproject:5104
> Change-Id: I1ec98ad35bc0caada23556ae8697fdef20f65b1a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486548
> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:5104
Change-Id: I88265625a4bb4c1412532768d17d7b4356c7be41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508842
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
fa616931
|
2020-09-03T14:58:03
|
|
Mark uniform samplers in an array unused per element
https://bugs.webkit.org/show_bug.cgi?id=215630
Fix an issue with the OpenGL backend where entire arrays of
uniforms would be marked as unused if a single element was
reported as unused by the driver.
Bug: angleproject:5006
Change-Id: I9bbb75a5f113472393e8d9f1fb60a7865aa9529a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486540
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
a0e91016
|
2020-10-30T10:01:36
|
|
Vulkan: Don't break the render pass on scissor change
Prior to this change, the render area was decided when the render pass
was started, and remained fixed. If a small scissor was initially used,
this created a render pass with a small area. If then the scissor
region was expanded, the render pass was broken.
This change instead expands the render area on scissor change to avoid
breaking the render pass. If glInvalidateSubFramebuffer previously
successfully resulted in storeOp=DONT_CARE, this optimization may need
to undo that. As a result, the invalidate area is stored in the render
pass and if the render area grows beyond that, invalidate is undone.
Bug: angleproject:4988
Change-Id: I4e8039dec53a95a193a97cb40db3f71e397568d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508983
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bf1a4627
|
2020-11-04T12:48:47
|
|
Vulkan: Enable GL_EXT_buffer_storage extension
This change 7bbe497 accidentally disabled support
for GL_EXT_buffer_storage extension for the Vulkan
backend, enable it again.
Bug: angleproject:5056
Tests: angle_end2end_tests --gtest_filter=BufferStorageTestES3*Vulkan
Change-Id: If4da2fe2c3e8b098875c89643d366f15fd0ea8b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519875
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74e50cac
|
2020-11-04T12:47:52
|
|
Vulkan: Suppress VUID-VkImageViewCreateInfo-usage-02652
Bug: angleproject:5309
Change-Id: Iafe91565138a5b94c482aeff7607d09c10d2aeaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519874
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6372a56f
|
2020-11-04T14:07:03
|
|
Gold trace tests: Add logging for filter misses.
The prior fix still didn't work. Add logging to debug why.
Bug: angleproject:5299
Change-Id: I758cfa87066e1cdf4a5d1289c030943e9bded58d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519400
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4989667a
|
2020-11-03T16:28:37
|
|
Vulkan: Make ImageHelper::flushStagedUpdates take gl::LevelIndex
More consistent with the rest of the public functions in this class.
Bug: angleproject:4891
Change-Id: I72c7c3d21f8287cc1711772671c6e7ad524fd096
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ef8f848
|
2020-11-04T11:10:48
|
|
Trace Gold Tests: Fix filter name.
Was incorrectly checking the individual test name instead of the full
name including the test suite.
Bug: angleproject:5299
Change-Id: I60df15bf1a748ce24d54f56b48ffe6eaca2ba54b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ca8b58d7
|
2020-10-25T22:32:45
|
|
Metal: Enable dEQP GLES3 tests on AMD
Bug: angleproject:2634
Bug: angleproject:4235
Change-Id: I159b635b9d02b019a2012da24801a4bdd090961e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497340
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88b46b9f
|
2020-11-03T12:08:42
|
|
Vulkan: VVL errors once again cause dEQP tests to fail
Was previously setting the global g_debugAnnotator class to
DebugAnnoatorVk, and only when a desktop environment variable or
Android setting indicated to. Setting to DebugAnnoatorVk was equated
with a desire to generate Vulkan debug markers.
Will now set g_debugAnnotator to the generic LoggingAnnotator class
when Vulkan debug markers are not needed. That will enable VVL errors
to again cause dEQP tests to fail.
Bug: angleproject:5291
Bug: angleproject:5304
Change-Id: Ib9169037423dd9de3f799e77f7f47468eeeeac20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518168
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23d1f9b4
|
2020-11-02T13:00:08
|
|
Vulkan: Add support for VK_KHR_image_format_list extension
GLES sRGB extensions allows for a texture to be respecified, with say
the sRGB_override extension, which will require us to reinterpret the
data in the texture in sRGB colorspace (or linear depending on the
format of the texture).
If the underlying ICD supports VK_KHR_image_format_list extension we
create a texture's backing VkImage with the
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT enabled since we already know the
format we might need to reinterpret the texture as.
Bug: angleproject:3609
Bug: angleproject:4561
Bug: angleproject:5281
Change-Id: Ia4bed596ed3000f8af1a8fd73fb8e6c2cb9b5d6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513110
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a275449
|
2020-10-25T03:22:10
|
|
Metal: Add ES3_METAL to ANGLE_ALL_TEST_PLATFORMS_ES3
Bug: angleproject:2634
Change-Id: Iacc3aaf17565c7b16879897db4b9dac16826d829
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494526
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9ff063e9
|
2020-10-25T03:08:25
|
|
Metal: fix max varyings, copyImage between mips, depth fmt
- GLSLTest_ES3.MaxVaryingWithFeedbackAndGLline failed before because
gl_Position takes up one slot from max varyings on Metal back-end.
FIXED
- Previously, copyImage() between mips of the same texture would fail.
Due to the read RenderTargetMtl is released before the copy happens.
FIXED
- GL_DEPTH_COMPONENT24 texture data upload didn't work due to the source
32 bit depth data wasn't handled properly. FIXED
- D24S8 format will be disabled on AMD for now, it will be converted to
D32S8 instead.
Bug: angleproject:2634
Bug: angleproject:5235
Bug: angleproject:5242
Change-Id: Ie7082f0545c0885ce5ec72df8a7ec4ee5d5de4b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494525
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cb6176f3
|
2020-09-29T01:08:00
|
|
Metal: Support tri-fan & line-loop with primitive restart
Triangle fan:
- If primitive restart is NOT enabled and there is no active render
pass, use Compute Shader to generate indices.
- If primitive restart is enabled, use CPU to generate indices.
Line loop:
- If draw non-instanced without primitive restart, generate and
draw only one additional last segment (fastest).
- If draw instanced, primitive restart is NOT enabled, and there is no
active render pass, use Compute Shader to generate indices (OK).
- Otherwise, use CPU to generate indices (slowest).
Also Disable OcclusionQueriesTest.ClearNotCounted failure on NVIDIA.
Bug: angleproject:2634
Bug: angleproject:5307
Change-Id: Ia5529825807a964f5fcb2a4af8844778896cd42a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435859
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
265c5fa9
|
2020-11-02T21:50:25
|
|
Vulkan: Fix scissor update in FramebufferVk::syncState
A previous change [1] made FramebufferVk::syncState update scissor and
rasterization samples only when the DRAW framebuffer is synced. This is
incorrect as the READ framebuffer is synced before the DRAW framebuffer,
and if the two are the same, the latter is discarded.
Very few functions sync both READ and DRAW framebuffers when they are
identical. A test is tailored to expose this bug.
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/2510013
Bug: angleproject:4988
Change-Id: I6123ac18dded938171bc90a04d4d81f1b42a1694
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515742
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
dc1c1cb5
|
2020-08-12T13:30:26
|
|
Restrict to translate uniform block to StructuredBuffer
We had translated an uniform block only containing a large array member
into StructuredBuffer instead of cbuffer on D3D backend for slow fxc
compile performance issue with dynamic uniform indexing.
Now we add more conditions to restrict the translation. Only indexing
operator is allowed to operate on this uniform block variable. And we
also restrict the types of uniform block's member.
Bug: angleproject:3682
Change-Id: I992b7890d84fcaa6169722af6d7e14785526d48a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2351728
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
3980b1f8
|
2020-10-27T10:01:05
|
|
Refactor FrameCapture.cpp to use common utility
The frame-capture-specific AndroidGetEnvFromProp() function has been
ported to the general utility, GetEnvironmentVarFromAndroidProperty().
Bug: b/170249632
Change-Id: I97de8205ceef140dfd8fab8e6f2d52b90cd996cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2502772
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
8afe3f17
|
2020-11-03T10:55:31
|
|
Vulkan: Fix use of uninitialized data in staged clears
When depth/stencil data are staged, only the depthStencil field of
VkClearValue is initialized. However, when comparing staged clears,
memcmp is used which also compares the extra bytes in the aliasing color
field.
Bug: chromium:1144491
Change-Id: Ic384ba792e9fd199d8e9c3e534ccdc6ea65ee9b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517244
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a51b57fa
|
2020-10-30T10:00:05
|
|
Revert "Vulkan: Add features to modify sampling parameters"
Bug: b/167404532
Change-Id: Iae19dfe165074e8c01216312bddd744c4fb504a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510012
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
302f234d
|
2020-11-03T14:55:55
|
|
Gold Trace Tests: Handle test filter.
This will allow the Chromium recipe retry mechanism to work properly.
That in turn will let the recipe properly fail tests that pass without
the patch and fail with the patch.
Bug: angleproject:5299
Change-Id: Ic744e125779c6bc6a091e1ed89ac1be6b97fd942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518172
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e5b6f81
|
2020-10-31T12:33:28
|
|
Enable writing histogram-set-json-format.
This uses the protobuf histogram functionality to build up a histogram
set. The test suites then output the histograms to JSON. This is only
implemented for angle_perftests.
Bug: angleproject:5161
Change-Id: Ia5a7868e8d8dcf4f13d83115ae622828c63ef0d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482295
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
39adaeb0
|
2020-11-03T13:15:41
|
|
Don't print reuse warning when forcing new displays.
Bug: angleproject:5274
Change-Id: I2c21a0f097398c508cc116217e3cb97d78a795b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|