|
397a27bb
|
2021-10-20T20:33:20
|
|
VertexArray: on destroy, remove observer on element array buffer
Otherwise there will be a null pointer dereference in
gl::Buffer::onContentsChange().
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
Bug: angleproject:6599
Change-Id: I73388b6d0ccc357ca1944452a18ccf462dd8046c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236206
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
66e8faf7
|
2021-10-20T14:06:08
|
|
Remove ProgramExecutable's "isCompute" property.
This consolidates the lists of uniforms, ssbos, etc into one.
Requires a few checks to change from graphics shader stages into
all shaders.
Bug: angleproject:6596
Change-Id: Ic8f6bfc4fa295c3bea9f5f1ded11e8fbca1c3164
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233361
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aac5d678
|
2021-10-20T11:48:57
|
|
Make "isCompute" private to ProgramExecutable.
This eliminates uses of "isCompute" is the Vulkan back-end. Instead
of checking the state flag, we can use the context of the current
command to determine if we're running a compute or a graphics
command. This will eventually lead to us being able to compile the
program pipeline objects before we run a draw or dispatch command.
Changes the driver uniforms descriptor desc to bind to both graphics
and compute shader stages to simplify the code. This could have
theoretical but low-risk performance implications.
Bug: angleproject:6595
Change-Id: Ie30d419b6ece5b33f5066a034d3805fe96519b36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233903
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bdc633a8
|
2021-10-20T12:33:42
|
|
Pass command type down to ContextImpl::syncState.
This mirrors the command type passed to the object sync functions.
It will be useful to determine if we're syncing for a draw or a
dispatch call.
Bug: angleproject:6595
Change-Id: Ia04bd14a3c2dd2eb211c47a6e55f8ddcbfedfaaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233904
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c621fd97
|
2021-10-12T20:09:49
|
|
Capture/Replay: capture some ProgramPipeline parameters
Bug: angleproject:6561
Change-Id: Iff99153c0399f316d973b15fd55821a722401b07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220634
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f020c713
|
2021-10-12T20:29:15
|
|
Capture/Replay: Allow capturing Gen/Delete with zero elements
This is allowed, and hence the capture/replay should also work.
Bug: angleproject:6558
Change-Id: Iae40e2870f9ff121c8396ee4c0caf0905d3fd84c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220632
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
8b627444
|
2021-10-13T10:58:40
|
|
Capture/Replay: capture program with ActiveShaderProgram too
Here the program parameter is the second parameter, so
UpdateCurrentProgram needs some refactoring too, to support
specifying the parameter position.
Bug: angleproject:6560
Change-Id: Iea08e1c0b7271bcd82aba64898cec76c09edefbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220690
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
b06606b9
|
2021-10-20T14:45:02
|
|
Tests: Add Zillow trace
Test: angle_perftests --gtest_filter="*zillow*"
Bug: b/203693727
Bug: angleproject:6596
Change-Id: If1a29c452de60b124b234645953a6a8a53a35b67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235480
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5a682795
|
2021-10-19T18:10:43
|
|
Capture/Replay: Fix glAttachShader filtering
Dota Underlords capture was filtering shaders that should be active.
It is using a pattern that creates shaders in advance, then attaches
them in later frames. This requires MEC to setup the shader, but
not the program.
We were failing to set those active because glAttachShader refers to
two ShaderProgramIDs, and we've only been scanning for the first in
any given API call:
glAttachShader(gShaderProgramMap2[1], gShaderProgramMap2[2]);
This CL fixes it by scanning for all ShaderProgramIDs in each call.
Test: Dota Underlords MEC
Bug: angleproject:5857
Change-Id: I1f76ad3345178cdfeb00479a84489dd363858e13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233875
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
78ae5d70
|
2021-10-20T12:15:33
|
|
Vulkan: Remove support for GL_RGB8 from DisplayVkAndroid
The Android Vulkan loader doesn't support GL_RGB8, so remove it from
DisplayVkAndroid::generateConfigs().
The list of supported swapchain formats is available at:
https://cs.android.com/android/platform/superproject/+/master:frameworks/native/vulkan/libvulkan/swapchain.cpp;l=465-486?q=GetNativePixelFormat
This fixes launching the Zillow app.
Bug: angleproject:6277
Change-Id: I34f06e2b45a1de77864701462bf11712285b7ae2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235466
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
43fd49e6
|
2021-10-19T14:42:57
|
|
Metal: Add Shadow Sampler Grad workaround for AMD
This change allows the direct translator to
use emulated gradient shadow compare functions for
AMD devices, and devices that don't support shadow compare
sampler.
Bug: angleproject:5107
Change-Id: I8cc8dcb6e6982531c2a858782869283e6dc97052
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232818
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
5ad7ae4a
|
2021-10-20T11:15:43
|
|
Remove Nexus 5X expectations from dEQP tests.
Bug: angleproject:2322
Bug: angleproject:3308
Bug: angleproject:3309
Bug: angleproject:3434
Bug: angleproject:3715
Bug: angleproject:3716
Bug: angleproject:5169
Bug: angleproject:5184
Bug: angleproject:5665
Bug: angleproject:6527
Change-Id: If64efe229e12bb2a0bd4fe7f942899000a7aad76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233902
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
420e77a6
|
2021-10-20T15:02:45
|
|
Revert "Vulkan: Flush descriptor set updates during flush*Commands()"
This reverts commit 02b73c2fd738b237f1ab3ecd400feec222903a48.
Reason for revert: Causes test to crash on Linux/Intel: anglebug.com/6591
Original change's description:
> Vulkan: Flush descriptor set updates during flush*Commands()
>
> The intent of this CL is to reduce the number of descriptor set updates
> by delaying the work until all of the GLES commands that could trigger a
> re-update have been performed and the command stream is being flushed.
> To achieve this, flushDescriptorSetUpdates() is being moved from
> setupDraw()/setupDispatch() to
> flushRenderPassCommands()/flushOutsideRPCommands().
>
> This change also exposed an issue where the BufferView handles were not
> being preserved until flushDescriptorSetUpdates() was called. To resolve
> this, flushDescriptorSetUpdates() is also being called during
> BufferViewHelper::release() before the BufferView memory is released.
>
> Bug: angleproject:5706
> Change-Id: I61e19af9c0fac891aa2115d72391459b80d22f19
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939385
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tim Van Patten <timvp@google.com>
Bug: angleproject:5706
Bug: angleproject:6591
Change-Id: I9d1ee3fcb3d1aebc86e60896e0065cab847a92b4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233901
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d8c18ac6
|
2021-10-08T13:00:19
|
|
Re-land: "Isolate commit_id.h from other code."
Re-land limits the angle_version deps to Windows to fix an iOS
visibility rule violation in GN.
Instead of recompiling multiple source files, we can seal off the
files that include commit_id to prevent recompilations when the
commit changes and source files don't change.
Bug: angleproject:2551
Change-Id: I033f00ec7afe4bfd01e29e0eea8848eea27747a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233899
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4b75345a
|
2021-10-06T22:47:16
|
|
Vulkan: Don't create pipeline with depthWrite if !depthTest
depthWrite is ineffective without depthTest. This change makes sure
that depthWrite/depthTest combinations of true/false and false/false
generate the same Vulkan pipeline.
Bug: angleproject:6410
Change-Id: I47e1524379d40dfb956f026903e0affc7f4fc59d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210628
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9a7b62ad
|
2021-10-19T15:21:31
|
|
Remove glext_angle.h, merge contents into gl2ext_angle.h
Currently glext_angle.h file, which is for GLES 1.x, has enums for
GL_ANGLE_yuv_internal_format which is an ES 3.0+ extension.
Merge contents of glext_angle.h into gl2ext_angle.h and remove
glext_angle.h
Bug: angleproject:6579
Change-Id: Iec5427af131888a2d9c473f4f497afb71dcafdac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232822
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
066fb91b
|
2021-10-18T15:31:27
|
|
Vulkan: SPIR-V Gen: Handle scalar(const) produced by index clamp
Normally scalar(const) is folded into a constant. The index clamp
transformation may produce such a code where the index looks dynamic at
first (for example `false ? uniform_value : constant`), but becomes
constant after folding.
This change makes SPIR-V generation robust in that case. A potential
future change could avoid the clamp entirely by making FoldExpressions
adjust the op of the EOpIndexIndirect node whose index is being replaced
with a constant with EOpIndexDirect (and apply the clamp on the
argument).
Bug: chromium:1260651
Change-Id: I552b7527d821d1cb52e0e53212cc481285674861
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226311
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ef237faf
|
2021-10-18T16:22:40
|
|
Translator: Validate precision for function args
In fragment shaders, float does not have a default precision. Any
declaration of this type must therefore specify the precision if a
default one is not provided.
This was not validated for function arguments.
Bug: chromium:1255089
Change-Id: I0d17e226ec88610692ec7dd18793cf4d471f12e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226314
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02b73c2f
|
2021-07-14T15:45:47
|
|
Vulkan: Flush descriptor set updates during flush*Commands()
The intent of this CL is to reduce the number of descriptor set updates
by delaying the work until all of the GLES commands that could trigger a
re-update have been performed and the command stream is being flushed.
To achieve this, flushDescriptorSetUpdates() is being moved from
setupDraw()/setupDispatch() to
flushRenderPassCommands()/flushOutsideRPCommands().
This change also exposed an issue where the BufferView handles were not
being preserved until flushDescriptorSetUpdates() was called. To resolve
this, flushDescriptorSetUpdates() is also being called during
BufferViewHelper::release() before the BufferView memory is released.
Bug: angleproject:5706
Change-Id: I61e19af9c0fac891aa2115d72391459b80d22f19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939385
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
bf42f009
|
2021-10-19T11:25:20
|
|
Update bug number for point clipping AMD metal
Bug: angleproject:6589
Change-Id: Ibc33b9870ab566c2b36caa2b6ccdeb256078d3cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232286
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
83bb2705
|
2021-10-19T15:20:41
|
|
Update bug numbers in dEQP test expectations
Bug: angleproject:6080
Change-Id: Ic0fa2c41b9a132cdebfd81dfd6137cf6623632c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232820
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3753039
|
2021-10-14T17:21:47
|
|
Reland "RendererVk: Enable VK_KHR_image_format_list on SwiftShader."
This is a reland of 8559d50b3b6fcc71b939be4a2c0ca3b48a797d61
Original change's description:
> RendererVk: Enable VK_KHR_image_format_list on SwiftShader.
>
> This reverts commit 08b42714f51dc87e16d52757b4b115037218a4ba.
>
> Bug: angleproject:5281
> Bug: chromium:1245774
> Change-Id: I773d95225301ccf3c2807fd2269b6d7da1195a16
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223679
> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5281
Bug: chromium:1245774
Bug: chromium:1260941
Change-Id: Ic6992bcc4b44aa16a2931271350a6f6d2a23d9c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232555
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eee3936b
|
2021-10-12T20:08:27
|
|
libANGLE: Assert on mExecutable when syncing images
In the loop in syncImagesInit mExecutable is dereferenced
and mProgram is not even touched, so assert on mExecutable
Bug: angleproject:6557
Change-Id: Icf482bda281c574e952113a97cbaf1e1d93fc1e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220631
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e637e4c9
|
2021-10-18T13:54:00
|
|
Vulkan: Optimize updating blend state in pipeline desc
Updating blend funcs and equations always updated all 8 slots. Now
that's only done for the attachments that are present.
Bug: angleproject:6298
Change-Id: I58fa7e4dfa27d05fef54cc9d56c7b2aa5ef43dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3202550
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7defdb60
|
2021-10-19T14:07:07
|
|
Revert "Isolate commit_id.h from other code."
This reverts commit 6d7ebf656d06f1152967aa5f4457d3787a24732c.
Reason for revert: Suspected reason for failing ANGLE roll into Chromium
Original change's description:
> Isolate commit_id.h from other code.
>
> Instead of recompiling multiple source files, we can seal off the
> files that include commit_id to prevent recompilations when the
> commit changes and source files don't change.
>
> Bug: angleproject:2551
> Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: angleproject:2551
Bug: angleproject:6588
Change-Id: I19f41141f57d0683efb9a4ec043e078a9f7dc925
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226056
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
4bb0a7af
|
2021-10-18T12:14:04
|
|
Vulkan: Async Queue: Fix signal of external semaphores
Per the Vulkan spec:
> ... when a semaphore wait operation is submitted to a queue:
>
> - A binary semaphore must be signaled, or have an associated semaphore
> signal operation that is pending execution.
It is incorrect for ANGLE to defer the submission that signals an
external semaphore, because then it's impossible for the application to
know when it can wait on the semaphore.
Bug: angleproject:6574
Bug: b/172704839
Change-Id: I5469b500b2f7d402acec31d9848585a9947843c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226308
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c9e0da8e
|
2021-10-18T13:54:00
|
|
Vulkan: Improve wording in DeferredClears.md
Bug: angleproject:1944
Change-Id: I268e8191cfb7aeb16e33c1f9b39382461c5ac3e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226310
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1d1b7573
|
2021-10-13T09:24:53
|
|
Capture/Replay: Skip binary formats test when none are supported
During capture/replay the number of supported binary formats is set to
zero, so the test can't run successfully, hence skip it.
Bug: angleproject:6559
Change-Id: Iabff38669bd6bbbbec770888ae940be3961b136e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220633
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
7f87a326
|
2021-10-18T13:06:29
|
|
Vulkan: SPIR-V Gen: Fix crash in array of struct constant
Bug: chromium:1260690
Change-Id: I51fe85a2ebc23c3fcaa3c961c4ebf84688bbed31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226309
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9a323cd0
|
2021-10-18T22:02:46
|
|
Vulkan: Suppress failing test on AMD/Linux
EXTBlendFuncExtendedDrawTest.FragData/* has started flaking for an
unknown reason. This test has multiple suppressions for the Vulkan
backend on different hardware.
Bug: angleproject:6585
Change-Id: I7b97c8210a0846bbc6935812fcad743291c516be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3230522
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bb0e0dea
|
2021-10-18T21:46:44
|
|
Roll vulkan-deps from 5be75e2ae595 to a9d8c46f2b61 (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5be75e2ae595..a9d8c46f2b61
Changed dependencies:
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/06ebc4806b..35fd0e17d0
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/6d9e5b07d6..61688e09fe
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/77cd59ba80..78b1f89454
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 syoussefi@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:6584
Change-Id: I8da9da9f82ccaf781d89a4f7975fb7520d3b6b28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226052
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e2e77baa
|
2021-10-18T16:04:43
|
|
Revert "Revert "Translator: Remove the SH_VALIDATE flag""
This reverts commit 701e8892f45e6f416dcbb0d23a155d346d0280fa.
Reason for revert: Chromium dependency fixed in http://crrev/c/3214440
Original change's description:
> Translator: Remove the SH_VALIDATE flag
>
> The SH_VALIDATE flag is a noop, defined as zero (0).
>
> Also move option descriptions up in the file.
>
> Bug: angleproject:6501
> Change-Id: I898106eb68b4508d8f94534cbff66652a69f4f3e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3207360
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:6501
Change-Id: I4d1514d6ac04e5bedf3624facf8e9339828fa291
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3229955
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
670b58d8
|
2021-10-18T19:50:10
|
|
Revert "RendererVk: Enable VK_KHR_image_format_list on SwiftShader."
This reverts commit 8559d50b3b6fcc71b939be4a2c0ca3b48a797d61.
Reason for revert: Causes MSAN failures. See crbug.com/1260941
Original change's description:
> RendererVk: Enable VK_KHR_image_format_list on SwiftShader.
>
> This reverts commit 08b42714f51dc87e16d52757b4b115037218a4ba.
>
> Bug: angleproject:5281
> Bug: chromium:1245774
> Change-Id: I773d95225301ccf3c2807fd2269b6d7da1195a16
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223679
> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5281
Bug: chromium:1245774
Bug: chromium:1260941
Change-Id: Id6712aed68ed04d2525549ae016594aa05243a5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226312
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb1d2474
|
2021-10-04T20:23:26
|
|
Vulkan: Add R8G8B8_UNORM to vk_format_map.json
The map of R8G8B8_UNORM -> VK_FORMAT_R8G8B8_UNORM is missing from
vk_format_map.json. This leads to attempting to get format bits for
angle::FormatID::NONE / VK_FORMAT_UNDEFINED.
This CL adds R8G8B8_UNORM to vk_format_map.json, so devices that support
it, like ARM, can use it. This allows those devices to import AHBs
created with R8G8B8_UNORM.
This CL also adds some additional ASSERT() and UNREACHABLE() calls to
catch missing formats sooner.
This allows the EGL tests to pass on ARM devices, but the tests are
still skipped due to Qualcomm not having the necessary support for
optimal tiling.
Bug: angleproject:6277
Test: dEQP-EGL.functional.image*
Change-Id: I41b7ead97a10ae80be4b6048d36d0d85ad71784f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204152
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8996b1e6
|
2021-10-18T12:13:09
|
|
Vulkan: Suppress failing async queue tests
Bug: angleproject:6574
Change-Id: I2da6c65a43cc53bd6100c7be1a325d56766a175a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226307
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bcd3ae61
|
2021-10-18T09:36:49
|
|
Fix some instances of -Wshadow.
Bug: chromium:794619
Change-Id: I5efe04e64800455585438467bcf6c262e91f398d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3229095
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6d7ebf65
|
2021-10-08T13:00:19
|
|
Isolate commit_id.h from other code.
Instead of recompiling multiple source files, we can seal off the
files that include commit_id to prevent recompilations when the
commit changes and source files don't change.
Bug: angleproject:2551
Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
ddedcdaf
|
2021-10-14T23:35:45
|
|
Vulkan: Recycle vkAcquireNextImageKHR semaphores
This change optimizes CPU performance by recycling semaphores used for
ANI instead of creating and deleting them every frame.
Bug: angleproject:6580
Change-Id: I151ea227870ed7b8bd123cbf629a65723c4696d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3225085
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
87b4f0fb
|
2021-10-18T08:52:29
|
|
Suppress colorspace trace tests.
These were recently enabled with a Vk SwiftShader CL.
Bug: angleproject:6578
Change-Id: I5f6716f3c8a4c314d0679f8393532b25f9f5c032
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226303
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f3334d03
|
2021-09-30T23:44:54
|
|
Vulkan: Fix importing layered AHBs
Bug: angleproject:6475
Change-Id: Iceb0880cadc54552d3f01593d2e12088cafa10cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198733
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c448659
|
2021-10-15T15:43:18
|
|
Improve EGL validation errors
Improvements:
- Report the numeric value of a bad attribute
- Show the requested/desired/unsupported version and the max version
- Correct printf attribute set and previous errors fixed
Bug: b/186543601
Change-Id: I889f2384afbe134496cad9e349766b7ff756dcee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224566
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
eb9b3f8e
|
2021-10-14T17:10:23
|
|
Update bug for intel metal mip test expectations
Bug: angleproject:6571
Change-Id: I3a7c46ad479b4fc5d15e261269a12742c841a955
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224101
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6cd1a0a5
|
2021-10-14T17:32:42
|
|
Metal: Update test expectations for AMD filtering issue
Also adjust suppressions for incorrect lodMinClamp application on
Intel GPUs.
Bug: angleproject:6466
Bug: angleproject:6534
Bug: angleproject:6571
Change-Id: I574e0e92111c8d0a6021fe90f7a2076103435975
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224662
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
22ecd454
|
2021-07-19T17:28:05
|
|
Vulkan: Move BufferMemory class from vk_helpers.h to vk_utils.h
In preparation for the StagingBuffer may also use BufferMemory, this CL
moves the class to vk_utils.h so that it can be used by any class
without create kinks on header file inclusion.
Bug: b/195588159
Change-Id: I97ab136be691322fe6284fd1b4b7336fdf1f904f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040106
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
60271a71
|
2021-10-15T10:14:35
|
|
GL: Re-scope Intel/Mesa version for disableSyncControlSupport.
This workaround's scope was widened due to issues detecting intel
GPUs in systems with multiple GPUs. That was fixed, so we can
re-scope the workaround.
Bug: chromium:1187475
Change-Id: Iaf946369273dc5c1e2f8f91a14758b6751615c7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226721
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
f5d65922
|
2021-10-14T15:58:38
|
|
Vulkan: Optimize QueryVk::getResult()
This function always incurred a check for completed commands to ensure
forward progress for applications (or rather, tests) that busy-wait
until the query results become available.
This change instead does an initial isCurrentlyInUse() check and only if
that's true will it check to see if there are any finished commands.
This should reduce one checkCompletedCommands() call when the
application queries the status of the Query well after it's issued.
Based on patch authored by Igor Nazarov <i.nazarov@samsung.com>
Bug: angleproject:6573
Change-Id: Iad4ed6b7eb6ae5316707e6d916e5ca3054d6c5aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3225083
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8ef1b2a2
|
2021-07-15T15:27:15
|
|
Vulkan: Add BufferMemoryAllocator class
BufferMemoryAllocator class will be responsible for memory allocation
for vkBuffers. The original Allocator class remains the wrapper for
vmaAllocator.
Bug: b/195588159
Change-Id: I26d016e2f8d13ba459d0aa0bd4e1ebf4d0d48251
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036256
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7aba3bc5
|
2021-10-14T23:14:37
|
|
Vulkan: Use a CircularBuffer helper class in SurfaceVk
There are two instances of circular buffer in SurfaceVk. A common
helper class is introduced by this change to consolidate the
implementation.
This is in preparation for a follow up change that introduces yet
another circular buffer in this class.
Bug: angleproject:6401
Change-Id: Id01b585567310a2528888114239a5c80ff93f1ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3225084
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
57b73c07
|
2021-10-14T15:51:18
|
|
Vulkan: SPIR-V Gen: TODO clean up
This change removes a number of stale TODOs.
Bug: angleproject:4889
Change-Id: If21d55717e61383ffdd58a7f88da5961988e035f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223643
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
123ba58d
|
2021-10-14T11:56:35
|
|
Vulkan: Remove "last submitted serial".
This fixes race conditions with the async command processor. Instead
of querying specific serial numbers, we ask the command queue to
either wait for idle, or return the answer to "are you busy" directly.
Bug: b/172704839
Change-Id: I06a8268d9b58d8c33b783af00ca74979ee158316
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223641
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b3d77208
|
2021-10-14T15:38:51
|
|
Vulkan: SPIR-V Gen: Make unfolded constants SPIR-V constants
If a constant is not folded by the translator, for example because it's
an array, this change makes sure that it becomes a constant in SPIR-V
anyway. This is particularly important to support cases where a
constant is required, for example as argument to textureGatherOffsets().
Bug: angleproject:4889
Bug: angleproject:5362
Change-Id: Ic43e4be13a8917bb100ea64902ba90048cfbb9ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223642
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2aa5286d
|
2021-10-12T17:05:48
|
|
Add Entry Point name to validation errors
Add gl/gles entry point names to validation error messages
some special cases:
1. Debug::insertPerfWarning() is invoked from multiple places,
such as TextureVK, ContextVK,
adding an extra entryPoint function parameter
in these files will need
extra investigations.
I am passing the entryPoint name GLInvalid as a
temp workaround.
2.ErrorSet::hangleError() is invoked from multiple
Context*.cpp files,
adding an extra entryPoint function parameter
in these files will need
extra investigations.
I am passing the entryPoint name GLInvalid as a
temp workaround.
3. Debug::insertMessage(), Debug::popGroup(), Debug::pushGroup()
can be invoked from more than one GL entry points,
e.g. Debug::pushGroup() can be invoked from
either GL_APIENTRY GL_PushDebugGroup() or
GL_APIENTRY GL_PushDebugGroupKHR()
through context->pushDebugGroup() call.
Right now the same entry point name glPushDebugGroup will
be printed out in the error message for both cases.
However, we should be able to tell the actual entry point
by checking which version: KHR version or core version the
application uses, and this helps avoid the confusion.
For now we will let the same entry point name
getting printed for both cases.
Bug: angleproject:6523
Change-Id: I64a5463d9168d8444d376d1f428c3b3d894f2ea9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3215063
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
9d3ec7d7
|
2021-10-14T13:50:59
|
|
Mac: suppress frequent test flakes on OpenGL backend.
Mac/NVIDIA:
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB
This test is crashing very frequently for an as-yet-unknown reason.
The NVIDIA MacBook Pros are not a critical testing configuration, so
skip this test for the time being to stabilize the CQ.
Mac/Intel:
WebGLCompatibilityTest.L32FTextures
WebGLCompatibilityTest.R32FTextures
WebGLCompatibilityTest.RGB32FTextures
These tests are occasionally failing with incorrect rendered pixel
values again for unknown reasons. Mark these as failing on this
configuration for the moment.
Bug: angleproject:6570
Change-Id: Ic9e3c5f8d06a1555a4b1dfed2d9495e98c32abf1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224361
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1dc2b702
|
2021-10-13T16:02:37
|
|
Vulkan: Pass shader module map to init pipelines.
Instead of pulling out the shader modules from the shader map when
we start the call chain, pull them out right in the init call. This
saves a bunch of boilerplate code.
Refactoring change only.
Bug: angleproject:6566
Change-Id: Ib8d79bd7284d7ddb83522270f3d4df9086ab7300
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3221134
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2615e6b2
|
2021-10-07T07:07:46
|
|
Remove the syncFramebufferBindingsOnTexImage workaround
It's unused
Bug: angleproject:6503
Change-Id: Ia9039432006ec6988e93db08b9a572c7a7f837ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212428
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8559d50b
|
2021-10-14T17:21:47
|
|
RendererVk: Enable VK_KHR_image_format_list on SwiftShader.
This reverts commit 08b42714f51dc87e16d52757b4b115037218a4ba.
Bug: angleproject:5281
Bug: chromium:1245774
Change-Id: I773d95225301ccf3c2807fd2269b6d7da1195a16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223679
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b95cdec3
|
2021-10-12T11:26:15
|
|
Vulkan: Switch to `std::unordered_map` to cache renderpass
ANGLE use `flat_hash_map` by default,while it will not retain pointer
stability which causes random null pointer issue when running MH31 with
asynccommandqueue.This change switch to using `std::unordered_map` to
cache renderpass.
Bug: angleproject:6436
Bug: angleproject:6569
Change-Id: Ia2829a41251eea39ce2a79a9a42b6fe9dff6b120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3219010
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f3d5dac3
|
2021-08-23T17:25:15
|
|
Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default. Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing. On release builds, glslang is not supported.
To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):
angle_enable_spirv_gen_through_glslang = true
Then enable the generateSPIRVThroughGlslang feature. This can be done
by setting an environment variable:
ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests
Binary size saving:
- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)
Perf tests:
- LinkProgramBenchmark.Run/vulkan_compile_single_thread
* Through glslang:
truncated mean: 1287033.36
* Direct SPIR-V Gen:
truncated mean: 244495.91 (~80% reduction)
- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
* Through glslang:
truncated mean: 4565894.83
* Direct SPIR-V Gen:
truncated mean: 1158164.10 (~75% reduction)
Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d8471b29
|
2021-10-02T10:36:33
|
|
Fix ASAN bug caused by passing empty label string.
This CL will fix the ASAN bug that was caused by passing empty label
string to getMultisampledRenderTarget, function of TextureStorage11.
Instead, pass mTextureLabel so we can get WebGL labels now. Also to
avoid this in future, convert ref mTextureLabel to now store copy.
The change in the test reflects the steps to first set the label
string and later the label being used to initialize mTextureLabel via
texture storage creation.
Bug: chromium:1254746
Change-Id: I007bdf1c7a421a2b4b9288aa71fa4368c14cf333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201030
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
ea580484
|
2021-10-05T13:40:01
|
|
Vulkan: Add feature flag to prefer CPU copy instead of staged update
For ARM GPU, use GPU to do buffer to buffer copy has performance penalty
due to potential bubble in the vertex pipeline. This CL adds a feature
flag preferCPUForBufferDataSubData so that we can enable this behavior
for ARM GPUs.
This CL also tracks if GPU has referenced this BufferVk's storage since
it got new storage. Due to sub-allocation, we may get a new sub-range of
the same BufferHelper object when allocating new storage. But we
currently do not have a way to track GPU progress of the sub-range of a
buffer. So we will end up using BufferHelper's queueSerial to decide if
it is still GPU busy or not. This CL adds mHasBeenReferencedByGPU
boolean variable that will set to false when we got a new allocation and
set to true as soon as buffer is been referenced by any GPU command. We
use this to avoid checking queueSerial if it never been referenced by
GPU. This is a temporary workaround for the bug, the full fix is tracked
by https://issuetracker.google.com/201826021
Bug: b/200067929
Change-Id: I231fb0a678b0165a2ce1775d0aa4dbe7512fb4a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183398
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9a48ad4e
|
2021-10-05T17:45:48
|
|
Vulkan: Add test for acquireAndUpdate
Add two new tests to IndexBufferOffsetTestES3 tests that will call
bufferSubData with more than 1/2 buffer size, which will force vulkan
backend go into a different code path.
Bug: b/200067929
Change-Id: Id831982bbb044a529e9711be62d82f3e8c05e1a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213415
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
100ebfd7
|
2021-10-13T12:07:21
|
|
Revert "Re-enable PoolAllocatorAlignmentTest.Alignment"
This reverts commit 7eada73ac4964df5ffd539efb7a0569a97e4fd3d.
Reason for revert: Breaking Lollipop tester likely b/c of 32-bit issues.
Bug: chromium:1259544
Original change's description:
> Re-enable PoolAllocatorAlignmentTest.Alignment
>
> The PoolAllocatorAlignmentTest.Alignment/64 variant of the test fails on
> windows/debug, so this change re-enables this test everywhere except for
> that variant (and speculatively /128) on windows.
>
> Bug: angleproject:6536
> Change-Id: Ibc4fcbe04e7579f3ad7eb68f4f460078ee27ac88
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212329
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:6536
Change-Id: I74ebf1c78c8b15c14c9d1496948adafd13e0d2ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220971
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
558eda6e
|
2021-10-12T15:34:45
|
|
Vulkan: Remove provoking-vertex structs from "custom" list
This extension has been released.
Bug: angleproject:4063
Change-Id: I007c20a895819aa11382837a3ad654839e127365
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217938
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bb5dbd49
|
2021-10-05T11:57:44
|
|
Capture/Replay: Handle TvoidPointer in specialization
Bug: angleproject:6521
Change-Id: I863ad5307498e6394f5fbe3e650ce29c821083b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204960
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
43be4d9c
|
2021-10-11T13:50:28
|
|
Vulkan: Fix unnecessary performance warnings for two tests
Fix two existing tests so that it wont generate performance
warnings that is not related to the test and not intended anyway.
Bug: b/200067929
Change-Id: I64a9272be077c536627644ae44104d98cecee7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218270
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
7eada73a
|
2021-10-07T11:09:50
|
|
Re-enable PoolAllocatorAlignmentTest.Alignment
The PoolAllocatorAlignmentTest.Alignment/64 variant of the test fails on
windows/debug, so this change re-enables this test everywhere except for
that variant (and speculatively /128) on windows.
Bug: angleproject:6536
Change-Id: Ibc4fcbe04e7579f3ad7eb68f4f460078ee27ac88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212329
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6793d50e
|
2021-10-06T15:48:55
|
|
Vulkan: Remove ImageHelper::setFirstAllocatedLevel and Add assertion
ImageHelper::mFirstAllocatedLevel is set via ImageHelper::initExternal.
There isn't a good use to set the mFirstAllocatedLevel when mImage is
invalid, and semantically it is wrong to try to get mFirstAllocatedLevel
or format while its storage is invalid (i.e., not allocated). This CL
removes ImageHelper::setFirstAllocatedLevel() API all together and added
assertion that image is valid when ImageHelper::getFirstAllocatedLevel
and getActualFormat and various other get APIs whose value are set
during initExternal call.
Bug: angleproject:6532
Change-Id: I9c97f488b3e959443fec632540e7f0906a49dc13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209838
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
185e48a7
|
2021-10-06T18:53:08
|
|
Vulkan: Make TextureVk::mRedefinedLevels bitmask of gl::LevelIndex
We have gl::LevelIndex and vk::LevelIndex. gl::LevelIndex means level
index at OpenGL concept and is used in TextureVk code. vk::LevelIndex
means already adjusted with baseLevel and is used by ImageHelper object.
This mRedefinedLevel is gl::TexLevelMask type, but it actually is a bit
mask of vk::LevelIndex right now. This is inconsistent and confusing.
This CL changes it to bit mask of gl::LevelIndex to be consistent with
the namespace of "gl".
Bug: angleproject:6532
Change-Id: Ic88e373f70d3bd3e3fea676765c82fd0941e245c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210726
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
01341f94
|
2021-10-11T19:26:07
|
|
D3D11: implement EXT_clip_control
This implements EXT_clip_control for the D3D11 renderer, so that I can
use a reversed-Z depth buffer with ANGLE.
Tested with
angle_deqp_gles2_tests.exe --deqp-egl-display-type=angle-d3d11 --deqp-case=dEQP-GLES2.functional.clip_control.*
and
angle_end2end_tests.exe --gtest_filter=*D3D11*
Bug: angleproject:6554
Change-Id: I1d11cd04a6654c28530b11104470f0cad0009abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218659
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fde87f5d
|
2021-10-06T15:10:09
|
|
Fix negative fixed-point->float conversions
The fixed-to-float conversion routine in mathutils only operated
correctly on positive numbers. This caused failures in some GLES1
apps when negative fixed-point values were converted, as for
glTranslatex().
Bug: b/199919700
Test: Manual -- Zillow app should show data on map
Change-Id: I2ac4794478d3ad4c50057527134c9c17c8680338
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209826
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mark Lobodzinski <mark@lunarg.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
bcc89703
|
2021-10-07T11:26:42
|
|
Translator: Remove disableValidateFunctionCall from transformation
This validation is disabled in three transformations and re-enabled
afterwards. Two of these benefit from the simplicity it brings, and
this change removes it from the other transformation.
Bug: angleproject:6506
Change-Id: I946b547ed0e2ed39062914a7771e9635ff5e406d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212289
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8712495d
|
2021-10-05T11:56:32
|
|
Capture/Replay: Don't handle void pointers as const
TL;DR: glReadPixels needs a non-const pointer if a pack buffer
is bound, so change the code generation to keep TvoidPointer
non-const and regenerate the entry points.
Long version:
When no pack buffer is bound, then in WriteCppReplayForCall
param.readBufferSizeBytes is non-zero and the cast of the read
buffer pointer is using the type passed by the parameter
(TvoidPionter) to write the typecast by calling ParamTypeToString
directly, which returns "void *".
If. OTOH, a pack buffer is bound, then param.readBufferSizeBytes
is zero, and the default WriteParamCaptureReplay is called. This
autogenerated function forwards the call to WriteParamValueReplay
by using an explicit type specification, and the autogeneration
code was translating TvoidPointer to call
WriteParamValueReplay<ParamType::TvoidConstPointer>
which would then translate to "const void *" in the parameter type
cast, and this would lead to a compilation failure, because the
parameter must be a non-const pointer.
Change the autogeneration code so that TvoidPointer is not forced
to be a const pointer and regenerate the entry points.
Bug: angleproject:6521
Change-Id: I673c77f803a284fb7dfc08a2e0918aebdf698194
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
f13731ae
|
2021-10-06T10:04:24
|
|
Enable dEQP EGL + GLES 2/3 tests on Pixel 4.
This is in preparation for removing these tests from the N5X.
Bug: angleproject:6527
Change-Id: Ib44f876db47845935efd68a1727964834a675cbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208746
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2ab7a178
|
2021-10-06T13:22:19
|
|
Vulkan: Remove suppressions for SPIR-V validation
A bug in VVL produced validation errors regarding texel gather offset,
but it seems to be fixed now.
Bug: angleproject:6491
Bug: angleproject:6492
Change-Id: Ia20816ea0be65aa185a8ee89cf58edd33e452875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbf8d1ea
|
2021-10-07T13:53:05
|
|
Remove windows.h from common/platform.h
Windows.h is expensive and causes lots of namespace pollution with the
macros that it defines. This change removes windows.h from platform.h
and debug.h and adds the necessary typedes and new include of windows.h
to let Chromium build.
This reduces the number of Angle translation units that include
windows.h by about a third, from 624 to 440. Significant further
reductions will be difficult because of translation units that genuinely
need windows.h.
Earlier versions of this change made it clear that the DeleteFile and
GetCurrentTime macros were renaming Angle functions. These angle
functions were renamed which makes this change much simpler.
Bug: angleproject:6283
Change-Id: Icddc8f98b19485e563b2cf616bba2ad4ea49228e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212639
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44bef8ae
|
2021-10-08T15:01:37
|
|
Remove traces of Feature Level 9_3 support from tests.
Bug: angleproject:1284
Bug: angleproject:3042
Change-Id: Ic2f77d315e98c3b15c5fc8b0359168bce00867d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4349703b
|
2021-10-06T11:00:53
|
|
Compiler: Remove unnecessary TODO
Remove the TODO related to removing the global pool allocator, since
that work won't be chased any further.
For more details in this area, see:
http://anglebug.com/1286
Bug: angleproject:6497
Change-Id: Ie9952e1c0e481c8d553cfdcf4a1d8ded8b64a95b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208510
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
9ba5dcf6
|
2021-10-07T06:56:14
|
|
Vulkan: Fix inconsistency in half render area width/height
The half render area rotation matrix should be removed.
DrawableArea is constant over rotations.
The frag coord rotation matrix is still needed because
the frag coord generated by GPU is still rotated.
Test:
DISPLAY=:0 out/Debug/angle_deqp_gles3_rotate90_tests
Using test config with:
linux
nvidia
debug
vulkan
prerotation
prerotation270
Test: Cuttlefish SwANGLE
./cts-tradefed run cts -m CtsDeqpTestCases -t
dEQP-GLES3.functional.shaders.builtin_variable.fragcoord_xyz
Bug: angleproject:6504
Change-Id: I37a6308fdb7586200b19a6138affc78c2c329a96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212427
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6cb599f9
|
2021-10-06T13:07:27
|
|
Vulkan: Change dest to dst for consistency
Cleanup only, no functional change. dst aligns better with src.
Bug: angleproject:6502
Change-Id: I69821b1aae50a7ce647c7cc876468b6de309eec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208514
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e2d91217
|
2021-10-08T15:55:58
|
|
Vulkan: Lift helper_invocation suppressions
Bug: angleproject:4110
Change-Id: Ibfeeb835804b2d8349bd8e3911e4caa83e9cc6b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213299
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5812f66e
|
2021-10-08T16:21:13
|
|
OpenGL: Lift image buffer windows/intel suppresions
Bug: angleproject:3536
Change-Id: Ib342caca706347ba4ff0cf82f0ea580907e5bb33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213304
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
af691fa7
|
2021-10-08T16:09:48
|
|
Vulkan: Lift shader_image_load_store swiftshader suppression
Bug: angleproject:4414
Change-Id: I9965ccaeefd526fb01a490ee1b282dd4012aaa14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213303
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
86a67b31
|
2021-10-08T16:05:51
|
|
Vulkan: Lift shader_image_load_store suppression
Bug: angleproject:4315
Change-Id: I649402f4c5032727cbd1a4a528ebf11716e9de9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213300
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
53388e54
|
2021-10-08T15:43:34
|
|
Vulkan: Remove VVL suppresions for VK_EXT_provoking_vertex
Suppressions were added as ANGLE was using an unreleased extension.
This extension is released and supported by VVL now.
Bug: angleproject:4063
Change-Id: Ief23ac1ac3a3e6ecbd7b04a6b583302bbdf48398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213298
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4ad55d07
|
2021-10-05T15:45:05
|
|
Vulkan: Turn 1-view multiview FBOs into no-multiview
When only 1 view is enabled, ANGLE continued to append a
VkRenderPassMultiviewCreateInfo struct to the render pass. VVL produced
an error when transform feedback was used in this case, quoting that
multiview and transform feedback cannot mix.
This change makes sure that 1-view framebuffers are threated as if they
were not multiview.
Bug: angleproject:6478
Change-Id: If079c9a052f822342a49a9cc880be2577a356b64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206269
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c0ab6a77
|
2021-10-09T00:38:40
|
|
Skip crashing pokemon_unite trace on Linux Intel
Already skipped on Windows
Bug: b/201900915
Bug: angleproject:6494
Change-Id: I4c586d88bb91ff13700157ee5ca585370e7c7887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213755
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a364ea59
|
2021-10-09T01:52:23
|
|
Revert "Update old NVIDIA bug suppression."
This reverts commit 0b779ac42a53e4656af3bd87fb74af88fb8a58a8.
Reason for revert: fails on Win7 NVIDIA
http://ci.chromium.org/ui/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20(NVIDIA)/13643
Original change's description:
> Update old NVIDIA bug suppression.
>
> Only fails now on Linux. Move to expectations file.
>
> Bug: angleproject:2755
> Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:2755
Change-Id: If6d03c4ee840126cf1347feffdd672999d9bedf8
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213752
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
4c23b817
|
2021-10-08T19:29:08
|
|
Roll vulkan-deps from d78bd80b30f6 to 651804d6bf55 (11 revisions)
Suppressing SYNC-HAZARD-WRITE_AFTER_WRITE messages after
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3403
https://chromium.googlesource.com/vulkan-deps.git/+log/d78bd80b30f6..651804d6bf55
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c8cdbac705..b9ba4c5743
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/8c0ee92eb6..aeffbbd6b9
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7a6a52723b..51279399ea
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 ynovikov@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:6550, angleproject:6551
Tbr: ynovikov@google.com
Change-Id: I8b85fd82fc1042a5632027b8d6fada123533f276
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214695
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
5794073a
|
2021-10-08T15:20:02
|
|
Vulkan: Lift copy_tex_image_conversion test suppressions
Issue was fixed in anglebug.com/5502
Bug: angleproject:3817
Change-Id: I1bdebac1e9cca71992818e0cb95ccc023149973f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213295
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da804530
|
2021-10-08T12:52:04
|
|
Capture/Replay: Skip pokemon_unite on Intel+Windows
Test is getting inconsistent results around foliage edges.
Test: angle_perftests --gtest_filter="*pokemon_unite*"
Bug: b/201900915
Bug: angleproject:6494
Bug: angleproject:6548
Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d134581b
|
2021-10-07T16:09:25
|
|
Vulkan: Remove SyncHelper::mEvent
Now that inserting a sync object incurs a flush, we can use the serial
to perform synchronization.
Bug: angleproject:6464
Bug: angleproject:6481
Change-Id: I8c82a12855b6497861ce34854d165af82956b384
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212573
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9aa9f7c2
|
2021-10-08T14:04:41
|
|
Remove vertex attribute test suppressions.
Bug: angleproject:2797
Change-Id: I64b17d674e2d4a490c321357474e3260eb46f43c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212897
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
74b2886f
|
2021-09-22T13:49:57
|
|
Vulkan: Try to use CPU to copy when preserving old buffer data
When glBufferSubData is called, we may acquire a new buffer if buffer is
still GPU busy. When this happened, we have to preserve buffer content
if old buffer has valid data in it. Instead of always use GPU to do
copy, this CL will check if GPU is not writing to the buffer, we will
just use CPU to do the copy form old buffer to new buffer from the
ranges outside subData, controlled by the feature flag
preferCPUWhenPreservingBufferData.
Bug: b/200067929
Change-Id: I42053104b2be8da5f399cca92e934254988f2fd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177322
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
e437c4ad
|
2021-09-22T09:15:19
|
|
Vulkan: Only preserve buffer data when BufferVk has valid data
When we receive glBufferSubData call and GPU is still accessing the
buffer, we have two code paths to update data. If subData is more than
half of the entire buffer range, we choose to acquire a new buffer and
use DMA to copy the rest of buffer that outside of subData range from
the old buffer back to the new buffer so that existing buffer data is
being preserved. Otherwise we stage subData to use GPU buffer to buffer
copy later on when buffer is been used. The reasoning behind is to
minimize the amount of data copy. The improvement here is that if
previously app called glBufferData with null pointer, we really do not
have any valid data in the buffer and there is no need to preserve the
existing buffer data. This CL tracks whether buffer has any valid data
or not and also put this into consideration when we pick which code path
to go. We also use this information to avoid preserve the existing data
in BufferVk::acquireAndUpdate
Bug: b/200067929
Change-Id: I266dd93bed2d3c07e3a5af3e4e613e7f6023b393
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176500
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0b779ac4
|
2021-10-07T14:08:10
|
|
Update old NVIDIA bug suppression.
Only fails now on Linux. Move to expectations file.
Bug: angleproject:2755
Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
666fcf38
|
2021-10-08T12:19:15
|
|
Rename functions that overlap with Windows APIs.
Bug: angleproject:6283
Change-Id: Ifcd9ea9e3bf729fd2066178eb9429050b2f10518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212894
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b03c4753
|
2021-10-07T13:58:49
|
|
Update suppressions for clear test.
Bug: angleproject:2689
Bug: angleproject:5165
Change-Id: I3023735058ed11ac9060b4de9c67e20abd387e85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e13bbea9
|
2021-10-07T15:52:51
|
|
Revert "Disable clearing textures for robust init on Mac."
This reverts commit 33207313b2172525d7dc0526afd6d0aa51503bb1.
Reason for revert: Spike in flush crashes
Bug: chromium:1257538
Original change's description:
> Disable clearing textures for robust init on Mac.
>
> Suspecting this path generates errors and hangs.
>
> Bug: chromium:1253356
> Change-Id: I0ef4a71578fa15631074f394d49e9878f3e301df
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187131
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1253356
Change-Id: I90630bdac02381511ae042b1ef91a729c7f859dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212331
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6ffaed86
|
2021-10-07T13:38:51
|
|
Remove N5X workaround in point size test.
Bug: angleproject:2553
Change-Id: Id5db6517f86630cd7c6216af8a259399c827707d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212569
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4029a734
|
2021-10-07T13:34:49
|
|
Enable previously slow Android Depth/Stencil tests.
Bug: angleproject:2549
Change-Id: I25c6cf2547a7eec544840cc641535048626b2fbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|