Граф коммитов

513 Коммитов

Автор SHA1 Сообщение Дата
Peng Huang 3dd6f5f74f Reland "Disable share context lock for Chromium"
This is a reland of commit e1741f4ba7

Original change's description:
> Disable share context lock for Chromium
>
> Bug: chromium:1336126
> Change-Id: I93b4e738a8816e6b318e5d5823bc9130f17deb37
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781368
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>

Bug: chromium:1336126,angleproject:7537
Change-Id: I15811bc2fef0ba22f6ac13d51c72ed96b2a12507
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792046
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2022-07-28 21:22:31 +00:00
Jamie Madill c48cfa02e3 Revert "Disable share context lock for Chromium"
This reverts commit e1741f4ba7.

Reason for revert: Breaks SwANGLE tests when rolled into Chrome:

https://chromium-review.googlesource.com/c/chromium/src/+/3789604/

Original change's description:
> Disable share context lock for Chromium
>
> Bug: chromium:1336126
> Change-Id: I93b4e738a8816e6b318e5d5823bc9130f17deb37
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781368
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>

Bug: chromium:1336126
Change-Id: Id3484b79aa9f8b914eca0f72c20d286ec1c03857
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792164
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-07-28 17:40:21 +00:00
Peng Huang e1741f4ba7 Disable share context lock for Chromium
Bug: chromium:1336126
Change-Id: I93b4e738a8816e6b318e5d5823bc9130f17deb37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781368
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2022-07-27 14:00:16 +00:00
Peng Huang b78d471aea Add angle_enable_share_context_lock build flag
This flags can be used to enable the share context lock.
Without this lock, the client need to use gl calls in
a threadsafe way. It is true by default.

Bug: chromium:1336126
Change-Id: I984f8cfb0379195f6ebe11b0997e401f2421affa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780582
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2022-07-21 19:04:00 +00:00
Lubosz Sarnecki 45e5cf0147 Vulkan: Implement ASTC emulation.
Implement ASTC emulation using the astc-encoder library.
Add copy_image tests to deqp_gles31_test_expectations for desktop cards.
Add emulatedAstc limitation.
Don't expose emulated ASTC from WebGL contexts.
Introduce ANGLE_HAS_ASTCENC define to check for build availability.
Only build on angle_standalone configurations.

DEPS: Add astc-encoder.
image_util: Decode ASTC to RGBA.
TracePerfTest: Skip car_chase and genshin_impact on NVIDIA.

Bug: angleproject:7415
Change-Id: Ib2f3fd3f710164a2ecd5d5edf780227031bbfb84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697999
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-07-19 12:24:48 +00:00
Brian Osman a62204c355 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>
2022-06-16 13:16:36 +00:00
Antonio Caggiano 543dcdde57 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>
2022-06-14 14:14:04 +00:00
Dan Field 4b9eb4bace Optionally support vulkan_memory_allocator 3.x
Incompatible API is guarded behind a new define, ANGLE_VMA_VERSION.

This allows a soft migration for Chromium and Fuchsia, while allowing
clients like Flutter to roll to a new version that is compatible with
its revision of Skia.

Bug: chromium:1332566
Change-Id: I68cafde13e50445aa8eea2f18203143659a1c627
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3688835
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Dan Field <dnfield@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2022-06-09 17:43:51 +00:00
Jamie Madill 7df1f58164 GN: Add angle_build_tests.
This lets ANGLE builders disable targets they don't need or can't
build.

This will fix the roll into Skia broken by http://crrev.com/c/3645441.
Dawn will also need to update its .gn file to set angle_build_tests
to false.

Bug: angleproject:4964
Change-Id: Ie40bdd33d7b59e93813a35df20c4f09c32961f51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3664296
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
2022-05-24 15:55:37 +00:00
Jamie Madill 3da24b5cd3 Move trace loader code to a common location.
With that Capture/Replay will be able to make use of the same
code.

CL authored by gert.wollny@collabora.com.

Bug: angleproject:4964
Change-Id: Ie1ba663169a34929f5a169ab74c7042e9fd5deb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645441
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-05-20 15:59:54 +00:00
Antonio Caggiano 9ad43bdd2a Re-land: "Vulkan: Support Wayland"
Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
from native window and check egl config is just empty. An EGL wayland
test is added for testing rendering and buffers swapping.

Re-land fixes:
- link failure in systems with no libwayland installed.
- XCB display availability check.

Bug: angleproject:6902
Change-Id: I5daecf3591493308ac71a7dd3bc0802f492e6fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3621059
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-05-03 16:29:24 +00:00
Yuly Novikov 4bbc55f4cd Revert "Re-land: "Vulkan: Support Wayland""
This reverts commit e0dd196a0e.

Reason for revert: blocks ANGLE roll into Chromium

Original change's description:
> Re-land: "Vulkan: Support Wayland"
>
> Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
> from native window and check egl config is just empty. An EGL wayland
> test is added for testing rendering and buffers swapping.
>
> Re-land fixes link failure in systems with no libwayland installed.
>
> Bug: angleproject:6902
> Change-Id: I4f091d4f479a537d0390caedce88a5d39f8b356f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3608088
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: angleproject:6902, angleproject:7260
Change-Id: I7e92bf811b191eee6679d577006cddc0e1286fad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3621057
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-05-03 09:34:04 +00:00
Brian Osman 9200ba5371 Reland "Make SPIRV optional for Metal backend"
Updated default conditions to match old behavior.

This is a reland of commit 29287e1fc7

Original change's description:
> Make SPIRV optional for Metal backend
>
> This allows clients (ie Skia) to build ANGLE without needing
> all of the additional Vulkan dependencies. Developer builds
> will continue to include both the direct and SPIRV paths, for
> debugging purposes.
>
> Bug: angleproject:7155
> Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Auto-Submit: Brian Osman <brianosman@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: angleproject:7155
Change-Id: I439160f2e1f05a3dbe22df82336246a73a0a7d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615012
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-05-03 02:48:26 +00:00
Antonio Caggiano e0dd196a0e Re-land: "Vulkan: Support Wayland"
Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
from native window and check egl config is just empty. An EGL wayland
test is added for testing rendering and buffers swapping.

Re-land fixes link failure in systems with no libwayland installed.

Bug: angleproject:6902
Change-Id: I4f091d4f479a537d0390caedce88a5d39f8b356f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3608088
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-05-02 14:34:11 +00:00
Cody Northrop 437053a163 Revert "Make SPIRV optional for Metal backend"
This reverts commit 29287e1fc7.

Reason for revert:
Possible root cause of Mac failures http://crbug.com/1320588

Original change's description:
> Make SPIRV optional for Metal backend
>
> This allows clients (ie Skia) to build ANGLE without needing
> all of the additional Vulkan dependencies. Developer builds
> will continue to include both the direct and SPIRV paths, for
> debugging purposes.
>
> Bug: angleproject:7155
> Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Auto-Submit: Brian Osman <brianosman@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: chromium:1320588
Change-Id: Id160118146dad1b8f1af40c60ddefd717516cd1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3614527
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-04-28 16:38:31 +00:00
Brian Osman 29287e1fc7 Make SPIRV optional for Metal backend
This allows clients (ie Skia) to build ANGLE without needing
all of the additional Vulkan dependencies. Developer builds
will continue to include both the direct and SPIRV paths, for
debugging purposes.

Bug: angleproject:7155
Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-04-27 21:03:37 +00:00
Yuxin Hu 80d50b9928 Add build arg to automatically attach renderdoc
Macro ANGLE_TEST_ENABLE_RENDERDOC_CAPTURE was defined
only for files under src/libANGLE, however, we need to
use this Macro in filed under src/tests/. Move the Macro
config from BUILD.gn to src/tests/BUILD.gn.
Also add a new gn arg angle_enable_renderdoc
to control enable/disable the Macro.

Bug: angleproject:6072
Change-Id: I3879015e9bdfe2530012ea39729a31c47129ce4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3609024
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-04-27 18:14:27 +00:00
Jamie Madill 768c7d47e9 Revert "Re-land: "Vulkan: Support Wayland""
This reverts commit f6cdd02fb4.

Reason for revert: Still warns about extra dependency on wayland.
https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/990820/overview

Original change's description:
> Re-land: "Vulkan: Support Wayland"
>
> Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
> from native window and check egl config is just empty. An EGL wayland
> test is added for testing rendering and buffers swapping.
>
> Re-land fixes link failure in systems with no libwayland installed.
>
> Bug: angleproject:6902
> Change-Id: I706af14620d6298275009f5caf93b0e60339219b
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578765
> Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: angleproject:6902
Change-Id: I11b1fe473fceb2fddb85bd562b769d18426ce07b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3600378
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-04-21 18:26:35 +00:00
Antonio Caggiano f6cdd02fb4 Re-land: "Vulkan: Support Wayland"
Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
from native window and check egl config is just empty. An EGL wayland
test is added for testing rendering and buffers swapping.

Re-land fixes link failure in systems with no libwayland installed.

Bug: angleproject:6902
Change-Id: I706af14620d6298275009f5caf93b0e60339219b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578765
Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-04-20 15:56:54 +00:00
Jonah Ryan-Davis 01c0bc215f Revert "Vulkan: Support Wayland"
This reverts commit 510351f200.

Reason for revert: Breaking ANGLE roll:
https://bugs.chromium.org/p/angleproject/issues/detail?id=7202

Original change's description:
> Vulkan: Support Wayland
>
> Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
> from native window and check egl config is just empty.
>
> Then add an EGL wayland test for testing rendering and buffers swapping.
>
> Bug: angleproject:6902
> Change-Id: I8204a5cc99f26330b74caba241bebf14c5650c2d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3395898
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: angleproject:6902
Change-Id: Idd0cb78c84baeb1b2ab6910173160206901799f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584921
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2022-04-13 18:49:49 +00:00
Antonio Caggiano 510351f200 Vulkan: Support Wayland
Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size
from native window and check egl config is just empty.

Then add an EGL wayland test for testing rendering and buffers swapping.

Bug: angleproject:6902
Change-Id: I8204a5cc99f26330b74caba241bebf14c5650c2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3395898
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-04-12 15:11:18 +00:00
Kimmo Kinnunen ba04fcfd10 Support ANGLE_PREFERRED_DEVICE on CGL
Add the possibility to test both integrated and discrete GPU
with ANGLE tests. Previously it was using only discrete.

The binaries need the NSSupportsAutomaticGraphicsSwitching bundle
property.

This is needed to test ANGLE_power_preference.

Changes the behavior of test apps:

Previously,
  ./angle_end2end_tests
would use discrete GPU.

After,
  ./angle_end2end_tests
or
  ANGLE_PREFERRED_DEVICE=intel ./angle_end2end_tests
will use integrated GPU.
  ANGLE_PREFERRED_DEVICE=amd ./angle_end2end_tests
will use discrete GPU.

Bug: angleproject:7093
Change-Id: Ia64f6024e3215e69c2a1bde3ba4f67c3ca595476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516114
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-04-07 05:08:44 +00:00
Antonio Caggiano 7b0f631824 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>
2022-04-05 20:32:03 +00:00
mark a. foltz 5040c4d82b [Cast Convergence] Remove is_cast_desktop_build from ANGLE.
Bug: angleproject:7136
Change-Id: If760b1e92467fcdf9d9eecf187e5418fe18e48d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3554916
Reviewed-by: Ryan Keane <rwkeane@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-03-30 13:25:06 +00:00
Cody Northrop e3c4491963 Debug: Add angle_enable_trace_events
Include the following GN arg to print all GLES and EGL commands:

    angle_enable_trace_events = true

Bug: angleproject:7126
Change-Id: I78eb061c10ed519d6a0b0357eea11567d1cfb518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551656
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-03-26 23:28:50 +00:00
Brandon Schade 1760ce373e Add usage of Spirv through glslang build flag
Add new build flag angle_use_spirv_gen_through_glslang.
If set, angle_enable_spirv_gen_through_glslang is enabled
and the generateSPIRVThroughGlslang feature is also enabled.

Bug: angleproject:6210
Change-Id: I8f4f71c2d01314a36b15fae795caa01a1ffa7fbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3502529
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
2022-03-15 00:24:49 +00:00
Kyle Piddington c4a9d41696 Metal: Refactor to build without SPIR-V
Refactor ShaderInterfaceInfoMap and constant names to thier
own files, allowing Webkit to build without needing to compile
SPIRV code via mtl_glslang_utils.cpp.

Bug: angleproject:6782
Change-Id: I7a9c7e387145c95807f780e24bd2764e0efb5709
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3364970
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
2022-01-28 00:47:50 +00:00
Tim Van Patten e28083ad6f Enable RenderDoc capture for debug builds
Enable RenderDoc capture in builds where Vulkan Validation Layers are
enabled. This essentially enables the '--renderdoc' flag for debug
builds when running end2end/deqp tests to make it easier to debug tests.

This CL also add the '--no-renderdoc' flag to force disabling RenderDoc
capture.

Bug: angleproject:6072
Change-Id: Iae7aae30aae9bdc58a7546118d156aef2047c210
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270600
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-19 21:13:25 +00:00
Jamie Madill 6a70398c9f GN: Ensure using_sanitizer is declared even without //build.
Bug: angleproject:5795
Change-Id: If37375a9925d8449a15a63e98caf60d7dc75a751
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289936
Owners-Override: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-11-19 16:44:15 +00:00
Jamie Madill 89e3de9720 GN: Add symbolizer data for sanitizer builds.
This is necessary to produce correct stack traces.

Bug: angleproject:5795
Bug: chromium:1268935
Change-Id: I011d0948779718ed38305624c87a193a6ad0f8bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276512
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-11-17 16:10:21 +00:00
Jamie Madill d27552f21f 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>
2021-11-16 03:56:34 +00:00
Jamie Madill a9f2e87ec9 Revert "Vulkan: Allow SystemInfo to pick ICD."
This reverts commit b5adbe272e.

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>
2021-11-12 15:03:02 +00:00
Jamie Madill b5adbe272e 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>
2021-11-11 18:28:01 +00:00
Craig Stout 24136212d6 Allow GN specification of shared library extension name
For use as system libraries in virtualized Linux environments,
allow use of custom sonames.

Bug: angleproject:6672
Change-Id: If297e3eaa090bfd08cb9df68a4c727da72228bcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268941
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 20:22:44 +00:00
Sylvain Defresne 5ae7342b76 [ios] Remove support for building with Xcode clang
Chromium //build will soon remove the `use_xcode_clang` variable.
Remove it from Angle to avoid breakage when the variable is gone.

This is a followup to https://crrev.com/c/angle/angle/+/3259713
where one use of `use_xcode_clang` was not left by mistake.

Bug: chromium:1266466
Change-Id: Idbd8b3daeacac1ba88fc818f3939bdcd15e449c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3269890
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 17:26:54 +00:00
Maksim Sisov fa2e374974 Reland "rename use_x11 to ozone_platform_x11"
This is a reland of 86f2854579

X11 shouldn't be enable for is_chromecast cases as
the original use_x11 gn arg is only enabled on linux && !chromecast.

Original change's description:
> rename use_x11 to ozone_platform_x11
>
> Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
> deprecated. During the transition period use_x11 == ozone_platform_x11.
>
> Bug: chromium:1096425
> Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

Bug: chromium:1096425
Change-Id: I6f8dbacb756ce57ca7379bbd991ca1ff470c244d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263987
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
2021-11-09 06:35:56 +00:00
Sylvain Defresne 30afc25e1f [ios] Remove support for building with Xcode clang
Chromium //build will soon remove the `use_xcode_clang` variable.
Remove it from Angle to avoid breakage when the variable is gone.

Bug: chromium:1266466
Change-Id: I3f95ffe611cc38c9de76e9744186efff3332d539
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259713
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-04 19:57:28 +00:00
Jamie Madill 577cfeff92 GN: Remove unneeded version header visibility rule.
These Chrome targets are now migrated to use the encapsulated API.

Bug: angleproject:2551
Change-Id: I6970f7ad85af089fd41c79476a2bdd4e605949c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-28 14:56:58 +00:00
Hans Wennborg 6ce6788639 Drop -Wweak-template-vtables
Clang is dropping suport for this flag, see bug.

Bug: chromium:1264351
Change-Id: I09b3d42889eecb8e786c52c205f28507fc797c5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250885
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-28 14:23:48 +00:00
Jamie Madill d8c18ac6d8 Re-land: "Isolate commit_id.h from other code."
Re-land limits the angle_version deps to Windows to fix an iOS
visibility rule violation in GN.

Instead of recompiling multiple source files, we can seal off the
files that include commit_id to prevent recompilations when the
commit changes and source files don't change.

Bug: angleproject:2551
Change-Id: I033f00ec7afe4bfd01e29e0eea8848eea27747a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233899
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-20 14:42:23 +00:00
Shahbaz Youssefi 7defdb6044 Revert "Isolate commit_id.h from other code."
This reverts commit 6d7ebf656d.

Reason for revert: Suspected reason for failing ANGLE roll into Chromium

Original change's description:
> Isolate commit_id.h from other code.
>
> Instead of recompiling multiple source files, we can seal off the
> files that include commit_id to prevent recompilations when the
> commit changes and source files don't change.
>
> Bug: angleproject:2551
> Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

Bug: angleproject:2551
Bug: angleproject:6588
Change-Id: I19f41141f57d0683efb9a4ec043e078a9f7dc925
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226056
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-19 16:18:10 +00:00
Jamie Madill 6d7ebf656d Isolate commit_id.h from other code.
Instead of recompiling multiple source files, we can seal off the
files that include commit_id to prevent recompilations when the
commit changes and source files don't change.

Bug: angleproject:2551
Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2021-10-18 16:02:56 +00:00
Shahbaz Youssefi f3d5dac3ba Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default.  Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing.  On release builds, glslang is not supported.

To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):

    angle_enable_spirv_gen_through_glslang = true

Then enable the generateSPIRVThroughGlslang feature.  This can be done
by setting an environment variable:

    ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests

Binary size saving:

- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)

Perf tests:

- LinkProgramBenchmark.Run/vulkan_compile_single_thread
  * Through glslang:
      truncated mean: 1287033.36
  * Direct SPIR-V Gen:
      truncated mean: 244495.91  (~80% reduction)

- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
  * Through glslang:
      truncated mean: 4565894.83
  * Direct SPIR-V Gen:
      truncated mean: 1158164.10  (~75% reduction)

Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-14 04:43:32 +00:00
angle-autoroll 66c89b0fe4 Fix and disable MSVC warnings
Needed because some warnings are no longer disabled after
http://crrev.com/c/3189512.

Also includes https://github.com/KhronosGroup/OpenCL-Headers/pull/179,
needed after clang upgrade to llvmorg-14-init-5410-gd0473681

Bug: chromium:1257173
Change-Id: I4f844aa972362c488cb6d37244439e2126f2c1c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210629
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-10-07 06:08:03 +00:00
Jamie Madill 0004ecc2a4 Write GL info to test artifact in end2end_tests.
These will show up as glinfo.json in the "cas outputs" of the shard
that runs these tests.

We currently have information for Pixel 4, NVIDIA and Intel Win/Linux,
and SwiftShader Windows. GLES 1.x extensions are treated separately.
Some WebGL/Mac-only/D3D-only extensions show as unsupported anywhere.

In order to capture artifacts on Android, we use a render test output
parameter.

Bug: angleproject:6379
Change-Id: I560b219b5a586cdbb68d272090f38eedc76aba20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176780
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2021-09-30 15:31:09 +00:00
Jamie Madill afe0dd9edf Revert "rename use_x11 to ozone_platform_x11"
This reverts commit 86f2854579.

Reason for revert: Suspected for breaking the ANGLE roll:
https://crrev.com/c/3171455

Original change's description:
> rename use_x11 to ozone_platform_x11
>
> Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
> deprecated. During the transition period use_x11 == ozone_platform_x11.
>
> Bug: chromium:1096425
> Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

Bug: chromium:1096425
Change-Id: Ifa0a2f5f1323704d7e9d308210efb26c9987b5cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181561
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-24 13:15:30 +00:00
Jamie Madill 786d38af55 Fix build in some configurations.
Relevant configuration:
- is_debug = true
- angle_enable_annotator_run_time_checks = true

Patch authored by Igor Nazarov <i.nazarov@samsung.com>

Bug: angleproject:6401
Change-Id: I8c1ad38e71a90db8ef45d431bfefb1ff1153c1b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3165656
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-09-21 16:38:48 +00:00
Maksim Sisov 86f2854579 rename use_x11 to ozone_platform_x11
Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
deprecated. During the transition period use_x11 == ozone_platform_x11.

Bug: chromium:1096425
Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2021-09-20 17:44:38 +00:00
Jamie Madill 1af5c46c7a Move JsonSerializer from libANGLE to common.
This lets us use the serializer from outside of libANGLE. The plan is
to use it to serialize a list of supported extensions from the tests.

Bug: angleproject:6379
Change-Id: Ib7b64cca32e733e342b80f893d3752318089f0c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163361
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-09-17 17:06:19 +00:00
Jamie Madill 23b1674302 Fix compilation when disabling D3D back-ends.
Common code areas weren't compiling when disabling combinations
of the D3D9 and D3D11 back-ends. With manual testing this fixes
various combinations of angle_enable_d3d9/d3d11/gl.

Bug: angleproject:5925
Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2021-09-16 23:11:04 +00:00