|
df19e35a
|
2022-01-24T17:47:58
|
|
Vulkan: Use queue for mGarbageQueue
This variable is also acting exactly like queue as the name implies.
This CL changes from vector to queue so that the very last erase() call
will not actually move anything.
Bug: b/215768827
Change-Id: Ieb39c3a1b3acb25f93bcda2a46737a6d009d71f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
4e644b33
|
2022-01-22T16:17:46
|
|
Vulkan: Remove ProgramExecutableVk back-pointers.
This removes the mProgram and mProgramPipeline back-pointers from
ProgramExecutableVk. In order to fix this, we needed to refactor
the VkPipeline init functions to call through ProgramExecutableVk
only instead of passing through ProgramVk. We also needed to move
the early fragment shader optimization boolean out from Program.
This CL also fixes a few places where the early fragment test
optimization boolean wasn't properly updated.
Bug: angleproject:3570
Change-Id: Ie4c48087f6eb022e6f0a4dacc2710085165d49e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3408267
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3ed4780
|
2021-12-21T17:20:19
|
|
Change Windows display initialization from ANSI to wide version
Bug: angleproject:6846
Change-Id: I2aee8f4b5b7546fc707705e435251fa9861e27d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352866
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
602b957b
|
2022-01-26T15:01:21
|
|
Enable robustnessEXT for SwiftShader.
This is a reland of commit b803b60df1806f189c1b29ca77da47896241e0f1.
The issue with webgl-oversized-printing.html crashes is supposed
to be resolved by commit b1216bf1759ab23ffe2d6b6727f9ec10ddfa4d0f
Failing test angle-instanced-arrays-out-of-bounds.html
disabled by commit d235e032000d611d31e6fd8a8190e4425b4c0ecb
I don't think we need to change the test expectations any more as
that swiftshader issue is supposed to be already fixed
http://anglebug.com/6906#c4
Bug: chromium:1287631
Bug: angleproject:6922
Change-Id: I0fdf806cac51d000088a029bbb3070906453dfb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3415875
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2ad5f350
|
2022-01-25T12:15:16
|
|
Vulkan: Fix texture array level redefinition
When a level of a texture is redefined, all staged updates to that level
should be removed, not the ones specific to the new layers. The bug
fixed was that if the texture was redefined to have its number of layers
changed, the staged higher-layer-count update to the image was not
removed.
Bug: chromium:1289383
Change-Id: I9b90025f78af80ab19a280f90b58510716da31d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413004
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
45237a04
|
2022-01-11T00:14:01
|
|
Metal: Fix undefined behavior of depth write
Writing to an unbound depth attachment is undefined behavior in Metal.
Fix this by emitting a function constant to guard depth buffer use
in fragment shaders.
Bug: angleproject:6865
Change-Id: Id7c10d0aeb349aacfe09c397bc292a71199ab50a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3380304
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
aadc6434
|
2022-01-24T18:28:19
|
|
Vulkan: Fix to correctly redefine gl_PerVertex in GS
Angle translator structures were inconsistent of data
lookup of gl_PerVertex data when it is user defined.
Bug: angleproject:5579
Test: KHR-GLES32.core.geometry_shader.api.getProgramiv3
Test: GLSLTest_ES31.PerVertex*
Change-Id: Ied9ea25ce86ade29261f4f75ce0b48af15061760
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2962352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
a7970889
|
2022-01-24T11:50:27
|
|
Vulkan: Use queue instead of vector for mSharedGarbageList
The garbage collector code is iterating the mSharedGarbageList from
begin to end and if the garbage object is completed, we destroy it and
erase it from the vector. This is done one by one. The problem with that
is each erase call end up moving the remaining vector to ahead by one,
and this process is repeated for each completed element. This is O(N^2)
problem and really magnifies when you have many garbage objects. Since
we only add garbage when it is GPU pending, so most of these garbages
are in sort of fifo order anyway. This CL changes the garbage list from
vector to queue so that erase becomes pop and this becomes a O(N)
problem. This reduces CPU overhead as measured with minimize-gpu-work
for gardenscapes from 10ms to 2ms due to suballocation generates lots of
garbages. But this CL is a general improvement for the garbage
collection performance.
Bug: b/215768827
Change-Id: I002aadf75f958d8b79eb6281a2608597776e908d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414354
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
39f66a9c
|
2021-12-16T23:26:00
|
|
Vulkan: Support different SCBs for outside and inside RP
The render pass command buffers are generally much larger than outside
render pass command buffers, and their allocation sizes and frequencies
differ.
This change allows choosing between ANGLE and Vulkan secondary CBs
independently for outside and inside render pass commands, as part of an
investigation to understand which implementation performs best for each.
Switching to Vulkan secondary command buffers is still slower. In the
ball park, switching outside render pass SCBs doesn't seem to make much
difference, while switching render pass SCBs duplicates the frame's CPU
time.
Bug: angleproject:6811
Change-Id: Ia8455fd19897a0eaeadf3d6db29286ea53df1f5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346341
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cb96c236
|
2022-01-26T18:53:55
|
|
Revert "Vulkan: Enable framebuffer fetch on SwiftShader."
This reverts commit 5107231939b5e04d3d5e4376176db42c3ae60193.
Reason for revert: Fails new code paths in Chrome+Skia.
Bug: angleproject:6947
Original change's description:
> Vulkan: Enable framebuffer fetch on SwiftShader.
>
> This also fixes a bug with non-coherent fetch in the symbol table.
>
> Bug: angleproject:6947
> Bug: angleproject:6948
> Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:6947
Bug: angleproject:6948
Change-Id: I8bd6c55598552b733547e45c854f6d55768d2b65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417503
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7c1346bd
|
2022-01-21T11:35:45
|
|
Vulkan: Consolidate uniforms code in ProgramExecutableVk.
De-duplicates several methods. Refactoring change only.
Bug: angleproject:3570
Change-Id: Ib68bc30b3e9b1087871bb268ea292677e0c9fe2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3408061
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2d55742
|
2022-01-21T12:28:32
|
|
Program: Add generic uniform update methods.
This will make it easier to make central changes to all the update
methods. Otherwise we'd have to replicate changes in each separate
member.
Bug: angleproject:3570
Change-Id: Ia765720507642338d6e9777b7e38fb323800359b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407734
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
374e0c43
|
2022-01-20T14:04:27
|
|
ProgramPipeline: Remove mHas members.
These are no longer needed now that the excutable mirrors uniforms/
samplers/sahder buffers/etc.. Refactoring change only.
Bug: angleproject:3570
Change-Id: I768381ac64a750f04180ab824302e3550030911c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403047
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0dc0dc2a
|
2021-12-30T11:35:40
|
|
Re-land: "Vulkan: Remove "fillProgramStateMap"."
This copies additional shader info like uniforms from the Program
to the Program Piplines. There is now a duplication between PPOs
and Programs. There is no additional storage required for non-PPO
Programs.
Re-land fixes fragment in/out uniform updating with PPOs.
Bug: angleproject:3570
Change-Id: I64b2db6fbc3a610f3b5e617301f94eb30d915939
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412999
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
51072319
|
2022-01-25T10:41:25
|
|
Vulkan: Enable framebuffer fetch on SwiftShader.
This also fixes a bug with non-coherent fetch in the symbol table.
Bug: angleproject:6947
Bug: angleproject:6948
Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aaac31b4
|
2022-01-25T18:27:11
|
|
Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_*
Fixed in crrev.com/c/3407737
Bug: angleproject:6916, angleproject:6645
Change-Id: I9b7ee44aed7d77e581b48f871e0f0dd1195dabf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413009
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c5498b95
|
2022-01-21T13:33:49
|
|
FrameCapture: Reset immutable buffers correctly.
Restore immutable buffers using UpdateClientBufferData.
Regenerate immutable buffers using CaptureBufferStorageEXT.
Bug: angleproject:4599
Bug: angleproject:5857
Bug: angleproject:6774
Change-Id: I8e80e9e32633b1303855e5a6ba7ac62941929645
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406755
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
8474c8e1
|
2022-01-21T12:30:15
|
|
FrameCapture: Add Renderbuffers to mStartingResources.
This prevents Renderbuffers being deleted in Reset when they were
captured with MEC and added to the Setup function.
Bug: angleproject:5857
Bug: angleproject:4599
Change-Id: Ie61f75f69e3a3846877b1e8f5d9c98d5d0cecb2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406754
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
5f0badf4
|
2022-01-18T20:05:55
|
|
Vulkan: Prevent out of bounds read in divisor emulation path.
Split the replicated part of StreamVertexData out to
StreamVertexDataWithDivisor, there is only a partial argument
overlap between the two.
Bug: chromium:1285885
Change-Id: Ibf6ab3efc6b12b430b1d391c6ae61bd9668b4407
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3398816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
526c93dd
|
2022-01-05T17:21:34
|
|
FrameCapture: Detect GL_MAP_COHERENT_BIT_EXT correctly.
In MEC, look for GL_MAP_COHERENT_BIT_EXT in getStorageExtUsageFlags as
it will never occur in getAccessFlags.
GL_MAP_COHERENT_BIT_EXT will also never occur in glMapBuffer access
flags, so just pass false.
Bug: angleproject:5857
Change-Id: I9bc2a5d334d3b90653d33439d4055965593de5b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406753
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
d7585c22
|
2021-12-15T13:35:51
|
|
Capture/Replay: don't capture MS depth renderbuffer pixels
Vulkan can't resolve depth textures and no emulation has been
implemented todo so when required, therefore we hit an assertion
in ImageHelper::readPixels if we try to read back the MS depth
renderbuffer pixels. To work around this problem don't read back
the data.
Reorder the renderbuffer readback code a bit to make the code
easier to follow.
Bug: angleproject:6324
Change-Id: I6fb4d0f993b061393b249706efe4b2c9d44a6f96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
d6dd0cb5
|
2021-09-21T15:26:13
|
|
EGL: EGL_KHR_lock_surface3 backend
Add vulkan implementation
Add test: EGLLockSurface3Test
Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test
Bug: angleproject:6062
Change-Id: Id5bfe37895b550392d11e9e9cc1262c1f0288c42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174323
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6a14e328
|
2022-01-25T00:49:45
|
|
Revert "Vulkan: Remove "fillProgramStateMap"."
This reverts commit 38deffe40db83836588e0cd50864945a9ddba36b.
Reason for revert: angle_end2end_tests failures on Pixel 6.
Original change's description:
> Vulkan: Remove "fillProgramStateMap".
>
> This copies additional shader info like uniforms from the Program
> to the Program Piplines. There is now a duplication between PPOs
> and Programs. There is no additional storage required for non-PPO
> Programs.
>
> Bug: angleproject:3570
> Change-Id: I5ed6c946df945aaf2f65752f797b16e7649d5584
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3362297
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:3570
Change-Id: I3a4822c8a65d024070a9fe5df103b88a3c8333d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414024
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bd87cc1c
|
2022-01-24T17:44:58
|
|
Skip flaky CopyTextureTest.CopyOutsideMipmap
On Win NVIDIA GLES
Bug: angleproject:4716
Change-Id: Ia9b9b8b736a0703e0b774d6325fd1131876921ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412885
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c7f31b8a
|
2022-01-24T15:39:57
|
|
Expand TransformFeedbackTest.SpanMultipleRenderPasses suppression
Looks like the test is flaky on SwiftShader in general,
not just on ASAN.
Bug: angleproject:6875
Change-Id: Ie011e0e3939be85413a8de94f32284c19d5a3c02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413273
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
29678329
|
2022-01-21T14:06:42
|
|
Vulkan: Fix advertised precision ranges
Advertise precision ranges similar to the spec requirements. This
change requires a fix to the CTS to allow drivers to provide more
precision in some situations:
97ceb2222747fef380d25acd15638b599fbc1d5a in VK-GL-CTS
Bug: angleproject:6645
Change-Id: I9b537a8acdf885e35fbcb539c70b730c5f2accc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407737
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38deffe4
|
2021-12-30T11:35:40
|
|
Vulkan: Remove "fillProgramStateMap".
This copies additional shader info like uniforms from the Program
to the Program Piplines. There is now a duplication between PPOs
and Programs. There is no additional storage required for non-PPO
Programs.
Bug: angleproject:3570
Change-Id: I5ed6c946df945aaf2f65752f797b16e7649d5584
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3362297
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
540b2e46
|
2022-01-24T13:44:25
|
|
Fix MultithreadingTestES3.MultithreadFenceDraw skip on SwiftShader
Bug: angleproject:5418
Change-Id: I59ee80f3f5666c7d9551d33926ecdbb6942712ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413272
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
85e2991f
|
2022-01-21T18:14:35
|
|
Fix couple LSAN detected leaks in unit and end2end tests
Bug: angleproject:6937
Change-Id: Ibef9a300056509437edd50e9db18908c0b6d449e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413271
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
adb80238
|
2022-01-21T22:02:22
|
|
On invalidate, only sync the relevant framebuffer binding
... instead of syncing both framebuffer bindings. This showed up as a
bug in the dithering emulation where the draw framebuffer was never
sync'ed (so its render target cache was not populated), but its binding
was. The test only ever accessed the read framebuffer.
Bug: angleproject:6755
Change-Id: I29445d1c896712b9ccf4c7127baa6b9e4fc63527
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407958
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a20cd8b7
|
2022-01-22T01:40:34
|
|
Fix initialization for ETC2 punchthrough alpha formats
* Zero-filled ETC2_A1 data must be treated as opaque black
* Removed init functions when emulation is not needed
* Fixed initialization for emulated ETC2_R8G8B8A1_SRGB_BLOCK
Bug: angleproject:6936
Bug: angleproject:6941
Change-Id: Ie5555bbaa6b1a2bcfd9c22cb9c17d1a96e72aa70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406761
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
cac4e54a
|
2022-01-24T05:43:00
|
|
Mark GL_RGBX8_ANGLE format as filterable.
`filterable` field was set to set to NeverSupported for
GL_RGBX8_ANGLE,
while it is filterable when it's supported.
Bug: angleproject:6690, chromium:126982
Change-Id: If44f18014c3c7a30378f51d0426ce9980c2feae0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3411538
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
096c268b
|
2022-01-12T15:21:02
|
|
Add a few overrides for Samsung
1. Enable perFrameWindowSizeQuery feature
2. Return correct vendor string
Bug: angleproject:5111
Change-Id: I9efb0d2168994c6f209d8730c658f2568f3d3afa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387848
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0f00fbae
|
2022-01-21T00:28:48
|
|
Translator: Make vec/matrix size getters unsigned
TType stored type's primary and secondary sizes as `unsigned char`, but
the getters returned `int`. This caused unnecessary casts when the size
was passed from one TType to another, as well as comparisons with other
unsigned numbers.
This change specifies the type of these members as `uint8_t` and makes
the getters return the same type. The call sites are accordingly
adjusted to remove unnecessary casts, use the correct type in local
variables, and add casts when passed to ostream::operator<<.
Bug: angleproject:6755
Change-Id: Ia4d86bd4ccb5c1a2ae1e10a0085a5166c3a6bcf7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402850
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ca3b28b4
|
2022-01-21T14:59:47
|
|
Metal: Fix compressed texture initialization and add DXT1 test
There was a divergence between WebKit and upstream ANGLE in
InitializeTextureContents' handling of compressed textures.
Align upstream ANGLE with WebKit, fix a problem with emulated
compressed texture formats like ETC2, and add a new test:
DXT1CompressedTextureTestWebGL2.InitializeTextureContents
Bug: chromium:1289428
Change-Id: Ieac6b99a4b19a34d0d87b7577882760ea395c605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406746
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
a0fbcb37
|
2022-01-13T14:26:58
|
|
Vulkan: Remove flush from SyncHelperNativeFence::serverWait
The spec doesn't require a flush in native fence's server wait method
Bug: angleproject:2517
Test: EGLSyncTest.AndroidNativeFence_*
Change-Id: If6870fe1e25ddf3a1b724e776f5408523a7bdf50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388231
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
29e25468
|
2022-01-07T07:02:53
|
|
Account for EGL 1.5 version when dealing with robustness
EGL 1.5 spec allows for EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY
and EGL_CONTEXT_OPENGL_ROBUST_ACCESS enums to be passed in to
eglCreateContext. Update the validation layer and queries to account
for the new enums.
Bug: angleproject:6883
Tests: KHR-NoContext.es32.context_flags.*flag*
Tests: KHR-NoContext.es32.robustness.*reset*
Change-Id: I7088e0dca08cea2cfdcf1877b6d999c0e0336e5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373133
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
78d482e5
|
2022-01-13T14:49:26
|
|
Add standalone ANGLE Pixel 6 experimental bots
The bot only runs dEQP tests with Vulkan backend, not GLES.
Also skipping non-Vulkan tests in angle_end2end_tests.
Also no perf/trace tests, as these time out uploading to device.
Adding suppressions for the failing tests at the same time.
Bug: chromium:1280418, angleproject:6819
Bug: angleproject:6898, angleproject:6899, angleproject:6900
Bug: angleproject:6905, angleproject:6907, angleproject:6908
Bug: angleproject:6909, angleproject:6910, angleproject:6916
Bug: angleproject:6917, angleproject:6918, angleproject:6919
Bug: angleproject:6931
Change-Id: I3598e6ff7f458ad7ab2defb86e02a17fbf2d20ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a5e22715
|
2021-09-30T17:03:34
|
|
Vulkan: Fixed TC shader and gl_PerVertex block interaction
TransformSpirV() does not account for the fact that the
tessellation control shader's output gl_PerVertex block is a
named array. This results in the input and output blocks
being sometimes flipped. Added code to track the IdRef of
both input and output array gl_PerVertex blocks and swap
them if necessary.
Bug: angleproject:5557
Tests: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.data_pass_through
Change-Id: Ie3823701b4eaa53daa8ca34faab657f54d8aee38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
a64d52fd
|
2022-01-21T13:09:34
|
|
Add ANGLE_FORMAT_PRINTF() for catching format errors
Bug: chromium:1288391
Change-Id: I0856d09b924ccce8192cad8cd7b590e0098ec5d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402851
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
31bb03fe
|
2022-01-19T10:06:49
|
|
Add more tests for program pipelines.
Bug: angleproject:3570
Change-Id: I2fa5ea6d90a15f4ec8ee41cde6921c30923974c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402099
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
515f60bd
|
2022-01-20T17:39:48
|
|
FrameCapture: Keep MEC Setup resources in Reset.
This fixes a regression in Reset when using MEC introduced by
462cdb08e395edbf5bace1408715e35239a0b1fa.
Don't call MaybeCaptureUpdateResourceIDs in maybeCapturePostCallUpdates
before capture starts, since it's adding resource IDs to mNewResources.
Don't add resources to mNewResources if they are already in
mStartingResources in CaptureUpdateResourceIDs.
Add FrameBuffers to mStartingResources before
MaybeCaptureUpdateResourceIDs is called.
Add Buffers to mStartingResources before calling
MaybeCaptureUpdateResourceIDs.
Add VertexArrays to mStartingResources in CaptureMidExecutionSetup.
Bug: angleproject:4599
Bug: angleproject:6870
Change-Id: If428cbbdbcfa17c221b9e110a990cf6ebc9107c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404087
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
1ab6c9f6
|
2022-01-20T18:37:56
|
|
Hide ES 3.0+ extensions from ES 2.0 clients
Bug: angleproject:6928
Change-Id: I0aa1a9c124022fb7d89c2889b18817573ec271a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404083
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2caa9d4f
|
2021-10-04T09:43:57
|
|
Vulkan: Add missing glGetProgramPipelineiv parameters handling
The glGetProgramPipelineiv function call was missing the case handling
for tessellation control and evaluation shaders.
Bug: angleproject:5557
Tests: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
Change-Id: Id888d1a9ae94228a33cfabcc7f65d1f63d596425
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208511
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
d2354968
|
2022-01-20T10:59:05
|
|
Vulkan: Rename BufferHelper::initFor* to allocateFor*
Simply name change per feedback from other CL's review.
Bug: b/205337962
Change-Id: Ieb53ed9a2922d09716a1219eb340fe273e5f1807
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402882
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a83f7e91
|
2022-01-19T14:14:16
|
|
Vulkan: inline some of the BufferSuballocation APIs
These are simply get* calls and frequent used ones. The measurement I
have on Pixel6 shows there is 0.01ms out of 2.28ms on CPU overhead with
asphalt_8 app trace measured with --minimize-gpu-work.
Bug: b/205337962
Change-Id: I746a1ccc67c589d1aba25495601ad874ddc034a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403159
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
1b5efe51
|
2022-01-19T14:04:35
|
|
Vulkan: Rename SubAllocation to Suballocation
Simply a name change to make it one word. No functional change is
expected.
Bug: b/205337962
Change-Id: Ic505536821f18141c0d036b13d9aa81554a8bafd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403158
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
659725aa
|
2022-01-20T15:24:40
|
|
Metal: Cleanup texture caps init
The removed line is redundant as the ASTC texture support
is enabled during the setTextureExtensionSupport call.
Bug: angleproject:6874
Change-Id: Ib9016e4d40acf1f466fa10920384b7419e6fed49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3064920a
|
2022-01-19T11:48:57
|
|
Capture/Replay: Serialize ActiveTexturesCache.
Also add group scope to samplers.
Bug: angleproject:3570
Change-Id: I616a54d95544af1e3c4eeff196806e5bfb20292e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402100
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1bd1a3db
|
2022-01-06T15:08:48
|
|
Metal: Canvas resizing causes webpage to run out of memory
For https://bugs.webkit.org/show_bug.cgi?id=232122
Introduce a maximum resident amount of memory that a single
command buffer can use, before forcing a flush.
As part of ensuring that a command buffer is ready,
check to see if this limit is exceeded. if so,
flush the command buffer, and create a new one.
Bug: angleproject:6880
Change-Id: I5e89735d05adbc174237ab79b006a75bbe89e560
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3369922
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
15439f8e
|
2022-01-13T14:58:41
|
|
Vulkan: Remove BufferMemoryAllocator
This class was added in crrev.com/c/3036256. The original intention was
to use VMA to implement buffer suballocation. Because VMA itself does
not support buffer suballocation, I was thinking to use VMA custom pool
to implement it and this class was intended to wrap all these
functionality into one class. But now thanks to Jamie's effort, VMA
exported generic suballocation algorithm via API and we have implemented
buffer suballocation using that virtual allocation API. So this
BufferMemoryAllocator class is really no longer useful. This CL mostly
reverted that CL and flatten out the buffer allocation call to directly
use VMA's Allocator object.
Bug: b/205337962
Change-Id: I0336056e440f39e2ff49fee8e0ff4b1f355cefe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244022
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
dcac02ac
|
2022-01-19T21:30:21
|
|
Revert "Enable robustnessEXT for SwiftShader."
This reverts commit b803b60df1806f189c1b29ca77da47896241e0f1.
Reason for revert: blocks roll into Chrome - anglebug.com/6922
Original change's description:
> Enable robustnessEXT for SwiftShader.
>
> Bug: chromium:1287631
> Bug: angleproject:6906
> Change-Id: I3c8c32561a1ac7860c83b8d3ba22aafd0bf81fd4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3390489
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Roman Lavrov <romanl@google.com>
Bug: chromium:1287631
Bug: angleproject:6906, angleproject:6922
Change-Id: Ic8ff7dd996455009037cbff9e10b6fbbc420b37e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402820
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ef3fffd6
|
2022-01-19T16:00:42
|
|
Fix running tests with empty test set.
This was causing a crash when using an overly strict filter.
Bug: angleproject:5417
Change-Id: I38bae1a155a6b1047bae0856348de67f9cda21eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402939
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5c9b385
|
2022-01-19T11:11:20
|
|
Add object label in glBindTexture() error message
Bug: chromium:1288391
Change-Id: Ic1d1e96c33d5fde7659107735846dbf2c3ce9360
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399244
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
b5360798
|
2022-01-14T12:45:14
|
|
Vulkan: Support fetching from default FBO
If GL_EXT_shader_framebuffer_fetch is enabled, specify framebuffer
attachments as having VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT.
Add new test FramebufferFetchES31.DefaultFramebufferTest which
exercises the behavior.
Also limit exposure of either framebuffer fetch extension to be
Android only due to swapchain images requiring INPUT_ATTACHMENT.
Test: FramebufferFetchES31.DefaultFramebufferTest
Bug: angleproject:6893
Change-Id: I227e36a9844e2301f0fe0602f4e4d905874b32e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3389791
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ff5368cd
|
2022-01-18T13:50:10
|
|
Mark a context as shared if using global textures/semaphores
The display level texture/semaphore sharing allows cross-sharegroup
sharing of resources. This is not thread safe without marking the
context as shared which triggers locks on GL calls.
Bug: chromium:1273651
Bug: chromium:1276527
Bug: chromium:1276563
Bug: chromium:1278174
Bug: chromium:1284879
Change-Id: If5214ccfd8452beb5e3079ab38c6a3f7d7225d7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399249
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: vikas soni <vikassoni@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fc6b747d
|
2022-01-10T17:01:30
|
|
EGL: Fallback to native device if no display available
On some Google-internal platforms, eglGetDisplay() fails. The
EXT_device_enumeration extension is the recommended way to initialize
an EGL display on these platforms.
Bug: chromium:1276086
Change-Id: I68969c19d643a46e8362ae265b1115b18ca3bbc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3378824
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
55d12770
|
2022-01-19T16:00:47
|
|
Metal: Cleanup autogenerated format table
Skip generating code that sets default values.
Bug: angleproject:6874
Change-Id: Id12e39eedbe4665279710125e02b105318d40b82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
00a2a2f3
|
2022-01-06T17:52:23
|
|
Merge metal format table updates from Webkit
Some texture formats are not supported in the Metal SDK
for certain platforms. Refactor the mtl_format_table map to
allow Webkit to continue to build all platforms.
This change removes a large block of changes between Webkit
and OSS ANGLE, due to resolving the generated file differences.
Bug: angleproject:6874
Change-Id: Ib53aea4fb95e230d53ad2ebbd74bf97e847005c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371882
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
f071aaaf
|
2021-07-22T21:21:35
|
|
Use first test name instead of shard index for TestArtifacts
Shard index is not available on Android if run_gtest_angle_test.py
is not used, since host doesn't pass it to device by default.
We'd like to remove run_gtest_angle_test.py usage, since custom scripts
are not supported on iOS, so this CL is a pre-requisite to that.
We still need to distinguish between dEQP test artifacts when we merge
test results of different shards, so we'll be using the name of the
first test in a batch instead.
However, now, on Android,
instead of a single TestArtifactsFakeTest entry per shard,
we will have multiple entries,
an entry for each GTest batch of 256 tests.
On other platforms we will still have one entry per shard,
since batching is done by TestSuite and not GTests there,
just with a different name:
Old:
"tests": {
"TestArtifactsFakeTest-Shard00": {
"actual": "PASS",
"artifacts": {
"TestResults-Batch001.qpa": [
"TestResults-Batch001.qpa"
],
New:
"tests": {
"TestArtifactsFakeTest-GLES3/info_renderer": {
"actual": "PASS",
"artifacts": {
"TestResults-Batch001.qpa": [
"TestResults-Batch001.qpa"
],
Bug: angleproject:5417
Change-Id: I649036c151e078c862e380ccab347d6c59acc929
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046764
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
7dda50fc
|
2022-01-13T12:09:20
|
|
Add frontend for ANDROID_extension_pack_es31a
- Add entry to registry_xml file
- Add handling in the DirectiveHandler
Bug: angleproject:3608
Change-Id: I1cc32a4a97fd9974f65786a9a972b4b541abf658
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
28f223ac
|
2022-01-14T16:11:32
|
|
Vulkan: Add missing ESSL 3.2 builtin functions
Builtin functions from the "OES_shader_image_atomic" and
"OES_texture_storage_multisample_2d_array" extensions were missing from
ESSL 3.2 builtins.
Bug: angleproject:3578
Bug: angleproject:3583
Change-Id: Id372f0dcffee1eb376c66b9e4886ed50a08b1b0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3391048
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
400175d8
|
2022-01-07T14:54:03
|
|
Copy shader buffers into pipeline executables.
Bug: angleproject:3570
Change-Id: I82e4fc15aac9f60f40aae69785b24e5dc233fd78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371528
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
892511fc
|
2022-01-05T17:35:30
|
|
Isolate LinkValidateProgramInterfaceBlocks.
This moves the function to a common place, similar to other
"LinkValidate" functions.
Refactoring change only.
Bug: angleproject:3570
Change-Id: Ib94d7961d919308d29680e7e28bdbca1f08b93f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373161
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fdadc420
|
2021-09-17T14:39:36
|
|
Fix non-bot mode sharding on Android and disable elsewhere.
There is no need to apply sharding internally on Android,
since it is done on the host, except when listing tests.
And on other platforms sharding in non-bot mode is not useful.
Patch authored by Yuly Novikov (ynovikov@chromium.org)
Bug: angleproject:5417
Change-Id: Iddc0e1a38fb514617dce527acc99d0dce85ca177
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399250
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fa3241b7
|
2022-01-13T17:56:52
|
|
Vulkan: Move shader_framebuffer_fetch to FeaturesVk
Per feedback in http://crrev/c/3371244, move the new and existing
checks for whether the extension should be enabled. Controlling them
based on hardware vendor should be done with FeaturesVK so we can
centralize our workarounds.
Also remove the envvar-based override for non-coherent extension.
It can now be forced using ANGLE's feature system. The new way to
force the override is:
ANGLE_FEATURE_OVERRIDES_ENABLED=supportsShaderFramebufferFetchNonCoherent
or on Android:
debug.angle.feature_overrides_enabled=supportsShaderFramebufferFetchNonCoherent
Bug: b/201764768
Bug: angleproject:6519
Bug: angleproject:6870
Bug: angleproject:6872
Change-Id: Ie78ebfa94807a156b9e7f704e8a36cd38b85f878
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3389707
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9012c128
|
2022-01-17T13:30:28
|
|
Add Microsoft vendor Id parsing to SystemInfo
"Microsoft Basic Render Driver" uses vendor Id 0x1414.
Bug: angleproject:6904
Change-Id: I50e370159f176a8e591eda96134e59ad89e09c5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3396417
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
453cd955
|
2022-01-17T13:26:39
|
|
Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
Uses the same LUID parts as ANGLE_platform_angle_d3d_luid. This
new extension is available on D3D11 on Windows and Metal on Mac.
Bug: angleproject:6903
Change-Id: Ib695affe47e822c4dfd7f41d8a62a85e74b9b90a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3396416
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a1858b02
|
2022-01-05T13:13:30
|
|
Tests: Add Respawnables trace.
Test: angle_perftests --gtest_filter="*respawnables*"
Bug: angleproject:6890
Change-Id: I4af1c783d1431e4741fd8fc3cde7c0e088f3ca69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3398884
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
b803b60d
|
2022-01-14T23:29:14
|
|
Enable robustnessEXT for SwiftShader.
Bug: chromium:1287631
Bug: angleproject:6906
Change-Id: I3c8c32561a1ac7860c83b8d3ba22aafd0bf81fd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3390489
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
4572a176
|
2022-01-03T13:29:59
|
|
Add support for GL_MESA_framebuffer_flip_y 3/*
This is a third CL that adds tests that exercise
the extension in various use cases.
Bug: chromium:1231934
Change-Id: Iae3192cd0985150b6844a2855a9a048a54353655
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3365195
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
9b231f09
|
2022-01-18T04:49:08
|
|
Vulkan: Fix incorrect bit test when mipmapping
Fixed an issue where angle::Bit was used instead of
angle::BitMask when should selecting [0, x) to set bit
range (x, y] in an n-bit bitmask.
Bug: chromium:1287962
Change-Id: I053fbc836ef12b0dfd30305fd527de3fabfdf525
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3394468
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
158ecba6
|
2022-01-07T16:40:26
|
|
Vulkan: Remove cached Impl pointers from ContextVk.
These pointers were a common source of programming error, where
sometimes they wouldn't be updated when they were needed. Instead
we can pull the objects directly from the GLES state. We added
them initially to attempt a performance improvement, but it's
likely they didn't significantly decrease memory accesses or the
number of instructions we process for GLES calls. Hence removing
them should be an improvement in safety without a perf loss.
Bug: angleproject:6864
Change-Id: I54107686992065a514077c71d173b804e295515e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3378904
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5adee916
|
2022-01-11T13:09:55
|
|
Wrap some global vulkan methods which depend on env variables
ANGLE scoped sets some envion variables during initialization.
Those env variables will change some vulkan global methods behavior.
So to make sure those global methods have same behavior, this CL
wraps those global methods, and sets those envion variables before
call those vulkan methods.
Bug: chromium:1264439
Change-Id: Ie4e29884fcf5b67f4e53ddd3c90a9ade7b226a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379209
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
0aae0d7a
|
2022-01-11T15:17:10
|
|
Update PrintSystemInfo with missing fields.
SystemInfo's PrintSystemInfo was out of date and missing some newer
fields.
Bug: angleproject:6888
Change-Id: Ia73065d60ec3fab6affe21b81398ffb2fe587e9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379709
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
6601b8d2
|
2022-01-14T14:15:24
|
|
Vulkan: Fix storage buffer limits on geom/tess without Vulkan support
Bug: angleproject:6896
Change-Id: I7172b65b460122fcb2485921fadb360dba199283
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388117
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c4c73e82
|
2022-01-14T12:55:20
|
|
Fix RobustBufferAccessBehaviourTest.
Use "NoFixture" to enable the extension when available.
Bug: angleproject:6897
Change-Id: Ieb3383fbff4df664ad35dd034de3bdd7f8508ed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388115
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
30254d34
|
2022-01-14T12:54:40
|
|
Ignore VUID-RuntimeSpirv-NonWritable-06341 warning
To facilitate setting up Pixel 6 bot, where it triggers
Bug: angleproject:6896
Change-Id: I69241f56a3b26ed932f06563aca700ff77fdb2dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388195
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
158d4783
|
2022-01-13T13:30:34
|
|
Vulkan: Suppress VVL message about allocation exceeding heap size
VMA does not check the result of vkGetBufferMemoryRequirements against
the heap size before attempting to make an allocation, which leads to a
validation error.
The error is benign for ANGLE as the subsequent Vulkan allocation will
fail, leading to an OOM generated by Vulkan isntead of ANGLE to the same
effect as far as the application is concerned.
Bug: angleproject:6444
Change-Id: Ia474629971d6835f727b3fb43313a6003e3c939a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387088
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
28f05f41
|
2022-01-14T15:12:29
|
|
Capture/Replay: Add annotation for crashing test
Bug: angleproject:6895
Change-Id: I069dbbaccc875245096d48a74fe16308d5f8d065
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3386946
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
6e2ab29d
|
2022-01-11T22:39:05
|
|
Avoid data race in overflow check.
`mSerial + 1 > mSerial` involves reading the value multiple times
which results in a data race.
Bug: angleproject:6633
Change-Id: Iae289ba2ee54190703f16f60319d10988da46cb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3381854
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
6312da1a
|
2022-01-10T14:00:55
|
|
Vulkan: Disable GL_KHR_parallel_shader_compile
Disable the extension GL_KHR_parallel_shader_compile in the Vulkan
backend. Vulkan's shader compiler is very fast and is outweighed by the
threading overhead. Additionally, Vulkan doesn't support parallel
linking, which is where the real benefit of multithreading lies.
Bug: angleproject:6748
Change-Id: I0cd14856865eaaade6bfa40d4bf9f133d613b4d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379302
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
9f3c306e
|
2022-01-13T13:34:36
|
|
Fix collection of systemDeviceId on Mac/M1
Use the AGXAccelerator registry Id to match to the MTLDevice registry
Id.
Bug: angleproject:6143
Change-Id: I6fc868cbc9d5f442e042b5afeade6f71dbb2915b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387081
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9b1a6d8a
|
2022-01-06T10:38:25
|
|
Vulkan: Invalidate depth/stencil unconditionally
* Moved depth/stencil content invalidation during swapImpl()
to doDeferredAcquireNextImage(), so it can be done regardless
of whether render pass optimization is done.
Bug: angleproject:6861
Change-Id: I47fab18afe5b178bf55c2df3df712c40118aff1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370583
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
bd64b3ea
|
2021-12-30T13:47:09
|
|
Move pipeline uniforms into the executable.
Refactoring change only.
Bug: angleproject:3570
Change-Id: I8cfe41d86aa63d395d7da02dcc3c85a18fde553e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3359002
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
985db640
|
2022-01-13T09:59:08
|
|
Fix test harness config parsing in Compressed Tex tests.
These compressed texture formats tests were producing the
compressed format as the config name. This CL fixes the test names
so that the config is at the beginning, which is where the test
harness expects it.
e.g.: https://chromium-swarm.appspot.com/task?id=586b4c3bfbd32610
"Completed batch with config: SRGB8_ALPHA8_ASTC_5x5"
Prior name: <>.Test/SRGB8_ALPHA8_ASTC_5x5__ES2_Vulkan
New name: <>.Test/ES2_Vulkan__SRGB8_ALPHA8_ASTC_5x5
Also includes a fix for the AsyncQueue skip on TSAN, because now
AsyncQueue might not be the last part of the test name.
Bug: angleproject:6280
Change-Id: Ic4ce4571ba14cc3828c9a93938d49033bcda5d6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387053
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f4b0a95f
|
2021-12-16T02:38:26
|
|
Metal: Implement EXT_shader_texture_lod
Added CubeMapTextureTest.SampleCoordinateTransformGrad_ES3
Bug: angleproject:6815
Bug: angleproject:6824
Bug: angleproject:3814
Bug: angleproject:6891
Change-Id: I9007bf8ba91309fb9b597e2d1bd33281ff59644a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343488
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2f4f5f8a
|
2021-12-14T17:30:42
|
|
Add EGL_ANGLE_platform_angle_device_id for the Metal backend.
This extension takes in a 64-bit device ID in two parts as parameters
to eglGetPlatformDisplay and uses it to initialize a display backed
by a specific device. The deviceID should match the MTLDevice's
registryId.
Bug: angleproject:6143
Change-Id: I02188b8266f8d0ac657b04325d191ab89bbef751
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3337985
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
0ab15998
|
2022-01-07T09:59:23
|
|
Translator: Don't promote precision for assignment operation lvalues
Assignment operations should use the precision of their
lvalue-expression, even if their rvalue-expression has
higher precision.
Bug: angleproject:6889
Change-Id: I9a105631defb6c1e27870c96517aa66fbd95543e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3381906
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
cd157aae
|
2022-01-12T14:44:50
|
|
Revert "Use STL container for vulkan memory allocator"
This reverts commit cc516f97018fdcbcded2b0bad712a0bc2af4e227.
Reason for revert:
This is not the right way to use STL containers in VMA.
See [1] for detail.
[1] https://chromium-review.googlesource.com/c/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/+/3381940
Original change's description:
> Use STL container for vulkan memory allocator
>
> There is a crash related to VMA containers, so switch to STL
> containers to see if it can workaround the issue.
>
> Bug: chromium:1266412
> Change-Id: I8416e4b4a27588ac2d710a4ef7600cd91b080535
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327744
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
Bug: chromium:1266412
Change-Id: Ib020c824a3576489c728503a2ced68ca772d4065
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3381979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
d4c8209b
|
2022-01-10T13:30:06
|
|
Fix validation of copyImageSubData related to texture completeness
Fixed an edge case in validation code where we were not properly
ignoring format rules for texture completeness as required for
copyImageSubData by the ES 3.2 specification
Bug: angleproject:5363
Tests: KHR-GLES32.core.copy_image.r32*_texture
Change-Id: Ibf8a6f4708e2135f0eb6f4ba58d4ce413f11ce5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379224
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
96fd9b72
|
2022-01-10T13:17:43
|
|
Fix validation of glCompressedTexImage3D
GLES 3.2 spec allows for glCompressedTexImage3D to accept
TEXTURE_CUBE_MAP_ARRAY as a target as well. Account for this
during validation.
Bug: angleproject:5393
Tests: KHR-GLES32.core.texture_cube_map_array.etc2_texture
Change-Id: Ieb75e63021bea2ea6f8fcc68bd6b666d0bd7f5dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
926b43e7
|
2022-01-06T13:31:54
|
|
Reland: Frontend: separate lock in swap prep
Swapchain-based backends like Vulkan might block a lot in
vkAcquireNextImageKHR, which is bad for overall fast progress if we also
hold the global EGL lock there.
This CL starts to split the global EGL lock. We release the EGL lock
when performing vkAcquireNextImageKHR, and only maintain a lock for
surfaces.
This is done via a new custom entry point, EGL_PrepareSwapBuffers, so
that we can control how the global lock is used throughout the entire
call.
Bug: angleproject:6851
Change-Id: I095cd8b3bdbb13c842cab0a46148e2122582cdfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373426
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
2d105177
|
2022-01-10T11:44:37
|
|
Enable a few features for Samsung
Check for Samsung vendorID and enable a few features.
Bug: angleproject:5111
Change-Id: I17a93bfb9a094b80d185eb3d2a08ed00f528a30b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379223
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
345cdcb0
|
2022-01-10T22:41:46
|
|
Rename features for consistency.
supports_custom_border_color -> supportsCustomBorderColor
supports_protected_memory -> supportsProtectedMemory
Also drop EXT from the end of the variable name as other variables don't
have that.
Bug: angleproject:6731
Change-Id: I60b20d84387bccbca0c4c1cbc7e341c1f5e8f0ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3378827
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
b0e15ee4
|
2021-12-28T20:37:33
|
|
Decide GL_KHR_parallel_shader_compile in backends
GL_KHR_parallel_shader_compile was previously being enabled
unconditionally in the front end. However, some backends (Vulkan)
perform worse with parallel shader compilation. This CL moves the
decision of enabling GL_KHR_parallel_shader_compile to the backends.
To support single-threaded shader compilation without affecting the
generic worker thread pool, Context::mSingleThreadPool is added to own
the single-threaded WorkerThreadPool and can be returned by the new
function Context::getShaderCompileThreadPool(). Otherwise, if the
extension is enabled, the (renamed) Context::mMultiThreadPool is
returned.
Bug: angleproject:6748
Change-Id: Ic8d3a183f397608f3002a05480deb976dfe44792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
a026d053
|
2021-12-22T01:08:33
|
|
Add support for subgroupSize of 16 in Debug Overlay Module
The subgroupSize on some Android devices is 16, which is not
supported by current OverlayCull and OverlayDraw compute
shaders. This change adds support for subgroupSize of 16.
This change also removes the subgroupBallot and subgroupArithmetic
paths in OverlayCull compute shader.
These two paths were added by Shabi as an experiment,
and he suggested to remove them for easier code maintenance purposes.
Bug: angleproject:6806
Change-Id: I5ce68cb18fbf3472c987d811c89f065cb8581858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352865
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
f180ecc9
|
2022-01-11T10:32:23
|
|
Supress TransformFeedbackPausedDrawThenResume on Mac AMD
Mac AMD OpenGL fails this test the same way as
TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume
Bug: angleproject:6643
Change-Id: Ifbae1751deeaddbe64fa1ac284e0fa04e02c666f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3380009
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0b02a592
|
2022-01-10T20:27:25
|
|
Metal: Generated Metal shaders do not compile offline
Add an explicit include for the Metal stdlib to fix missing
symbol errors
Bug: angleproject:6886
Change-Id: Ie84ef1c16f964387b63e36490d7e9abc0c1763f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379238
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
6a255833
|
2022-01-07T16:13:58
|
|
Metal: Fix transform feedback issue
The issue is if you issue 2 draw commands back to back,
Metal partially ignores the 2nd.
Bug: angleproject:6884
Change-Id: I702335ca06828bed1f553f1f5563ddc99f00bc99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373736
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|