|
19671376
|
2023-07-28T13:37:38
|
|
Reland "Search for system libvulkan on CrOS"
Currently, ANGLE searches in the "module" directory for libvulkan
during init on CrOS. The library doesn't exist at this location
(/opt/google/chrome/libvulkan.so), and we should instead just call
dlopen(libvulkan.so) to search the system library paths.
The original CL was reverted because it broke MSAN builds of
ChromeOS-on-Linux (CrOS UI that runs on a generic Linux machine).
The original CL caused these builds to use the Linux system Vulkan
loader library which is most likely not built with MSAN. This caused
MSAN violations when combined with an ANGLE built with MSAN [1]. The
reland fixes this issue by only using the system libvulkan on real
ChromeOS devices.
[1] go/msan#false-positives
Bug: b/292249282, chromium:1467779
Change-Id: Iafcd8d315a0baddcfbb847c3ad198f267887c8f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4727448
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
|
|
af5bf5b8
|
2023-07-26T19:59:01
|
|
Revert "Search for system libvulkan on CrOS"
This reverts commit b0b71d59391c99e70b40d7f331f530e6ea1970e5.
Reason for revert: Broke MSAN build on ChromeOS-for-Linux
Original change's description:
> Search for system libvulkan on CrOS
>
> Currently, ANGLE searches in the "module" directory for libvulkan
> during init on CrOS. The library doesn't exist at this location
> (/opt/google/chrome/libvulkan.so), and we should instead just call
> dlopen(libvulkan.so) to search the system library paths.
>
> Bug: b/292249282
> Change-Id: I7ab4803fe294e69f0ab8533ebc2fa43e25f189eb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4716242
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Brian Ho <hob@chromium.org>
Bug: chromium:1467779
Change-Id: Ib3095b51559660ac438ba9af4327b08d334d19b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4722705
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Brian Ho <hob@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
b0b71d59
|
2023-07-25T12:53:49
|
|
Search for system libvulkan on CrOS
Currently, ANGLE searches in the "module" directory for libvulkan
during init on CrOS. The library doesn't exist at this location
(/opt/google/chrome/libvulkan.so), and we should instead just call
dlopen(libvulkan.so) to search the system library paths.
Bug: b/292249282
Change-Id: I7ab4803fe294e69f0ab8533ebc2fa43e25f189eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4716242
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
|
|
bcbf23c5
|
2023-05-16T11:08:13
|
|
When loading SwiftShader on Mac, look in "Libraries"
If ANGLE is statically linked into Chrome, SwiftShader's dylibs will
be in the Libraries folder. Search in both the current module directory
and the Libraries folder to handle both cases.
Bug: chromium:1445969
Change-Id: I1d6ca3bb7b77fe0c23cb932c95f22f1754eaf9e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4538366
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa7bb157
|
2022-12-01T00:33:31
|
|
Include volk.h from a relative location
Previously it was always included from third_party/volk/
This change makes it easier to use an externally provided copy of
volk.
Bug: b/260093525
Change-Id: I60bdb0ee4f6f6293fce5198af438e9af8d84421f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4066872
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ff46a03a
|
2022-08-25T20:19:02
|
|
Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
Previously, the GOOGLEX version was used. The EXT version is favored
now.
Bug: angleproject:4836
Change-Id: Ie41d750b0729f0b3a14d1937fbf2dd386b65dd59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3857993
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa2a558e
|
2022-08-23T09:47:02
|
|
Vulkan: Add support for setting timestamp surface attribute
On Android the EGL wrapper handles most of the functionality required
by EGL_ANDROID_get_frame_timestamps. However if for some reason the
swapchain is recreated, the timestamp state would be lost resulting in
stuttering.
Introduce EGL_ANGLE_timestamp_surface_attribute extension that adds
support for toggling the EGL_TIMESTAMPS_ANDROID attribute of a surface.
Cache this state and recreate the swapchain accordingly.
Bug: angleproject:7489
Test: EGLSurfaceTest.TimestampSurfaceAttribute*
Test: dEQP-EGL.functional.get_frame_timestamps*
Change-Id: I3660f7137c006d904164d243a682a4ff520eabd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
b8e741d2
|
2022-06-23T13:36:17
|
|
Vulkan: allow selecting render device by PCI device/vendor IDs
The EGL_ANGLE_platform_angle_device_id extension is deliberately vague
about the meaning of "device ID high" and "device ID low", stating it's
platform-specific. We can use these for representing the PCI
device/vendor IDs that can be discovered via various (OS-specific)
external means.
Bug: angleproject:7460
Change-Id: Iff462687749e815fa074ef8ff392b6730ef46fa8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3720733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
053d152d
|
2022-07-04T21:20:34
|
|
Vulkan: Resolve GoogleX MSRTSS conflict with EXT
Now that the extension is public, rename the old symbols to GoogleX as
they have shipped previously. This reverts defd99dc4.
Bug: chromium:1088005
Change-Id: I5ac7f73e24084e26a8b2d9cf742c7ab9b3c80984
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3744362
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
defd99dc
|
2022-06-30T16:18:30
|
|
Update MSRTSS vulkan struct to final version
The public version of VK_EXT_multisampled_render_to_single_sampled
released in the 1.3.219 header does not include resolve modes in the
VkMultisampledRenderToSingleSampledInfoEXT struct. Remove them to
unblock the Chromium auto-roller.
Bug: None
Change-Id: I9d185a486227edfd3276ccb0df7063ca5101797b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739583
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
91976352
|
2022-06-21T15:41:02
|
|
Use C++17 attributes instead of custom macros
Bug: angleproject:6747
Change-Id: Iad6c7cd8a18d028e01da49b647c5d01af11e0522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3718999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a62204c3
|
2022-06-15T14:01:17
|
|
Guard all imports of wayland.gni with angle_use_wayland
Fixes build errors in Skia
Bug: angleproject:7434
Change-Id: I99e8ab741c0128f7327fec08e04979edde4f19e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3707852
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Osman <brianosman@google.com>
|
|
543dcdde
|
2022-06-09T10:50:41
|
|
GN: Wayland build overrides
Introduce //build_overrides/wayland.gni to simplify the management of
the wayland dependencies.
Bug: chromium:1327041, angleproject:7409
Change-Id: I24cd7c0aa1025acbfe681afb07ccb384ff52bb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697998
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
7fb021b0
|
2022-05-12T16:19:14
|
|
Reland "Add Vulkan backend support for texture labels"
This is a reland of commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6
Added check to ensure vkSetDebugUtilsObjectName fcn ptr is valid
before use. Fixes failures on mac-swangle-chromium-try-x64.
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I994da6db2771671c204e4ab01c69912c1be4a48f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3674296
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
7ad48b84
|
2022-05-26T00:23:35
|
|
Revert "Add Vulkan backend support for texture labels"
This reverts commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6.
Reason for revert: Null-dereference crash starting here:
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-swangle-chromium-x64/26323/blamelist
(see angle blamelist)
Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x0
Process uptime: 24 seconds
Thread 0 (crashed)
0 0x0
rax = 0x0000011c0113c000 rdx = 0x0000011c09094590
rcx = 0x0000000000000006 rbx = 0x0000011c0e2a0000
rsi = 0x00007ffedfc11500 rdi = 0x0000011c01378010
rbp = 0x00007ffedfc11540 rsp = 0x00007ffedfc114f8
r8 = 0x0000000000000006 r9 = 0x0000000123a6ccc4
r10 = 0x0000011c011018d0 r11 = 0x00007ffdbc1a4834
r12 = 0x0000000000000006 r13 = 0x0000011c090944b0
r14 = 0x0000011c0e34c000 r15 = 0x00007ffedfc11550
rip = 0x0000000000000000
Found by: given as instruction pointer in context
1 libGLESv2.dylib!gl::Context::objectLabel(unsigned int, unsigned int, int, char const*) + 0x156
rbp = 0x00007ffedfc116a0 rsp = 0x00007ffedfc11550
rip = 0x00000001357b38e6
Found by: previous frame's frame pointer
2 libGLESv2.dylib!_GL_ObjectLabelKHR + 0xa5
rbp = 0x00007ffedfc116f0 rsp = 0x00007ffedfc116b0
rip = 0x000000013578e7e5
Found by: previous frame's frame pointer
3 Chromium Framework!gpu::gles2::GLES2DecoderPassthroughImpl::DoBindTexture(unsigned int, unsigned int) + 0x1ea
rbp = 0x00007ffedfc11780 rsp = 0x00007ffedfc11700
rip = 0x000000011e7dcd4a
Found by: previous frame's frame pointer
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I5a5e00084e1320a486c43fec9d41b9ae6cb2b1db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3669657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
1afb8058
|
2022-05-12T16:19:14
|
|
Add Vulkan backend support for texture labels
Add onLableUpdate support for textures in the Vulkan backend.
Bug: b/229105865
Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
7c83a363
|
2022-05-16T22:22:44
|
|
Vulkan: Dynamic state for rasterizer discard enable
Interaction with primitives generated query are tested by those tests
added in
https://chromium-review.googlesource.com/c/angle/angle/+/2976181
Bug: angleproject:5906
Change-Id: I0ab9f54995504be770a93bf13337a5ffe20bf7eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3651582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e5da2d2
|
2022-05-11T13:58:07
|
|
Vulkan: Dynamic state for cull mode
Bug: angleproject:5906
Change-Id: I3d7b888e7999d4892ff71d636ea16a2edcf7a27f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3642800
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02b96848
|
2022-04-21T16:32:31
|
|
Vulkan: Add support for GL_QCOM_shading_rate
Layer GL_QCOM_shading_rate over VK_KHR_fragment_shading_rate
Test: ShadingRateQcomTest*
Bug: angleproject:7172
Change-Id: I3f040dbfad3906facd4349937fed2ce9a464b824
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3599874
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
1b94c585
|
2022-04-10T15:09:38
|
|
Revert "Vulkan: Switch loader to new driver files env var."
This reverts commit 1f6123d55467c2af7c67405c0101a6f327b76225.
Reason for revert: Seems to break ANGLE on fuchsia loader:
https://ci.chromium.org/ui/p/chromium/builders/try/fuchsia_arm64/1123629/overview
Original change's description:
> Vulkan: Switch loader to new driver files env var.
>
> VK_DRIVER_FILES replaces VK_ICD_FILENAMES.
>
> Bug: angleproject:7095
> Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:7095
Change-Id: I5b7e094b08d76b9c14adb4acb3b59e4cfb7a28fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580980
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1f6123d5
|
2022-03-14T11:40:05
|
|
Vulkan: Switch loader to new driver files env var.
VK_DRIVER_FILES replaces VK_ICD_FILENAMES.
Bug: angleproject:7095
Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7b0f6318
|
2022-03-30T14:16:02
|
|
Vulkan: Wayland include directories
Add wayland include directories from vulkan headers build overrides to
those vulkan dependent targets.
Bug: angleproject:6902
Change-Id: I8699fdf18e9b44b04a580b6ea31493d740756cf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568377
Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7a85d114
|
2022-03-25T15:01:17
|
|
Use [[nodiscard]] on RAII classes
Scoped* classes provide an RAII way of adding cleanup/restore state/etc
in a robust way. Unfortunatley, it's very easy to mistakenly leave the
variable name, leading to the destructor being called immediately
instead of at the end of the scope:
{
ScopedX(parameters); // instead of ScopedX x(parameters);
// Code here is run after destructor
}
The [[nodiscard]] attribute, if specified on the ScopedX class would
lead to a warning (turned to error with -Werror). This change does
that for classes named *Scoped* in ANGLE.
Bug: chromium:1103817
Change-Id: I65c9922c9b4eba1f9c033e093fe8fe534648ab62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552092
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e2d5eb72
|
2022-02-24T10:21:06
|
|
Vulkan: Wayland dependency
Add wayland as a third-party dependency and add it to the include
directories of vulkan-dependent targets.
Bug: angleproject:6902
Change-Id: I1c6305ac3e214ecda532988e28acaa6b8e997fd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3487449
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2d3ce72d
|
2022-01-20T10:13:06
|
|
Refactor shared library load to avoid allocations.
Fixes a leak of an angle::Library detected in the EGL loader.
Bug: angleproject:6937
Change-Id: I623aa6172b98a35465e1d2641b92f67bdc5d24e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403060
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
02f6226b
|
2022-01-06T09:07:29
|
|
Avoid using GetCWD() on MacOS when possible
GetCWD is unreliable on MacOS and often fails or returns an
undesirable directory. This CL makes the number of GetCWD()
calls go from 2 to 0 when running content_shell locally on
MacOS, which makes it start successfully with SwANGLE
enabled. The 2 changes are:
1) Don't attempt to change the current working directory on
MacOS for Validation Layers. This doesn't work as intended
anyway and, on a GetCWD failure, ends up changing the ICD
from SwiftShader to Default when using SwANGLE, which can
make test runs fail.
2) Don't always call GetCWD() when calling
GetModuleDirectory(). It is only required when the module
path is not a full path, at which point some error info
was added to help understand what's happening if we get
into this case.
Bug: chromium:1246171
Change-Id: Ib96142661dee3e06980eac4ffc3743aae8b97950
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370036
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
4a03668d
|
2021-12-20T20:58:17
|
|
Address comment in CL 3347143
Bug: chromium:1278515
Change-Id: I7d82d39ad94c6357b0df292fc716749cf610290f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3349938
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
c07df6fe
|
2021-12-17T20:11:52
|
|
Disable vulkan device select layer for msan build
The vulkan device select layer is not built with chrome, so this
layer is not built with msan. So loading this layer will cause
MemorySanitizer errors. Those errors are false positive. So
disable it for msan build.
Bug: chromium:1259170
Change-Id: I513d6dd3d4fbc16c62aaa3aa1e7cf299e3e4144a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347143
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
24241724
|
2021-11-22T13:26:53
|
|
Reland: Vulkan: Use vkResetQueryPoolEXT when available
This is a reland of 97aa5187ed164f1e9a22b64c966f2a747f651bfb
Original change's description:
> ANGLE currently uses vkCmdResetQueryPool to reset a query pool. As
> reported by Arm, this can cause GPU bubbles. It is better to use
> vkResetQueryPoolEXT() when available (either by Vulkan 1.2 or by the
> VK_EXT_host_query_reset extension).
>
> Bug: angleproject:6692
> Change-Id: I650d7d0f55bdf6587b75be43cc7bed2dc3eb935a
> Reviewed-on:
> https://chromium-review.googlesource.com/c/angle/angle/+/3294061
> Commit-Queue: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:6692
Change-Id: Idff87977bd39ccd1d05684e48929f4cd3fa733c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3313382
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
2fa1adf0
|
2021-11-24T18:29:13
|
|
Revert "Vulkan: Use vkResetQueryPoolEXT when available"
This reverts commit 97aa5187ed164f1e9a22b64c966f2a747f651bfb.
Reason for revert: This apparently caused crbug.com/1273344
Original change's description:
> Vulkan: Use vkResetQueryPoolEXT when available
>
> ANGLE currently uses vkCmdResetQueryPool to reset a query pool. As
> reported by Arm, this can cause GPU bubbles. It is better to use
> vkResetQueryPoolEXT() when available (either by Vulkan 1.2 or by the
> VK_EXT_host_query_reset extension).
>
> Bug: angleproject:6692
> Change-Id: I650d7d0f55bdf6587b75be43cc7bed2dc3eb935a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3294061
> Commit-Queue: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:6692
Change-Id: I70d5eeb0b98f016fd262935194f8f4abee2a72b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3300309
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
8b60855b
|
2021-09-15T15:16:10
|
|
EGL: implement EGL_KHR_mutable_render_buffer
Pass render buffer mode change to WindowSurfaceVk.
On mode change trigger OUT_OF_DATE. Then in CreateSwapchain,
if new mode, set the Presentation mode and the Image count.
OffscreenSurfaceVk ignores mode change.
Add MUTABLE_RENDER_BUFFER_BIT to GenerateDefaultConfig.
Test: dEQP-EGL.functional.mutable_render_buffer.*
Bug: angleproject:3966
Change-Id: I7b59708514bcda10f8d45ce5f9528aa840fcccfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171822
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
97aa5187
|
2021-11-22T13:26:53
|
|
Vulkan: Use vkResetQueryPoolEXT when available
ANGLE currently uses vkCmdResetQueryPool to reset a query pool. As
reported by Arm, this can cause GPU bubbles. It is better to use
vkResetQueryPoolEXT() when available (either by Vulkan 1.2 or by the
VK_EXT_host_query_reset extension).
Bug: angleproject:6692
Change-Id: I650d7d0f55bdf6587b75be43cc7bed2dc3eb935a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3294061
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6e2e36cc
|
2021-11-19T00:57:29
|
|
[Fuchsia] Fix SwiftShader ICD discovery
ANGLE needs to set VK_ICD_FILENAMES for the Vulkan loader to discover
SwiftShader's ICD. Enable this logic on Fuchsia.
Also updated ConcatenatePath() to handle absolute paths correctly.
Bug: chromium:1225002
Change-Id: Ib69be0d7dcaef09f1da9d411023e90a3b7b4fca2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3292347
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a00ce2ca
|
2021-11-19T10:23:53
|
|
Vulkan: Fix CFI ignore config.
This was being applied to "vulkan" when it should be higher in
the chain of depedencies. This CL moves it to "vulkan_icd".
Bug: angleproject:6496
Bug: chromium:1271193
Change-Id: I064caac6afe237d7008389f444d6ef9f37cff286
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289937
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d27552f2
|
2021-11-11T11:43:30
|
|
Re-land: "Vulkan: Allow SystemInfo to pick ICD."
Re-land fixes build on iOS and Android with ANGLE/Vulkan.
This will be used in conjunction with SwiftShader.
Bug: angleproject:6496
Change-Id: Id38403da1e377bba293dc8368d1c1aac29bf56a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282426
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9f2e87e
|
2021-11-12T15:02:50
|
|
Revert "Vulkan: Allow SystemInfo to pick ICD."
This reverts commit b5adbe272e4829d77105e49607bf8ddafd385f17.
Reason for revert: Fails GN check on Android/iOS in Chrome:
https://chromium-review.googlesource.com/c/chromium/src/+/3276779/
Original change's description:
> Vulkan: Allow SystemInfo to pick ICD.
>
> This will be used in conjunction with SwiftShader.
>
> Bug: angleproject:6496
> Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=syoussefi@chromium.org,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I198802d6bc93993d3544ed4627e131cb7b93f381
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6496
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b5adbe27
|
2021-11-11T11:43:30
|
|
Vulkan: Allow SystemInfo to pick ICD.
This will be used in conjunction with SwiftShader.
Bug: angleproject:6496
Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
36eac05f
|
2021-10-25T15:45:36
|
|
VANGLE: change the default vulkan device choose logic
To match the vulkan device choose logic in chrome, ANGLE will choose
the default device based on the order of (discret GPU > integrated GPU
> other GPU)
TODO: for long term, ANGLE should provide a way to let chrome specify
the physical device.
Bug: chromium:1260869
Change-Id: Id023138485eb65fcc1d2758103d59a4e6cb2a51d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3242963
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
558eda6e
|
2021-10-12T15:34:45
|
|
Vulkan: Remove provoking-vertex structs from "custom" list
This extension has been released.
Bug: angleproject:4063
Change-Id: I007c20a895819aa11382837a3ad654839e127365
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217938
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eb1d5ca5
|
2021-01-29T15:34:49
|
|
Vulkan: Enable sync validation
Based on a change by tobine@google.com
Bug: angleproject:5290
Change-Id: Ieae1be5a29f0dcb3ea8aaa04e77fc402380a08b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171432
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
48da1c35
|
2021-07-16T13:24:34
|
|
Vulkan: Prefer the local vulkan loader over the system one.
Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to
volk. This allows us to always prefer loading from the current module
directory instead of using the platform-specific ordering.
Refactor angle::Library loading to use ModuleDir instead of
ApplicationDir.
CL originally authored by Geoff Lang.
Bug: chromium:1219969
Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b73eee71
|
2021-07-07T18:51:35
|
|
Reland: [Vulkan] Add DisplayVkNull
Currently all DisplayVk implementations depend on VK_KHR_swapchain and
VK_KHR_surface extensions. When running Chromium on Fuchsia these
extensions are never used (content is shown on the screen using
ImagePipe API without dependency on swapchain). ANGLE still depended
on these extensions for DisplayVkFuchsia.
This CL adds DisplayVkNull, which allows to run ANGLE without dependency
on swapchain. It's usable only offscreen and cannot present content on
a surface.
Bug: chromium:1203879
Change-Id: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
51937ab3
|
2021-06-25T09:10:42
|
|
Re-land "Add SearchType to OpenSharedLibraryWithExtension."
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Re-land fixes a bug where we would try to load the custom
libVulkan on Android and other platforms where we should be using
the system version.
Bug: chromium:1219969
Change-Id: I34b592fb87cbddfd02c837a17942cac54c85d9d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007265
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5f869b74
|
2021-06-28T18:02:42
|
|
Revert "Vulkan: Load custom Vk Loader."
This reverts commit e6e99c5472d2fe9beaa12840fa4a71191667b9a4.
Reason for revert: Seems to be flaking on linux-clang-rel:
https://ci.chromium.org/ui/p/angle/builders/try/linux-clang-rel/22602/overview
Original change's description:
> Vulkan: Load custom Vk Loader.
>
> Uses a GN copy rule to duplicate the loader. Also updates volk to
> load using the new custom loader. Once both are in place we can
> go back and remove the copy.
>
> Bug: chromium:1219969
> Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1219969
Change-Id: Ib29014e728c1ce63c5e5bf7136ce19de7692964d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987874
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e6e99c54
|
2021-06-23T08:25:58
|
|
Vulkan: Load custom Vk Loader.
Uses a GN copy rule to duplicate the loader. Also updates volk to
load using the new custom loader. Once both are in place we can
go back and remove the copy.
Bug: chromium:1219969
Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
e2fc818a
|
2021-05-05T11:51:00
|
|
Reland Change to module directory when loading swiftshader ICD.
This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b.
Extra changes:
Be explicit about calling GetModuleHandleA
Do not use the general GetModuleHandle, which may use wide strings
Refactored ConcatenatePath and add tests
GetModuleDirectory should return the full path, not relative.
ANGLE wasn't able to locate the vulkan ICD file because it was
searching down an invalid relative path. This can be fixed by
ensuring the module directory is always the full path.
on some platforms.
Original change's description:
> When loading vulkan, we can be running from any directory. We need
> to change to the module directory to ensure the swiftshader ICD is
> loaded properly. For example, in some Chrome releases, libGLESv2.dll
> and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe
>
> Bug: chromium:1198567
> Change-Id: I9e68927e512b239728fb2903d1a04702508a4948
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1198567
Bug: angleproject:5949
Change-Id: I63fbe93f8492b7f23566f8193b1b8fe784a34f71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904586
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
88156d26
|
2021-05-18T23:55:32
|
|
Revert "[Vulkan] Add DisplayVkNull"
This reverts commit cbbaf76b758fb6a37175795b1f424549d535fbdc.
Reason for revert: Suspecting this breaks the fuchsia_x64 bot WebGL
tests.
Ex:
https://chromium-review.googlesource.com/c/chromium/src/+/2904812
Original change's description:
> [Vulkan] Add DisplayVkNull
>
> Currently all DisplayVk implementations depend on VK_KHR_swapchain and
> VK_KHR_surface extensions. When running Chromium on Fuchsia these
> extensions are never used (content is shown on the screen using
> ImagePipe API without dependency on swapchain). ANGLE still depended
> on these extensions for DisplayVkFuchsia.
> This CL adds DisplayVkNull, which allows to run ANGLE without dependency
> on swapchain. It's usable only offscreen and cannot present content on
> a surface.
>
> Bug: chromium:1203879
> Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1203879
Change-Id: I6701ffff48fcb925f387e63b356d2d5cf360ea7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904183
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ffb71dc2
|
2021-05-18T15:10:58
|
|
Revert "Reland Change to module directory when loading swiftshader ICD."
This reverts commit c8c414b084fa3b6550b10dff48cf429719e04579.
Reason for revert: Breaking fuchsia_x64 and ANGLE autoroller
Original change's description:
> Reland Change to module directory when loading swiftshader ICD.
>
> This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b.
>
> Extra changes:
> Be explicit about calling GetModuleHandleA
> Do not use the general GetModuleHandle, which may use wide strings
>
> GetModuleDirectory should return the full path, not relative.
> ANGLE wasn't able to locate the vulkan ICD file because it was
> searching down an invalid relative path. This can be fixed by
> ensuring the module directory is always the full path.
> on some platforms.
>
> Original change's description:
> > When loading vulkan, we can be running from any directory. We need
> > to change to the module directory to ensure the swiftshader ICD is
> > loaded properly. For example, in some Chrome releases, libGLESv2.dll
> > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe
> >
> > Bug: chromium:1198567
> > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452
> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
>
> Bug: chromium:1198567
> Bug: angleproject:5949
> Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1198567
Bug: angleproject:5949
Change-Id: Ic0be8949cc27b231be4f982ea6e22beed590d24d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2903786
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c8c414b0
|
2021-05-05T11:51:00
|
|
Reland Change to module directory when loading swiftshader ICD.
This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b.
Extra changes:
Be explicit about calling GetModuleHandleA
Do not use the general GetModuleHandle, which may use wide strings
GetModuleDirectory should return the full path, not relative.
ANGLE wasn't able to locate the vulkan ICD file because it was
searching down an invalid relative path. This can be fixed by
ensuring the module directory is always the full path.
on some platforms.
Original change's description:
> When loading vulkan, we can be running from any directory. We need
> to change to the module directory to ensure the swiftshader ICD is
> loaded properly. For example, in some Chrome releases, libGLESv2.dll
> and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe
>
> Bug: chromium:1198567
> Change-Id: I9e68927e512b239728fb2903d1a04702508a4948
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1198567
Bug: angleproject:5949
Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
cbbaf76b
|
2021-04-29T16:09:09
|
|
[Vulkan] Add DisplayVkNull
Currently all DisplayVk implementations depend on VK_KHR_swapchain and
VK_KHR_surface extensions. When running Chromium on Fuchsia these
extensions are never used (content is shown on the screen using
ImagePipe API without dependency on swapchain). ANGLE still depended
on these extensions for DisplayVkFuchsia.
This CL adds DisplayVkNull, which allows to run ANGLE without dependency
on swapchain. It's usable only offscreen and cannot present content on
a surface.
Bug: chromium:1203879
Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
25b53ceb
|
2021-05-12T10:09:58
|
|
Revert "Change to module directory when loading swiftshader ICD."
This reverts commit 3b10dda6a479612a07673b5c87d3560e0941d41b.
Bug: angleproject:5954
Change-Id: I6199dc099dbf42605bbfc549e39cb6477e67442c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891771
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
859ed396
|
2021-05-11T16:58:55
|
|
Follow up on Vulkan headers update to 1.2.177
Removing duplicate definitions in ANGLE.
Bug: angleproject:5905
Change-Id: Ie62ad39a1ebc0d8b0d2c005723f461bc7309eade
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
3b10dda6
|
2021-05-05T11:51:00
|
|
Change to module directory when loading swiftshader ICD.
When loading vulkan, we can be running from any directory. We need
to change to the module directory to ensure the swiftshader ICD is
loaded properly. For example, in some Chrome releases, libGLESv2.dll
and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe
Bug: chromium:1198567
Change-Id: I9e68927e512b239728fb2903d1a04702508a4948
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
23ff18f9
|
2021-04-30T16:45:04
|
|
Roll vulkan-deps from 42d8716d0294 to c5559fe406e3 (24 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/42d8716d0294..c5559fe406e3
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/18eef33bd7..56b17b2f2d
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/c624d5387c..72a2ec4c1b
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/22b82872b4..8ec9f456e6
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/074fa3055c..3f437c4a94
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d0f1abe22e..5dcea8a449
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/eb3d67bd17..4ee5f2a8be
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f6b4a3dea4..7ab4afe505
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 jonahr@google.com,ynovikov@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Bug: angleproject:5905
Tbr: jonahr@google.com,ynovikov@google.com
Change-Id: I462413910900b8dc38b3e88b78d9ff2e10b103b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863562
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c02d5f12
|
2021-04-27T13:45:05
|
|
Fix using VK_EXT_provoking_vertex with VVL
Vulkan Validation Layers (VVL) automatically rejects and
removes any unknown pNext pointer in an pNext chain
submitted to the driver. For this purpose, a mechanism was
introduced by VVL in order to allow ANGLE to allow some of
our custom pNext entries to go through VVL without being
removed. This had been used for only 1 of the 3 entries in
the VK_EXT_provoking_vertex extension, causing it to be
properly exposed, but impossible to use. This CL corrects
this by adding the missing entries.
Bug: angleproject:5902
Change-Id: If6478b3aa776513b92420736fa1216b014320b02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2854815
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
86a86a7d
|
2021-03-30T11:57:44
|
|
Vulkan: Temporarily use GOOGLEX instead of EXT for MSRTSS
Until the driver implementation completes, use a different name for the
unreleased extension (tagged with GOOGLEX instead of EXT).
Bug: chromium:1088005
Change-Id: I0b948c9c82825681ab130ae3dd91026ea6cb57cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795041
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d1462228
|
2021-03-09T11:25:36
|
|
Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
Additionally, makes the emulation path not require
independentResolveNone. This was only used to select the NONE resolve
mode when the attachment format doesn't have either of depth or stencil
aspects, but it's ok to specify the same resolve mode for both aspects
even if one aspect is missing.
Bug: chromium:1088005
Change-Id: Ifc37cbf5331145179c5927853b996a0d62b871ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743666
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
122a1cc5
|
2021-01-26T20:06:24
|
|
Fix several vulkan backend problem on Android.
* Load AHardwarebuffer API dynamically, so vulkan backend can be
built with old NDK, but can work with newer android releases.
* Do not link with libvulkan on android.
* Expose EGL_ANDROID_get_native_client_buffer extension with vulkan
backend.
Bug: chromium:1170339
Change-Id: Idf7f6867a86ae40ba6d57a86e419c610ba404ba8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2653506
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
4798c8cf
|
2020-12-14T16:35:27
|
|
Introduce GN variables for Vulkan repos.
This will allow them to be seamlessly overrideen in other repos.
Bug: angleproject:5390
Change-Id: I973cae48b5683e39ea3b07898b95956511260319
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591107
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
61180d01
|
2020-10-12T16:40:13
|
|
Reland "Add support for Linux vulkan backend with VK_KHR_display"
This is a reland of a7bb6a9b15ddeb8497523f8871deb25de2676d9f
Original change's description:
> Add support for Linux vulkan backend with VK_KHR_display
>
> Implement Linux simple display mode with vulkan backend
> through VK_KHR_display.
>
> Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for
> attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify
> the new simple display mode. Also reserved
> EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode.
>
> How to enable:
> Add
>
> ```
> use_x11=false
> angle_vulkan_display_mode="simple" # default value
> ```
>
> into args.gn, then compile with linux vulkan args.
>
> Bug: angleproject:5214
> Change-Id: I1247585b9de8b55df106aba99322281f1c183203
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:5214
Change-Id: I3921f6cb292c86658f39e739a878baad1ef64dba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515327
Commit-Queue: Xiaoxuan Liu <xiaoxuan.liu@arm.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
807e6b33
|
2020-11-02T17:15:03
|
|
Revert "Add support for Linux vulkan backend with VK_KHR_display"
This reverts commit a7bb6a9b15ddeb8497523f8871deb25de2676d9f.
Reason for revert: Failing on Ozone builder, see bug.
Bug: angleproject:5289
Original change's description:
> Add support for Linux vulkan backend with VK_KHR_display
>
> Implement Linux simple display mode with vulkan backend
> through VK_KHR_display.
>
> Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for
> attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify
> the new simple display mode. Also reserved
> EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode.
>
> How to enable:
> Add
>
> ```
> use_x11=false
> angle_vulkan_display_mode="simple" # default value
> ```
>
> into args.gn, then compile with linux vulkan args.
>
> Bug: angleproject:5214
> Change-Id: I1247585b9de8b55df106aba99322281f1c183203
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=syoussefi@chromium.org,sunny.sun@arm.com,jmadill@chromium.org,xiaoxuan.liu@arm.com
Change-Id: I3e2a2a044c220ed8d25be0d82184e5fba7b9c06a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5214
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514637
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a7bb6a9b
|
2020-10-12T16:40:13
|
|
Add support for Linux vulkan backend with VK_KHR_display
Implement Linux simple display mode with vulkan backend
through VK_KHR_display.
Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for
attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify
the new simple display mode. Also reserved
EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode.
How to enable:
Add
```
use_x11=false
angle_vulkan_display_mode="simple" # default value
```
into args.gn, then compile with linux vulkan args.
Bug: angleproject:5214
Change-Id: I1247585b9de8b55df106aba99322281f1c183203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a76b6836
|
2020-09-17T22:40:42
|
|
Vulkan: Support MSRTT depth/stencil resolve
VK_KHR_depth_stencil_resolve is used by this change to resolve
depth/stencil multisampled-render-to-texture renderbuffers.
This extension is not widely supported yet. If it's not present, the
depth/stencil resolve operation is silently ignored and the renderbuffer
acts as a normal multisampled one. This is not correct, but our primary
user (Chrome), and most applications don't care for the resolved
depth/stencil data. In fact, it's recommended for the depth/stencil
attachment to be invalidated after rendering.
Exposing EXT_multisampled_render_to_texture even in the absence of
depth/stencil resolve allows the majority of the applications to still
take advantage of MSRTT color attachments.
Bug: angleproject:4836
Change-Id: I6ba4187344a0c9330d2c77bdc5e2c6fc5483c299
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417645
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a20f5b17
|
2020-08-18T11:26:50
|
|
Silence Control Flow Integrity (cfi) errors
The cfi bot is throwing 3 different errors with ANGLE when using
the Vulkan backend:
- ChoosePhysicalDevice causes a "function with wrong dynamic type"
error when using vkGetPhysicalDeviceProperties
- In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr
also causes a "function with wrong dynamic type" error
- In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp,
GetAllocationCallbacks() causes a "unrelated cast" error
This cl silences all 3 cfi errors.
Bug: chromium:1116053
Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
78d10017
|
2020-08-16T16:13:59
|
|
Vulkan: Enable VK_KHR_bind_memory2 extension
Don't assume support for VK_KHR_bind_memory2,
enable the extension, if supported, during device creation.
Also initialize all required extension functions for the
memory allocator.
Bug: angleproject:4966
Change-Id: I878939fb3324723675a2b7dec18ab453b2a9fc77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359529
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f61272fb
|
2020-06-17T11:38:37
|
|
Add support for VK_KHR_sampler_ycbcr_conversion
This adds ability for applications to import Android Hardware Buffers
(AHBs) as OpenGL images which in turn can be sampled from and/or
written.
This was specifically tested with the common use case of importing a
buffer created by an media decoder and using that as a texture source to
include that video content on the screen. Tested with:
- Angry Birds 2 video player (for ads) requires YUV conversion.
- Basic Media Decoder example:
https://github.com/android/media-samples/tree/master/BasicMediaDecoder
Bug: b/155487768
Change-Id: I9255450f81aa4daa2aace7205d4f6c3f225abcca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175103
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fac68170
|
2020-07-08T22:19:43
|
|
Don't build vulkan_validation_layers on macOS.
angle_enable_vulkan_validation_layers is false on is_mac,
so it looks like they were built by accident. Guard the dep
on $angle_root/src/common/vulkan:vulkan_validation_layers by
angle_enable_vulkan_validation_layers instead of angle_enable_vulkan,
and only define the target if angle_enable_vulkan_validation_layers
is true (because src/common/vulkan/BUILD.gn gets loaded due to deps
on other targets in it, and when a .gn file is loaded all the
targets in it get defined).
Since vulkan_validation_layers doesn't currently build on
arm macs, this happens to fix a build problem there, but it
also makes the build on intel macs a bit smaller.
This sidesteps comment 13 on the bug. If we ever want to use
the validation layers on mac, we'll have to do a real fix then.
Bug: chromium:1098741
Change-Id: I8164ff13de98d34ed875c6e6d0550eae64b2d0dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289042
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b47cc50a
|
2020-06-22T10:59:09
|
|
Enable validation layer custom extensions
With this change, Vulkan-ValidationLayers will allow the specified
extensions to pass through, instead of being nulled out:
* VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE
* VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
Bug: b/159027603
Bug: b/154620295
Change-Id: I0ace3acdac06a6c115834ef88b0c883fa2dd4744
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246304
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13816d2d
|
2020-06-16T14:27:04
|
|
Move vulkan_headers/entry_points to common/vulkan
This will allow us to move common headers, such as extension headers, to
common/vulkan.
Bug: b/159027603
Bug: b/154620295
Change-Id: I1ff73dc5b7ee8f7dfb3ac0c5f30bd4b3a8183aeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248205
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e8d71eb3
|
2020-05-12T14:40:44
|
|
Vulkan: Fix ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT
Unfortunately this was broken by 605af42e1 ("Vulkan: Move ICD overrides
to a common place").
This adds an unconditional dependency on the layers to tests. Tests
don't respect angle_enable_vulkan_validation_layers, so we need to ship
the layers irrespective of that setting.
Bug: angleproject:4634
Change-Id: Ided291ea645a72e6c3bdb960e55d15013aa20a3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197279
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
605af42e
|
2020-03-04T21:52:53
|
|
Vulkan: Move ICD overrides to a common place
We also need the bundled ICDs and selection logic for certain tests that
create a vulkan instance. If we don't, the tests will use default vulkan
even if ANGLE is using swiftshader-vulkan. Tests of driver specific
handle types (e..g opaque fd) will fail in this case.
Bug: angleproject:4092
Change-Id: Iff089c9341b8b533ee8634923d0177c5dbcd5cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088659
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|