|
c70c329e
|
2024-01-31T15:59:19
|
|
Vulkan: Fix texture copy vs pre-rotation
A minor error where the destination offsets were swapped based on source
rotation.
Bug: b/319336510
Change-Id: I5541f8d0bf0b7306b951d2601c8c27ffedb8470e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5254238
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
82ba79ff
|
2024-01-08T15:22:59
|
|
OpenCL: Update CLtypes.h to cl_types.h
This change/enhancement is to keep codebase more consistent since
vulkan backend versions of this header use lowercase-snake_case for
file name.
Bug: angleproject:8501
Change-Id: I223712c72db06425d192ddfe7300e5475c341e38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233364
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f8c06f10
|
2023-11-30T17:45:35
|
|
OpenCL: Add types to cl_mem origin and region
Now using cl::MemOffset and cl::Coordinate.
Bug: angleproject:8439
Change-Id: Id775fe78467d3b56d2a7cc87f793221ab5e04bc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078244
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ecc35205
|
2024-01-25T23:58:25
|
|
Move uniform block dirty bits to State
When glUniformBlockBinding changes the mapping from a program uniform
block to a buffer binding, all contexts in the share group need to
reprocess the affected block index. Prior to this change, the dirty
bits that indicated which blocks have their mapping redefined were
placed in the program executable, and were reset by the first context
that processed them. As a result, the other contexts in the share group
where not aware of such modifications.
Similarly, when a buffer changed in one context, the mapped program
blocks were marked dirty, with similar cross-context issues.
In this change, the dirty bits are moved to State, so every context
would react to these changes.
Bug: angleproject:8493
Change-Id: I5712002224cbc4a576bf2ac46e8e75f26ebc5b2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238991
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1abfdc37
|
2024-01-31T10:24:51
|
|
Remove suppression of VVL error
Remove the suppression of VVL error
VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536.
This change in ANGLE
https://chromium-review.googlesource.com/c/angle/angle/+/5246088
properly fixed the VVL error.
Bug: angleproject:7553
Bug: angleproject:8513
Change-Id: Ic866bae689a649fdabfde8e80a882595e2e7947c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249864
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
157088ad
|
2024-01-30T20:24:50
|
|
Add EGL extension for WebGPU
Bug: angleproject:8476
Change-Id: Ic5aad4eb56239d9346c6ba1f812d070ce85131a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5245895
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
a70b6f56
|
2024-01-26T20:37:07
|
|
Add support for WinUI3/Windows App SDK
Adds the necessary build args and code changes to
support building ANGLE for WinUI 3 (aka Windows
App SDK).
To reduce the set of changes, and because it is
functionally the same, a Windows App SDK build is
basically a UWP build, but with an extra define so
that the code can make a few changes to the
namespaces and includes used.
The main changes to the code are:
- ICoreWindow is no longer used
- Dispatcher has a few changes in naming and args
- ISwapChainPanel is now in a different namespace
Bug: angleproject:8490
Change-Id: Ibb298e3e86e8298dac12c2019eac7996a8185c51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230637
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9ca81c7e
|
2024-01-21T13:35:06
|
|
FrameCapture: Handle zero vertex count draws
Seeing the following from GLES1 (note count = 0):
glDrawArrays(context = 1, mode = GL_POINTS, first = 0, count = 0)
This crahes in FrameCaptureShared::captureClientArraySnapshot:
'length_error was thrown in -fno-exceptions mode with message "vector"'
The function assumes vertexCount will always be greater than zero.
This CL updates it to detect the empty case and simply return.
Negative counts are already handled as a GL error.
Test: Plague Inc MEC
Bug: b/321562592
Change-Id: I3613eaac297a3471dc998b023bf2658413cb5d1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5250427
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mike Schuchardt <mikes@lunarg.com>
|
|
98846aa8
|
2024-01-30T10:23:48
|
|
Metal: Temporarily disable asm injection.
Some Mac11 bots started to fail after the asm injection started.
Disable this path to determine if it was the root cause.
Bug: chromium:1522730,chromium:1513738
Change-Id: I2580f124735f576257bb46fbf47394ff845384f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249328
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5c2fc02b
|
2024-01-29T16:49:28
|
|
Vulkan: Bugfix in ImageFormat
FixedVector::operator[] does not update FixedVector::mSize.
Need to call FixedVector::push_back(...) instead.
Bug: angleproject:7553
Change-Id: I544a68276d1635957a27d21c222f50f71d35a609
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5246088
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
349e75cc
|
2024-01-29T16:41:42
|
|
Suppress VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536
After this VVL change:
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+/40d989c436d43538be341cd614a595505ce907cc,
the newly added VVL error starts to be thrown
on multiple ANGLE bots.
Suppress this VVL error to unblock the vulkan-deps
roller first. Will investigate later how to fix
the VVL error in ANGLE.
Bug: angleproject:8513
Change-Id: I7d74ff762c3b78d70c3ba5139c1b6955d4cd49e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5247713
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
0c4d6446
|
2024-01-24T10:38:45
|
|
Rework uniform block <-> uniform buffer mapping
In GLES, the shader declares which buffer binding a block (uniform,
storage or atomic counter) is bound to. For example:
layout(binding = 1) uniform ubo0 { ... };
layout(binding = 2) uniform ubo1 { ... };
layout(binding = 1) uniform ubo2 { ... };
In the above, ubo0 and ubo2 use data from the buffer bound to index 2
(through glBindBufferRange), while ubo1 uses data from the buffer bound
to index 1. For uniform blocks in particular, omitting the binding
is allowed, in which case it is implicitly bound to buffer 0.
GLES allows uniform blocks (and only uniform blocks) to remap their
bindings through calls to glUniformBlockBinding. This means that the
mapping of uniform blocks in the program (ubo0, ubo1, ubo2) to the
buffer bindings is not constant. For storage blocks and atomic counter
buffers, this binding _is_ constant and is determined at link time.
At link time, the mapping of blocks to buffers is determined based on
values specified in the shaders. This info is stored was stored in
gl::InterfaceBlock::binding (for UBOs and SSBOs), and
gl::AtomicCounterBuffer::binding. For clarity, this change renames
these members to ...::inShaderBinding.
When glUniformBlockBinding is called, the mapping is updated. Prior to
this change, gl::InterfaceBlock::binding was directly updated, trumping
the mapping determined at link time. A bug here was that after a call
to glProgramBinary, GL expects the mappings to reset to their original
link-time values, but instead ANGLE restored the mappings to what was
configured at the time the binary was retrieved.
This change tracks the uniform block -> buffer binding mapping
separately from the link results so that the original values can be
restored during glProgramBinary. In the process, the support data
structures for tracking this mapping are moved to ProgramExecutable and
the algorithms are simplified. Program Pipeline Objects maintain this
mapping identically to Programs and no longer require a special and more
costly path when a buffer state changes.
This change prepares for but does not yet fix the more fundamental bug
that the dirty bits are tracked in the program executable instead of the
context state, which makes changes not propagate to all contexts
correctly.
Bug: angleproject:8493
Change-Id: Ib0999f49be24db06ebe9a4917d06b90af899611e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5235883
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3fdf576a
|
2024-01-26T14:37:42
|
|
Vulkan: Workaround Nvidia driver bug with OpSelect
Bug: angleproject:8503
Change-Id: I4bd2580056df3d970a1316d0dbeaaad7590aa947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237873
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
9318a143
|
2024-01-11T15:58:44
|
|
Add __asm__("") statements to loop bodies in MSL.
This prevents erasure of infinite loops during optimization passes.
Bug: chromium:1513738
Change-Id: I84a305b5e7fd824531d9e3ebae5496ddec030bac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191166
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6367f541
|
2024-01-25T10:16:04
|
|
Vulkan: supply YcbcrConversionDesc earlier
Previously, the AHB import path would allow ImageHelper to build a bogus
YcbcrConversionDesc (in initExternal) and then later overwrite it with
what it wanted. The intermediate state was not necessarily valid, and
could cause assertion failures and VVL errors.
Instead, have ImageHelper clients provide the conversion they want
upfront. In the non-external case, build an appropriate conversion
for formats which need them, before delegating to initExternal.
Bug: b/315387961
Change-Id: Icc8f561bb2de0289ceec56d41978b8c4651a47a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5232769
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f405b999
|
2024-01-19T11:18:49
|
|
Make RefCountObject use atomics for the reference count
When the context share lock is disabled it is possible for races
with EGL Image reference counting causing the EGL Image to be deleted.
egl::Image already protects its members with a mutex but the siblings
also hold a reference to the egl::Image, if siblings are added and
removed at the same time, writing to the ref count races and the
egl::Image can be deleted while still being referenced.
Bug: angleproject:6957
Change-Id: I3da8691136b6dbcffb2094187c81cafda077e50d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5214270
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
36013d99
|
2024-01-24T01:21:10
|
|
Improve build for UWP/Windows 10
These changes update the code for more modern
compilers. The changes include:
A) Not using deprecated APIs
When Windows 8.1 was removed in commit
39b110184e2675afbfda1fd70b10ca112127ae74 the code
was not updated to use the new APIs and still use
the things that should not be used:
> DisplayProperties may be altered or unavailable
> for releases after Windows 8.1. Instead, use
> DisplayInformation.
B) Use correct casting
There was also some changes in commit
5eadaf85b42ab1cbb1efcda558db58a3fe5a446a to
properly cast from EGLNativeWindowType to
IInspectable*, but this was not all of the cases.
C) Prepare for WinUI3
There is another change that moves types into a
using to reduce verbosity as well as make it
easier/cleaner to build for WinUI/Windows App SDK.
Bug: angleproject:8496
Change-Id: Ia11b7f92cb4abc524ab8316125e80a22898a8f6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5232157
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9bd169c
|
2024-01-24T12:26:46
|
|
Vulkan: Fix nullptr in Diagnostics
- VK Spec for VkDebugUtilsMessengerCallbackDataEXT says
pMessageIdName may be nullptr and pMessage must not be a nullptr
- This was enforced by the following change
Vulkan: Don't crash on diagnostics with null pMessageIdName
- But this was susequently broken by the following change
Vulkan: Enable sync validation
- This change adds a check to skip accessing
callbackData->pMessageIdName if it is null
Bug: angleproject:5290
Change-Id: I82dd225d875e233530158013efc280e979f82a5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238650
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
d0f5a662
|
2024-01-25T13:01:24
|
|
Bugfix in entry points for QCOM foveated extensions
Change framebuffer and texture parameter type from GLuint
to FramebufferID and TextureID types respectively.
Bug: angleproject:8484
Change-Id: I822897b268f2dab56cee3f5776c07ad46a6dd052
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238212
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac71a592
|
2024-01-23T11:56:42
|
|
Vulkan: updates to pipeline cache graph dumping logic
1. To dump pipeline cache graph you need to -
1. add "angle_dump_pipeline_cache_graph" compile time flag to
args.gn
2. set Android property "angle.dump_pipeline_cache_graph" or envvar
ANGLE_DUMP_PIPELINE_CACHE_GRAPH on non-Android platforms before
app start
2. Default path for dump on Android is "/data/local/tmp/angle_dumps/"
3. "angle.pipeline_cache_graph_dump_path" Android property or
envvar ANGLE_PIPELINE_CACHE_GRAPH_DUMP_PATH on non-Android
platforms can be used to configure the dump path
Bug: angleproject:6565
Change-Id: I38848aff58f413dd7bdffc9083116bd4b95e4960
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5226054
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
b007c74d
|
2024-01-23T14:17:54
|
|
GL: Separate dirty bits leading to glUniformBlockBinding
The GL backend is special in that it needs to make actual calls (native
glUniformBlockBinding) in response to (application)
glUniformBlockBinding calls. The other backends just remap the bindings
based on that information when creating descriptor sets.
Previously, an optimization to track which bindings have changed used
the same dirty bits that were used to signify when the GL backend needs
to make these native calls. That ended up as a source of bugs.
In a previous change [1], the context DIRTY_BIT_UNIFORM_BUFFER_BINDINGS
is set when these mappings change, which fixes some of these issues.
That change obviates the need for an actual backend sync of programs,
except for GL programs that need to make these native calls.
This change splits the dirty bits maintained for the purposes of the GL
backend, moves them to that backend and removes the program backend
sync.
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/5228599
Bug: angleproject:8493
Bug: b/318806125
Change-Id: I73c6514e88a116f1cd701cb06da0d8c38f07f7f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230137
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66de8492
|
2024-01-23T12:56:30
|
|
GL: Fix UBO binding mapping change
In the absence of any other state change, the GL backend did not bind
buffers (previously unused) that are used after a UBO binding mapping
change.
This also triggered assertion errors in the Vulkan backend.
Additionally, this change improves cross-context programs, though the
Vulkan backend is still affected by some bugs. A follow up change will
rework the dirty bits for this change to fix that.
Bug: angleproject:8493
Bug: b/318806125
Change-Id: I8f0ed4b5f666818f4fda9ec272c6b66419d64638
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5228599
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5857e0d6
|
2024-01-22T00:00:00
|
|
Metal: Adjust raster order groups AMD workaround condition
Ensured that the raster order groups AMD workaround is
used not only when there is no attachment on slot 0 but
also when an existing attachment on slot 0 is disabled.
Bug: angleproject:8263
Change-Id: I62352eb5d6fb1cce4b6a4723d41862c6c213b9d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230638
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
a76e2798
|
2024-01-24T09:50:32
|
|
Suppress VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912
Blocking VVL roll, new check recently added in:
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+/6180ce40299b1346ee2caf4aa8b1540590e197e8
Bug: angleproject:8497
Change-Id: I40d600409ad0e9900c17fac9700ab4397be6c876
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5231423
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
1100cc5c
|
2024-01-23T16:18:52
|
|
Rename ShaderVariableBuffer
It was only ever aliased to AtomicCounterBuffer after refactorings that
made other buffers not use this class anymore.
Bug: b/275102061
Change-Id: I09079d52bd107ed656c4c59a11e8a8027554a5ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230141
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
341906d5
|
2024-01-22T10:19:25
|
|
Vulkan: Never delay device and queue selection
Previously, when multiple queue families where eligible, ANGLE delayed
the decision on which queue family to use and delayed device creation
until a window surface was created.
This assumption was never correct. The application may start rendering
to pbuffers or using EGL_KHR_surfaceless_context long before it creates
a window surface. So a queue may need to be chosen regardless of its
surface present capabilities. Once done, ANGLE has no mechanism to
change that queue should a window surface require a different queue.
This change drops the pretense to support multiple queue families
properly and makes ANGLE always choose the first graphics queue family
it encounters. So far, only MoltenVk seems to expose multiple graphics
queue families, and choosing the first one ultimately correct for the
purposes of presenting to a MacOS surface.
Bug: angleproject:8478
Change-Id: I8efbfe0c8036be5f9cee01eb657f83f85a4864fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5225081
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c6fbf93d
|
2024-01-19T09:57:12
|
|
Vulkan: Fix input attachments leaking into uniform list
To communicate the existence of input attachments added to the shader,
the translator was adding `ShaderVariable`s for each to the list of
uniforms exported from the shader. This was incorrect, as this list is
visible to the application through `glGetActiveUniform`. Additionally,
this was unnecessarily causing these uniforms to go through program
link.
Reserving SPIR-V ids for these uniforms, all that is needed from the
translator is the mere existence of these input attachments. This
change removes the addition of uniforms, and instead exports a bitset.
Elsewhere, that bitset is consulted and reserved SPIR-V ids are used.
Bug: b/320563594
Bug: angleproject:5792
Change-Id: Id93846cbc3996248f391fd2d5a65af1e48d6d46e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5215089
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
317108d6
|
2024-01-18T17:59:51
|
|
Vulkan: Enable recordable bit for RGBA8 and RGB10_A2
Enable the recordable flag to be enabled for the
RGBA8 and RGB10_A2 configs.
Test: CtsMediaV2TestCases android.mediav2.cts.EncoderColorAspectsTest
Bug: angleproject:6612
Change-Id: I2afaedde4751c5ca651d0d80ae1a8d14662c2f0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5214887
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16a5e8f1
|
2024-01-22T14:22:53
|
|
Revert "Prefer linear filtering for YUV for Pixel6+"
This reverts commit 0da6522524247d6a1cb88ab1b48a1801ee609991.
Reason for revert: Breaks an Android test b/321251332
Original change's description:
> Prefer linear filtering for YUV for Pixel6+
>
> This is required to pass CtsMediaDecodeTestCases.
> Narrowed to just Pixel6+ due to another issue (b/321903468) which
> prevents preferring linear filtering on Pixel4.
>
> Bug: b/315387961
> Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: Chris Forbes <chrisforbes@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: b/315387961
Change-Id: I4b055a9ffef9ed49992ea5568f723aaff53c7f1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5224900
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
175514c6
|
2024-01-12T14:43:33
|
|
Translator: Bundle metadata flags coming out of the translator
In preparation for a follow up change that adds more such metadata.
Bundling them together makes it convenient to retrieve, save and load
all those flags.
Bug: b/320563594
Change-Id: I4f95b32acfb0842cc5d9e72c1788a827bee2c760
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5209450
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0da65225
|
2024-01-18T10:29:23
|
|
Prefer linear filtering for YUV for Pixel6+
This is required to pass CtsMediaDecodeTestCases.
Narrowed to just Pixel6+ due to another issue (b/321903468) which
prevents preferring linear filtering on Pixel4.
Bug: b/315387961
Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f2c00e8c
|
2024-01-18T18:36:33
|
|
Adding Dawn stub backend to ANGLE
Bug: angleproject:8473
Change-Id: I81ea83986e4e566169aa82250b5cfb727985ed01
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201413
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fad2adb2
|
2024-01-12T14:43:33
|
|
Vulkan: Fix importing external object and using as storage image
The create flags used to create the imported object was 0. Later, when
the texture was used as a storage image, TextureVk::syncState would
recreate the image (losing connection to external object).
This change makes sure the create flags include all the necessary create
flags such that the texture can be correctly used as storage image.
Bug: angleproject:8464
Change-Id: I6587b53b1c2819a11dec8f2d5a3a30c889a4c63f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5194064
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f1150231
|
2024-01-16T16:28:36
|
|
Track WebGL buffer type in gl::Buffer state.
WebGL has special validation that disallows buffers from changing
"WebGL buffer type". Once a buffer is marked as having index data it
cannot be bound as any other type of buffer except the copy binding
points to copy to other index buffers. This disallows any GPU writes
to buffers used for index data.
Use this rule to shadow index buffer data when the driver is unable
to give us robust access. Index range computation can be done much
faster when the buffer does not need to be read back.
Bug: angleproject:8434
Change-Id: I059eff732bb2f43234f61d9ef5528289f7698b38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5200242
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d093c3d3
|
2024-01-17T11:33:46
|
|
Add entry points for QCOM foveated extensions
Add entry points for GL_QCOM_framebuffer_foveated
and GL_QCOM_texture_foveated extensions
Bug: angleproject:8484
Change-Id: I59053f9be76fbb8eaed344aa460ecb1e178ce7db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5206990
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
42d75c7e
|
2024-01-17T00:00:00
|
|
Metal: Fix raster order group AMD workaround
The AMD-specific raster order group workaround relied
on disabled framebuffer attachments being implemented
via all-disabled color masks.
Metal backend no longer includes disabled framebuffer
attachments in render pass descriptors.
Updated the workaround to keep the
placeholder attachment enabled and
to set its color mask explicitly.
Fixed: angleproject:8263
Change-Id: I815ceede84e6ea89eefc10c445768d9d569d0d82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5208110
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
ed2a8ef8
|
2023-12-20T00:06:10
|
|
Vulkan: Defer QFOT when acquiring texture with GL_NONE layout
Instead of issuing a queue family ownership transfer with the UNDEFINED
layout (and then hack its dst layout to be GENERAL), this change simply
lets the queue family be changed when the image is next accessed (at
which point a layout transition is necessary anyway).
Bug: angleproject:8464
Change-Id: Iab36af0c641bd04029bdc0d9097e766e8a0f4145
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5138657
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
91c981c5
|
2024-01-11T22:37:48
|
|
Robust shader compile after shader binary is rejected
If ANGLE finds a shader binary in the cache, it populates the compiled
shader state. If the deserialization rejects the blob, the compiled
shader state was not reset. After the rejection, ANGLE proceeds to redo
the shader compilation, in which case it risks bugs as it tries to
accumulate info on top of the previous half-complete shader state.
Note that currently there are no errors if the shader state is not reset
before compilation, so this change is merely a precaution.
Bug: angleproject:8471
Change-Id: I2e08ecc2e5d940c88a32b5a05dca8afe8d8d897c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189154
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
eedf3e9e
|
2024-01-12T00:00:00
|
|
Metal: Limit raster order groups workaround to affected GPUs
Do not enable renderPassNeedsAMDRasterOrderGroupsWorkaround
on GPUs that do not support raster order groups.
Bug: angleproject:8263
Change-Id: I94a22fce9dd7084f397d8d54d4f8e4d33baa3608
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5198688
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
572323cc
|
2024-01-11T16:20:02
|
|
Fix program link after backend rejects program binary
If ANGLE believes the program binary is fine, it populates the program
executable. If the backend then rejects the program binary, the
executable was not reset. After the rejection, ANGLE proceeds to redo
the program link, in which case it fails in various ways (ASSERT
failures, incorrect data etc) as it tries to accumulate info on top of
the previous executable.
Bug: angleproject:8471
Change-Id: Ia4d626f5f9643c39a81062da3d5d58aa4c6be762
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189152
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9aa41f5
|
2023-11-06T15:00:33
|
|
Trace/Replay: Add multi-context call grouping
Instead of inserting eglMakeCurrent calls into the command
stream where context changes occur in the traced application,
track the context for all calls. During trace generation
output calls grouped by context while preserving
synchronization, reducing the number of context switches
and improving performance.
Test: Capture Diablo Immortal or Asphalt 9 trace and replay
Bug: b/300965096
Change-Id: Ia02e0ddf0440ac8a9a0ef3b6af67788f2f147809
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4909217
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
28290eae
|
2024-01-11T00:00:00
|
|
Metal: Do not try to create buffers exceeding device limits
Checked Metal device's maxBufferLength
before creating a new buffer.
Fixed: angleproject:8326
Change-Id: Ie56db8f951a733b7b6a6a07284b6d912ee59f7ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5190340
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
073b6510
|
2024-01-11T07:40:32
|
|
Add missing GLES1 glGetBooleanv() enums
In OpenGL ES 1, capabilities that can be queried using glIsEnabled() can
also be queried using glGetBooleanv().
As such, some valid glGetBooleanv() calls were returning "Invalid pname"
error.
Added support for the missing enums in glGetBooleanv().
Bug: angleproject:8481
Tests: GLES1 - QueryTest*
Change-Id: Ic3a50eda4eae5855cd9491dbf217b5f69c1669b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5188456
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
80e4bcd6
|
2024-01-05T13:58:13
|
|
Fix crash in eglQueryDeviceStringEXT for EGL backend
Underlying eglQueryDeviceStringEXT can return NULL if there is no DRM
node associated with EGL device.
https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_device_drm_render_node.txt
Bug: angleproject:7686
Change-Id: Iec6acc43ac8c9d277df064161e718155d5c03c95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5170889
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
|
2e2d7247
|
2024-01-11T11:50:44
|
|
Roll vulkan-deps from eb5fcf15ff7f to 124ff11a5e15 (21 revisions)
Skip VUID-VkImportMemoryWin32HandleInfoKHR-handleType-00658 added in:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/939e7c3fcbb75f71f0dfa999064c74f27a014189
https://chromium.googlesource.com/vulkan-deps.git/+log/eb5fcf15ff7f..124ff11a5e15
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/db4d6f85af..1952e63d43
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/cffc08a542..37a58e4c95
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/1bfd27101e..bdd1b2ab1f
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2b7bb1207..4c20ea3156
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/02f1cb7d55..6f441477e7
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 angle-team@google.com,cnorthrop@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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8482
Tbr: cnorthrop@google.com
Change-Id: Iaa696787ae66ba44db591c18833d2b7261474c08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5185141
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
e00995d4
|
2023-12-21T15:57:39
|
|
Vulkan: Invalidate pipeline with FBO draw buffer change
Enabling/disabling draw buffers can affect the graphics pipeline without
changing the render pass description. In that case, the graphics
pipeline was not being invalidated.
Bug: angleproject:8463
Change-Id: I6848472dcbb3d3ce4c34d95be28c8ec3fc50dcd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5147847
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
|
|
4b356c39
|
2023-08-17T10:49:19
|
|
Vulkan: Drop support for VMA 2.0
Since ANGLE and Chromium were last updated to use VMA 3.0, there have
been no breaking issues so far.
* ANGLE update: https://crrev.com/c/4777337
* Chromium update: https://crrev.com/c/4911597
Therefore, the support for the old VMA (2.3) can now be removed.
* Removed ANGLE_VMA_VERSION from the build files, since they are
no longer required.
* Removed the VMA-related guards in the code as well.
* Removed the flags and thresholds for the buddy algorithm, which were
used in VMA 2.3.
* Share group buffer pools is no longer a map.
Bug: b/303290680
Change-Id: Ic2b29e8f95ca5c941b297b20442c5bad4b8f52e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4791667
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f7296e95
|
2023-12-29T10:01:26
|
|
Roll vulkan-deps from 1fd0038f3bbb to 7f90849f10d0 (6 revisions)
Skip VUID-VkImportMemoryFdInfoKHR-handleType-00667 added in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7199/commits/cebf29d9587aad38acf52351d4b6225e7c1d032f
https://chromium.googlesource.com/vulkan-deps.git/+log/1fd0038f3bbb..7f90849f10d0
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/89824a83b7..88c5373ee4
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/741a9dfd8f..a3b11f1fcc
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e3d690bb54..98dea76972
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 angle-team@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8470
Change-Id: Iba9e9dae398a753fd9675e5b68551abe2dfc0c46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5155494
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Solti Ho <solti@google.com>
|
|
295eece6
|
2023-12-26T17:28:04
|
|
Vulkan: Add feature to force enable sample usage
Add a feature that would force enable the
VK_IMAGE_USAGE_SAMPLED_BIT usage flag for an image with
external format, irrespective of the requested AHB usage.
Bug: b/155487768
Change-Id: Ie46012d6f905317cd42a69768b4d35b44db474c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5153131
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
82c0ba93
|
2023-12-21T16:18:40
|
|
Set dirty bit when GLES1 texture state changes
During experiments, it was seen that some devices fail to use the
tex coord pointer properly after GL_TEXTURE_2D is re-enabled and there
is a draw without updating any additional attribute pointers.
* The GLES1 renderer will now also set the dirty bit for the vertex
array when GL_TEXTURE_2D state changes.
* (via setEnableVertexAttribArray())
* Updated the following test:
DrawWithTexCoordPtrThenDisableTexture2DAndDrawAnother
* Updated so after GL_TEXTURE_2D is enabled, we draw without updating
the vertex pointer to check that simply enabling textures is enough
to use the texture data.
Bug: b/310688730
Change-Id: I0d93bd6fae3d07ea86cf0e5e094ce7a29f2e5f1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5147197
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
343e774a
|
2023-12-26T16:44:47
|
|
Vulkan: Bugfix in usage flags of images with external formats
Enable VK_IMAGE_USAGE_SAMPLED_BIT usage flag for an image
with external format only if the equivalent AHB usage was
requested.
Force enabling VK_IMAGE_USAGE_SAMPLED_BIT usage will mask
bugs where an app or vendor gralloc module fails to
include the AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE or the
equivalent gralloc usage flag when creating the AHB
Bug: b/155487768
Change-Id: If09cd739a6fdc3ac7905f9d4c1fc9d4098e0cdad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5153125
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
a6b9a744
|
2023-12-21T00:00:00
|
|
Metal: Implement vertex attribute aliasing
When vertex attribute aliasing is supported, the
external vertex input struct is filled post-link
to account for potentially aliased attributes.
Fixed the following tests:
dEQP-GLES2.functional.attribute_location.bind_aliasing
.cond_float
.cond_vec2
.cond_vec3
.cond_vec4
.cond_mat2
.cond_mat2_offset_1
.cond_mat3
.cond_mat3_offset_1
.cond_mat4
.cond_mat4_offset_1
dEQP-GLES3.functional.attribute_location.bind_aliasing
.cond_float
.cond_vec2
.cond_vec3
.cond_vec4
.cond_mat2
.cond_mat2_offset_1
.cond_mat3
.cond_mat3_offset_1
.cond_mat4
.cond_mat4_offset_1
.max_cond_float
.max_cond_vec2
.max_cond_vec3
.max_cond_vec4
.max_cond_mat2
.max_cond_mat3
.max_cond_mat4
Fixed: angleproject:6297
Change-Id: Ifa6b82e0d7d4e12115ec19e342cfb82ab4389f5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5148210
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
706b5abe
|
2023-12-21T00:00:00
|
|
Avoid UB in 16-bit IOSurface tests
* Removed incorrect R16UI mappings from backends
* Fixed the enum used in RenderToR16IOSurface
* Added more 16-bit tests
Fixed: angleproject:7445
Change-Id: I7d5fb8b6a5fc7a57de8f988fdcc21e66606f875d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5148211
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
d18f22ca
|
2023-12-14T11:50:19
|
|
ANGLE: Update syncval exceptions and add test for syncval errors
Trace testing found some new cases where the current sync val
error messages needed to be widened to cover more cases. A test
was added to reproduce the behavior seen in the Asphalt 9
ANGLE trace.
Test: FramebufferTest.InvalidateAttachmentStencilOnly
Bug: b/316337308
Change-Id: Icde7ad560e6949712bfd785d9969b9e179d11492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5124314
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
a1143857
|
2023-12-18T15:24:42
|
|
Fix UBO dirty bits vs PPOs
This change fixes propagation of UBO dirty bits (such as through
glUniformBlockBinding and glBindBufferRange) to program pipeline
objects. Since PPOs concatenate the attached programs' UBOs in a list,
a map of program UBO indices to PPO UBO indices is introduced to
offset these dirty bits appropriately. Additionally, when the program's
executable's buffer bindings change (through glUniformBlockBinding), a
notification is send to the PPO to update its executable's buffer
binding accordingly (which is otherwise only updated during PPO link).
Bug: angleproject:8462
Change-Id: I4965ae23e6fc6cac0842e1643755e42e95d3d5cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5131418
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e15a7de3
|
2023-12-21T10:01:41
|
|
Roll vulkan-deps from 9c3a33aed0ec to 34a8babeb440 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/9c3a33aed0ec..34a8babeb440
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c155f881ee..abb79089a8
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/40633a61aa..3798f68b73
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/b42addf414..e21dc3deb0
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ea496a3de8..8095b050f9
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 angle-team@google.com,geofflang@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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8468
Change-Id: Icf23d4056b1f9a6caae2483125841bc6aefe3a8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5144390
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
13685465
|
2023-12-20T15:39:24
|
|
Vulkan: Don't request surface extensions without VK_KHR_surface
... on headless platforms.
Bug: angleproject:8467
Change-Id: Id0032ddd9f57540719d90f58b7d99cfb79f91a8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5142626
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
c51259ec
|
2023-12-14T15:58:56
|
|
Vulkan: Ignore tex coord at draw if tex disabled
In GLES1, it is possible to disable texture rendering in some cases.
It is done using glDisable(GL_TEXTURE_2D).
In that case, if TexCoordPointer has been enabled in the client state
prior to disabling the texture, its data should no longer be used,
especially if the primitive changes to use more vertices. In that case,
there is a risk of unauthorized memory access.
In this CL, the active vertex attributes are updated accordingly if
texture is disabled using the aforementioned API call.
* Updated GLES1 renderer to ignore TexCoordPointer if texture has been
disabled.
* Added GLES1 tests for tex coord pointer, including tests to make sure
that tex coord pointer is no longer used if the texture is disabled
using glDisable(), and that it is used again when texture is enabled
using glEnable().
* To ensure that tex coord pointer is not used, the test draws using
enough vertex data that would exceed the texcoord array size, which
can trigger segfault if accessed.
Bug: b/310688730
Change-Id: I5d259c83a172cc1a11733c0b42c2f9b02c9b2967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5124259
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0aaa8de9
|
2023-12-19T23:23:40
|
|
Vulkan: Fix memory tracking vs external texture acquire
... with a layout of GL_NONE.
Bug: angleproject:8464
Change-Id: I94690c5693c5bcb6d510e4a27097206f0da58a41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5138656
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9c0241d
|
2023-12-19T10:23:13
|
|
Vulkan: Rely on Vulkan 1.1 entry points in tests
Some KHR entry points that were promoted to Vulkan 1.1 no longer seem to
be loadable with their KHR symbols.
Bug: angleproject:8464
Change-Id: Id5417e5b047e6bd34d144fead518f771c17658e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5135676
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6951508b
|
2023-12-19T19:30:05
|
|
Manual roll vulkan-deps from de368ee1bf18 to 06ba2decfb32 (1 revision)
Manual roll requested by ynovikov@google.com
Suppress SYNC-HAZARD validation errors in vkQueueSubmit(), enabled by
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7129
https://chromium.googlesource.com/vulkan-deps.git/+log/de368ee1bf18..06ba2decfb32
Changed dependencies:
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/eebe1dfcef..0c6e58c7f0
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 angle-team@google.com,geofflang@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: b/316013423
Change-Id: Id63a3ddd4615f8a520b68588db4520d30a687598
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5137081
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
5a062a39
|
2023-12-14T21:15:59
|
|
Do not update the vertex attribute limit on divisor change
The effect of the divisor on the vertex attribute limit is accounted for
in StateCache::updateVertexElementLimitsImpl since
https://chromium-review.googlesource.com/c/angle/angle/+/5101508, and so
the vertex attribute's mCachedElementLimit is now independent of the
divisor.
Bug: angleproject:8448
Change-Id: I3f76986d6b8d3ba6b0ebd955f9a26854ee8c20e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5122996
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9f148c41
|
2023-12-14T00:00:00
|
|
Metal: Fix triangle fan indices generation
* Ensured that the second index is preserved when
skipping leading primitive restart values
* Restricted the search loop to the index count
* Ensured that draw calls are skipped when the
generated index buffer is empty to avoid Metal
validation errors, also for line loops
Fixed: angleproject:6458
Change-Id: I3194eb9db3e7e225448901edce167a2091563cd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5132092
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
80db7c4b
|
2023-10-17T10:03:06
|
|
Vulkan: Remove fixed VU suppressions
Bug: angleproject:5309
Bug: b/175584609
Change-Id: I8f952a1feb235b6bd060b5fe0b89c01fde6f84be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4946592
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd5dce9a
|
2023-11-21T15:39:04
|
|
Metal: Use MTLEvent instead of MTLSharedEvent when possible
Refactor mtl::Sync to be abstract and have multiple implementations
using either MTLEvent or MTLSharedEvent. Use MTLEvent in all cases
except for EGL Syncs when the user sets the sync type to
EGL_SYNC_METAL_SHARED_EVENT_ANGLE.
Determine completion of the sync object by watching for completion of
the command buffer where the event's signaling was enqueued. Avoid any
sleep loops by waiting on a condition_variable which is notified
when the completed queue serial is updated.
Forked from CLs by sky@ and kbr@
Bug: angleproject:8153
Change-Id: I4547444b596366496c811cb9954872b85ab14ad8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5133706
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
4bf40237
|
2023-12-18T15:24:15
|
|
GL: Fix missing glUniformBlockBinding handling
When a program is current and this call is made, the program is made
dirty so that the GL backend reacts to this call. Prior to
https://chromium-review.googlesource.com/c/angle/angle/+/4922969, the
program was made dirty when its executable was installed as well (if it
had any UBOs dirty), but that change removed it. As a result, if this
call was made while the program was _not_ current, the GL backend would
miss processing it.
This call ensures that the appropriate dirty bit is set when the program
is made current again. This revealed a bug in the Vulkan backend where
sometimes the executable's dirty bits would not get reset. This was
benign but fired an assertion, and is fixed in this CL as well.
Bug: chromium:1511506
Change-Id: Iae86ba0aa5b8f9e4f20dd6df6002d37e405280e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5123005
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1e4c4c76
|
2023-12-18T19:35:13
|
|
Vulkan: avoid disabling explicitlyCastMediumpFloatTo16Bit for venus
We disabled it to work around below legacy skia cts:
CtsSkQPTestCases org.skia.skqp.SkQPRunner#gles_gradient_many_stops
The test no longer exists in newer skia cts. Meanwhile, we have to drop
the workaround for other precision issue on Mali-G52.
Bug: b/316474995
Test: dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_vertex
Change-Id: I18394595632d05657e96f8b9c9675b4dd959d92b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5133372
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
|
|
40f4de8f
|
2023-12-15T10:17:32
|
|
Vulkan: Ensure we use cached memory for readPixels stagingBuffer
Previous CL crrev.com/c/5112759 does not solve the performance issue for
ChromeOS. The reason is that on more recent intel GPU, there is no
hostVisibleCachedCoherent heap. When we allocate staging buffer, we
specify CachedCoherent as the preferredFlags instead of requiredFlags.
This means we still end up getting UncachedCoherent since VMA tries to
respect coherent bits as first priority. This CL Changes CachedCoherent
to CachedPreferCoherent, and made Cached as required bit, thus ensures
the memory allocated is cached. Since coherent bit may not be honored,
thus we have to call invalidate/flush (which underline implementation
will check the bit and early out if no need).
Somehow on ARM GPU using cachedNonCoherent staging buffer causing many
test failures, even though we do call invalidate() after allocation, and
tests pass on all other GPUs. It almost indicates ARM driver have a bug
with invalidate() that it is not doing expected. But before I can be
sure and fixed, I added feature bit to keep ARM the old behavior, which
uses UnCached memory for readPixels which should suffer the performance
as well.
Bug: b/315836169
Bug: b/310701311
Change-Id: I1eec6105ce74275faa893b0206be8470f0cde72f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5122318
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a950f005
|
2023-12-06T18:58:35
|
|
Move compressed format validation to Vk backend.
Add test to call glCompressedTexSubImage3D() from a pixel unpack buffer.
This currently fails on OpenGL.
Bug: angleproject:8449
Change-Id: I863b602e39a14878af8745ff62b408bdd879bc98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5100348
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
80893f26
|
2023-11-30T16:57:15
|
|
OpenCL: Remove unneeded impl getters
Some of the OpenCL backend (impl) getters are not needed.
These are the size query for image creation,
and CL source retrieval for program objects
not created from source.
Bug: angleproject:8438
Change-Id: I76b39b75f1ae76ec0c3c94d5715632cb9dd4900a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078243
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66d29149
|
2023-10-16T12:43:43
|
|
OpenCL: Add scaffolding to renderer/vulkan code
Start off ANCLE (OpenCL on ANGLE) with backend scaffolding code with
placeholder API error returns until they are later implemented.
Bug: angleproject:8377
Change-Id: I223d3482cce097ccb298e121fc03ec416e8958fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4950556
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18a68f6d
|
2023-12-07T16:23:10
|
|
Fix vertex attribute limit check
Bug: angleproject:8448
Change-Id: Ie5d2b71f0be86b31ec74a1d55501b60a25245668
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5101508
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
5e619b21
|
2023-11-29T14:56:59
|
|
OpenCL: DoubleFpConfig query validation fix
There is currently a minor bug in the CL validation code that
unconditionally validates "cl_khr_fp64" extension string when
client queries for fp64 support.
This is correct behavior for OpenCL 1.1 and lower. However for
OpenCL 1.2 and greater, this became a core query for clGetDeviceInfo
via "CL_DEVICE_DOUBLE_FP_CONFIG".
Thus, on some 1.2 and greater implementations (ANGLE CL passthrough),
this extension string wouldn't be specified since its a core API query
in that case - and validation check will incorrectly fail via:
ANGLE_VALIDATE_EXTENSION(info.khrFP64)
Fix is to conditionally check this for the appropriate CL versions.
Bug: angleproject:8436
Change-Id: Id2bb5699fa523061d738af19edb465a78dbd880d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5075775
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3439e421
|
2023-12-15T11:37:53
|
|
Vulkan: Remove AHB workaround for camera app
This is now fixed in camera app main branch. The workaround is removed
here.
Bug: b/239181279
Change-Id: I782baf7a42a8c9a897f1947d8b2f6feba606ce29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5126931
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ed7c31c7
|
2023-11-29T18:31:43
|
|
OpenCL: Replace error-passing APIs to use angle::Result
Part 2 of Issue 8435:
This part replaces existing error handling for all CL APIs that
return CL objects to now use "angle::Result".
Bug: angleproject:8435
Change-Id: I75e41c7cbb06220cabec7cc9f9cb5107a3b6bd6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5075773
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a9512a9f
|
2023-11-29T14:56:29
|
|
OpenCL: Replace error-return APIs to use angle::Result
The motivation of converting existing CL APIs using
"cl_int errorCode" to now use "angle::Result" is for better
interop with internal ANGLE plumbing/abstractions.
To facilitate this, we now make use of a TLS errorCode
object that we set internally and read from entrypoint/stubs
layer so that we can propagate back to user.
Bug: angleproject:8435
Change-Id: I7c2a786019c33c56649be4b6e8b61bc318497bb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5075772
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8f966559
|
2023-12-07T00:00:00
|
|
Metal: Fix matrix vertex attributes with mixed sources
Updated VertexArrayMtl::setupDraw to support matrix
vertex attributes that use current and array values
simultaneously.
Simplified the helper function.
Fixed: angleproject:8456
Change-Id: I09a26a978cda4b9ac3747325ad571d5ad2fff72d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5116500
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
|
|
524bcb8e
|
2023-12-13T20:21:38
|
|
Vulkan: avoid forcing preferSubmitAtFBOBoundary with Venus
It turns out benefiting Venus atop ARM while hurting in a non-trivial
way on old Gen Intel due to execbuf overhead.
Bug: b/314847707
Test: 2%+ gain for trex on ANV on CML
Change-Id: I61eb18a05e94c97ee6a4d70f98ae30423155e632
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5118128
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8604e97
|
2023-12-13T19:48:16
|
|
suppress VUID-VkVertexInputBindingDivisorDescriptionKHR-divisor-01870
Unblock the autoroller first
Bug: angleproject:8454, b/316176944
Change-Id: I7f692a81e7a8b0189f83ce6f00e0cec6e2d7e2b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5118126
Commit-Queue: Solti Ho <solti@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
df4d9667
|
2023-12-13T18:28:53
|
|
Revert "Optimize HandleAllocator for fast ID churning."
This reverts commit b25ffe5a9775cc912a304c8552dd9c097a93420a.
Reason for revert: b/316162914
Original change's description:
> Optimize HandleAllocator for fast ID churning.
>
> Instead of calculating ranges of IDs and the overhead with updating
> them every allocation/release, store a released ID list in a small
> FastVector.
>
> Optimize the allocate path for the "good case" of no reserved IDs so
> that it either pops the last released ID or incriments a next value and
> returns it. Release has a similar cost of just a push_back when there
> are no reserved IDs.
>
> This adds a small fixed memory cost due to the FastVector and a dynamic
> memory cost of mReleasedList having up to N elements where N is the
> maxmimum total handles allocated at one time.
>
> Bug: angleproject:8434
> Change-Id: I7c5aa126b5303c105cd2464d0d0933b922cc2b8f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5101509
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8434
Change-Id: Ide43d787b6942cc6b622e3b5d938bfbbbf3b3ebb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5120277
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
b25ffe5a
|
2023-12-07T16:36:29
|
|
Optimize HandleAllocator for fast ID churning.
Instead of calculating ranges of IDs and the overhead with updating
them every allocation/release, store a released ID list in a small
FastVector.
Optimize the allocate path for the "good case" of no reserved IDs so
that it either pops the last released ID or incriments a next value and
returns it. Release has a similar cost of just a push_back when there
are no reserved IDs.
This adds a small fixed memory cost due to the FastVector and a dynamic
memory cost of mReleasedList having up to N elements where N is the
maxmimum total handles allocated at one time.
Bug: angleproject:8434
Change-Id: I7c5aa126b5303c105cd2464d0d0933b922cc2b8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5101509
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
35e49df7
|
2023-12-11T21:16:57
|
|
FrameCapture: Skip eglQueryContext
We don't use the return value of the call, so it can
be omitted from the capture.
Test: Flip capture
Bug: b/308208067
Change-Id: Ib3dfea2b7bd5638092bd691e66c6b9e2b6fabf15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5112776
Reviewed-by: Mike Schuchardt <mikes@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9b66848f
|
2023-12-11T20:54:30
|
|
FrameCapture: Handle context Reset with no calls
The code was assuming that setDefaultResetCalls adds
reset calls for an entry point, but it has logic for
skipping if the current state is already default.
This CL checks to see if we added any calls for the
entry point before trying to iterate through them.
Test: Flip capture
Bug: b/308208067
Change-Id: I8a214b0eb0df068d6b3172c0ca1406f6751f91ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5114271
Reviewed-by: Mike Schuchardt <mikes@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
282a5fb4
|
2023-12-08T15:53:17
|
|
Fix out-of-bounds vector index when using SPIR-V precision fixer
Accessing mVariableInfoById after id has been replaced by the precision
fixer was causing an out-of-bounds access.
Running SpirvVaryingPrecisionFixer::modifyEntryPointInterfaceList before
SpirvSecondaryOutputTransformer::modifyEntryPointInterfaceList was
causing an out-of-bounds access for the same reason.
Bug: angleproject:8452
Change-Id: I54f7f105ec2fb5aeb3e4234e8e3e052bcc42977c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5105193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
de591cff
|
2023-12-11T13:15:30
|
|
Vulkan: Add CachedCoherent staging buffer
Right now if we allocate a coherent staging buffer, it always uncached.
I believe the reason it picked uncached is that most usage for staging
buffer is data flow from CPU to GPU. CPU only sequentially write into
staging buffer. Uncached may has better performance here due to write
combined. But this performs horrible if CPU ever read from it. This CL
adds a CachedCoherent staging buffer and let staging buffer use that for
coherent memory. UncachedCoherent is currently not used, but I still
kept here in case we find regression for certain type of usage.
Bug: b/315836169
Change-Id: Ica331914c1f4729baa9d2eab048dc3099a2887b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5112759
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
5c8cb8a6
|
2023-12-07T00:00:00
|
|
Update WebGLReadOutsideFramebufferTest tests
Enabled robust resource init for these tests as they access
out-of-bounds values. This flag is required to pass some of
the tests on Vulkan backend. WebGL clients always set it.
Fixed subresource index computation on D3D11 to
pass CopyTexSubImage3D with 3D textures there.
Added a similar test for 2D array textures.
Bug: angleproject:4092
Fixed: angleproject:4136
Change-Id: I191c6df3c672e583568aadecac5885da015cfa8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106511
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
f035cdb4
|
2023-12-11T13:45:22
|
|
Fix SyncID initializer.
Requires brace initialization to work on all compilers.
Bug: angleproject:8430
Change-Id: I6e79f2446f057bf9eaaaecfc9f82b26320c5ba56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5111600
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bc301691
|
2023-12-07T00:00:00
|
|
Run PackUnpackTest on all backends
Fixed negative zero serialization for capture/replay.
Bug: angleproject:4092
Change-Id: Ic12a556f56e40064da8bf3a8ce7d01af92c7086a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106509
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d0eb968d
|
2023-12-08T16:11:46
|
|
Vulkan: Fix the AHB leak for AHB backed buffer object
For client buffer backed OpenGL buffer object, we call
InitAndroidExternalMemory which calls AHB acquire. But when buffer
object is released/destroyed, we never call
ReleaseAndroidExternalMemory, which end up leaking AHB.
Bug: b/314791770
Change-Id: I693c74213e73008497a6dfeca93ea62e84c71352
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106599
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Charlie Lao <cclao@google.com>
|
|
c27a4a1d
|
2023-11-27T14:44:07
|
|
Re-use EGL sync object allocations.
Create a pool of EGL sync objects with their implementations that can
be re-used. Update all backend implementations to support multiple
calls to initialize/destroy.
Pool size of 32 chosen through experimentation using Chrome.
Bug: angleproject:8430
Change-Id: I86fea41aed35eddccc953efb3802bf5fdb7f3cb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063341
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b8ca8de4
|
2023-12-05T13:36:53
|
|
Vulkan: Don't crash when glCopyTexImage2D redefines itself
The Vulkan backend marks a level being redefined as such before doing
the copy. If a single-level texture was being redefined, it releases it
so it can be immediately reallocated. If the source of the copy is the
same texture, this causes a crash.
This can be properly supported by using a temp image to do the copy, but
that is not implemented in this change.
Bug: chromium:1501798
Change-Id: I9dde99aa0b88bc7d5f582ff15772f70b36f424e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5089150
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d788c2c0
|
2023-12-04T22:43:39
|
|
Remove team members no longer part of the project
Bug: None
Change-Id: I66bf34ece50995fdecfab55a2198e9946e9be4cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5087208
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6d9f0aee
|
2023-11-30T00:00:00
|
|
Metal: Ensure helper invocations when derivatives are used
Set sample coverage mask to ensure that
fragment shader helper invocations are
performed when derivatives are used.
Fixed the following tests on Apple silicon:
dEQP-GLES2.functional.texture.mipmap
.2d.projected.nearest_linear_repeat
.2d.projected.linear_linear_repeat
.cube.projected.linear_nearest
.cube.projected.linear_linear
dEQP-GLES3.functional.texture.mipmap
.2d.projected.nearest_nearest_mirror
.2d.projected.linear_nearest_clamp
.2d.projected.linear_nearest_repeat
.2d.projected.linear_nearest_mirror
.2d.projected.nearest_linear_repeat
.2d.projected.linear_linear_clamp
.2d.projected.linear_linear_repeat
.3d.projected.nearest_nearest_mirror
.3d.projected.linear_nearest_clamp
.3d.projected.linear_nearest_repeat
.3d.projected.nearest_linear_clamp
.3d.projected.nearest_linear_mirror
.3d.projected.linear_linear_clamp
.3d.projected.linear_linear_repeat
Fixed: angleproject:8443
Fixed: angleproject:7023
Change-Id: I13fc52532b94de098dcf3e9f5f02d48a6c8913c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5089131
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e9d5f13e
|
2023-12-04T22:36:41
|
|
Vulkan: More trace points in the readpixels path
Occassionally we hit a bad path in this case, this change makes it
clearer from the traces which bad path is hit.
Bug: b/310701311
Change-Id: Ic674d6396b0e88f1a1db3ded7efe195fb7397135
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5087207
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74f9da02
|
2023-12-04T19:53:25
|
|
Vulkan: Remove spam about depth/stencil feedback loop
It triggers a warning even if the application is appropriately using
BASE and MAX levels to avoid feedback loop.
Bug: b/289436017
Change-Id: Ie7e8281908802e91dfaad1b49dd95197ac6de1a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5086070
Commit-Queue: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
fb6b960c
|
2023-11-27T14:24:28
|
|
Remove GL_CHROMIUM_texture_filtering_hint
This was using an unregistered Vulkan extension to set the precision of
SwiftShader's internal filtering for the sake of Chrome. That's baked
in at build instead.
Bug: angleproject:8349
Bug: chromium:726075
Change-Id: I12849d2d29d99626f22a92ee9d74366f78658476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063344
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
90767546
|
2023-12-01T12:27:15
|
|
Vulkan: Add test for __samplerExternal2DY2YEXT then swizzle
Added a correctness test
SourceYUVTextureTargetExternalRGBSampleYUVSampleWithSwizzle for applying
swizzle after sampler.
Also removed some bug workaround for VVL and drivers since they are
fixed now.
Bug: b/309480316
Change-Id: If82b2251745a96335b535c67b6e0c0847268b25b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5080497
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b46cf698
|
2023-11-30T11:00:18
|
|
Vulkan: Fix Android deadlock with querying buffer age
Similar to eglSwapBuffers, eglQuerySurface with EGL_BUFFER_AGE_EXT can
cause a call to vkAcquireNextImageKHR.
Bug: angleproject:6851
Bug: b/313975825
Change-Id: If3f0521219cab9aba2aeb2b70958bf0f197bc96a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5077406
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
edcfab40
|
2023-11-23T00:00:00
|
|
Metal: Implement textureCubeGrad transformation for AGX
Wrapped all affected built-in function calls
with helpers that transform derivative values.
Fixed all *.texturegrad.* dEQP failures on Apple silicon.
Fixed: angleproject:7021
Fixed: angleproject:8433
Change-Id: I16b023840ad267ab72d31fde3cb0fa7048e5310c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5071254
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3fe678c9
|
2023-11-30T12:15:57
|
|
Avoid malloc in VertexArrayVk::mergeClientAttribsRange
Replace temporary std::vector with angle::FixedVector
Bug: b/300968773
Change-Id: I002233afc99c0eb03a5ad11ab7a5bfd85626b3a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5074625
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|