|
56a4cc12
|
2020-05-21T13:17:21
|
|
Rename DisplayOzone to DisplayGbm.
DisplayOzone doesn't really have anything related to Ozone.
Instead, it's the gbm platform that is used there. Thus,
rename it to DisplayGbm.
Bug: chromium:1084458
Change-Id: I4d974f6afbf0daa28fc3e83943b35814dca203fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211763
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
dd90f5a5
|
2020-04-07T12:59:23
|
|
Depend on vulkan headers in angle_gpu_info_util
angle_gpu_info_util is capable of dynamically loading vulkan without
a dependency but it still requires the dependency on the headers to
compile on some systems.
BUG= b:153394225
Change-Id: I698a825499364c09faea39384d25d454f83955b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2139414
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7e453a25
|
2020-03-15T22:11:03
|
|
Capture/Replay: Use zlib to compress data files.
Gives about a 2-3x reduced data file size. Should help reduce the time
we spent transferring trace files on Android.
This feature is implemented as a parameter to the capture/replay tool.
This keeps backwards compatiblity if we ever need to integrate a cpp
replay into an environment that doesn't have access to zlib for
decompression.
We'll need to update the traces to take advantage of the compression.
Bug: angleproject:4484
Change-Id: Id7994efe3c0d529b85fa7e7f1b00444e630dd2cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104555
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
90a8af38
|
2020-03-05T13:48:47
|
|
Add -rpath entries for non-component builds on Mac
Mac was unable to find libvulkan.dylib because non-component builds do not
contain these rpath entries.
Bug: angleproject:4455
Change-Id: I7a3c452bd3b32c34b33c75b1456f9efa0d77a4ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090331
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
20c69733
|
2020-03-06T11:02:31
|
|
Fix GN warning about unused variable when angle_enable_commit_id=false
BUG=angleproject:2344
Change-Id: I3a0c8384d280755557fd425e80877addd756a9ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2091625
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e8883562
|
2020-03-06T09:32:18
|
|
Add a GN argument to enable/disable commit_id.
Some android builds are done when .git is not present.
BUG=angleproject:2344
Change-Id: Ic5418fb3b8161855e9c62d877eee22dabee846ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090684
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
dd19d554
|
2020-03-02T09:41:22
|
|
Change commit_id 'check' back to looking for .git files.
commit_id.py was change to try running 'git status' to confirm that git
was present. This caused it to succeed if there was a git checkout
somewhere above ANGLE if ANGLE's .git didn't exist, incorrectly adding
a non-existant .git/HEAD file to the gn rule's inputs.
Always verify that ANGLE's .git/HEAD is present in commit_id.py.
BUG=angleproject:2344
Change-Id: I7e170f39c8d5cef73086ecf6d68925a1d3512de1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082993
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b8dc561
|
2020-02-26T19:09:31
|
|
Fix Android component build.
Shared libraries have .cr.so extension in Android component builds.
Tests were failing to load the ANGLE libraries with just .so extensions.
Bug: angleproject:4396
Change-Id: I88555c830c49136623ea9da9896f86ea6204f3b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076778
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ba8ef68c
|
2020-02-24T14:13:40
|
|
Always use commit_id.py to generate commit.h
commit_id_.py is capable of generating the default commit.h.
This makes it so we always take a single path in gn.
Remove the existing commit.h and generate it into the root
generation folder (not the id subfolder) because Android blueprints
can't handle generating into subfolders that don't exist.
Make the <angle_dir> argument capable of taking a filename or
directory name. This allows us to pass the .git/HEAD file which is
a gn input. Android blueprints require all paths used as input
or output to a script are listed as inputs or outputs in the genrule.
BUG=angleproject:2344
Change-Id: I6600083fc400faf07808316c4a6244d6599df79a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074924
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4a9ec2ef
|
2020-02-25T16:33:21
|
|
Revert "Always use commit_id.py to generate commit.h"
This reverts commit 4dc19c38c0c5e307350ecd8b9f80d59573161df9.
Causes a git error during 'gn gen':
fatal: this operation must be run in a work tree
BUG=chromium:1055991,angleproject:2344
Change-Id: I74dd36d557dcaf1bd1b13264d806a1c6b09e1a56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4dc19c38
|
2020-02-24T14:13:40
|
|
Always use commit_id.py to generate commit.h
commit_id_.py is capable of generating the default commit.h.
This makes it so we always take a single path in gn.
Remove the existing commit.h and generate it into the root
generation folder (not the id subfolder) because Android blueprints
can't handle generating into subfolders that don't exist.
Make the <angle_dir> argument capable of taking a filename or
directory name. This allows us to pass the .git/HEAD file which is
a gn input. Android blueprints require all paths used as input
or output to a script are listed as inputs or outputs in the genrule.
BUG=angleproject:2344
Change-Id: Ifd9c8331f421586db6f2c6e17faf3242376e11d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070600
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5641d193
|
2020-02-04T21:31:47
|
|
Move generic code from rx::DisplayAndroid/Ozone to rx::DisplayEGL
This CL is intended to move and factorize code only.
Move DisplayAndroid::generateConfigs to DisplayEGL::generateConfigs
because the code is generic and not Android specific. It will be
useful later to provide a default implementation of rx::DisplayEGL.
Same for createWindowSurface and createPbufferSurface, they have
been moved without changes from DisplayAndroid to DisplayEGL.
Unimplemented functions in DisplayOzone and DisplayAndroid have
been moved to DisplayEGL.
Bug: angleproject:4328
Change-Id: Ibbd36f99ea457cbd69391beb4a83f23403bc40fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038286
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
71e6afb1
|
2020-01-14T14:12:31
|
|
Vulkan: Set set/binding in SPIR-V
This change introduces a SPIR-V transformer that modifies shader
interface variable decorations directly in SPIR-V instead of
manipulating the input GLSL. Currently, descriptor set and binding
indices are set by the transformer.
The shader translator outputs arbitrary set and binding indices. Once
compiled by glslang, the SPIR-V transformer modifies these decorations.
The ultimate goal is to be able to modify the SPIR-V again when program
pipeline objects decide a different set/binding is necessary.
Bug: angleproject:3394
Change-Id: If358265a72bf1fe9f5676562b39a632cb2e05dc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001477
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b630bf9e
|
2020-01-24T17:27:01
|
|
Fuchsia: Implement SystemInfo on Fuchsia
The Android vulkan code is reusable, so move that to a new file
SystemInfo_vulkan.cpp and call it in the Android & Fuchsia
implementations. This is necessary to skip tests based on GPU.
Bug: angleproject:4349, angleproject:4352
Change-Id: I8330cfcdbd41f4d51391bd5ed7f0820c55e02801
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023909
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
af5e3822
|
2020-01-28T10:05:36
|
|
Fix overlay build.
The overlay define was placed in the libANGLE target instead of in the
config. This was causing a compile error in the capture-enabled build.
Bug: None
Change-Id: I9df02faaf57683119ca49a9b44e41ff049b05556
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023479
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fcef6dcb
|
2020-01-24T22:41:35
|
|
For GGP builds, define __ggp__ manually.
Unlike other platforms' definitions, the GGP SDK expects the project files to
define this instead of having the compiler define it for us.
Bug: angleproject:4237
Change-Id: I8f10311fdff785a74c5e49fc53a512f1c050bff3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
683dd1d6
|
2020-01-13T17:21:52
|
|
GN: Move util build code into util/BUILD.gn.
Prepratory clean up for WinUWP support.
Bug: angleproject:4182
Change-Id: I97cc6cb42a50c6b57ca7d375d1e0a6b3da7aa9d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1998673
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5cfab195
|
2019-10-28T09:12:53
|
|
Vulkan: Add test that logs supported texture formats
Add a whitebox test to log all supported GLES formats
for the active Vulkan ICD. The test object is
dependent on libANGLE's gl_enum_util.* files as
we need it to print out human readable values in
the PrintAllFormatSupport test.
Test: angle_white_box_tests --gtest_filter=*PrintAllSupportedFormats*
Bug: angleproject:4093
Change-Id: I99d74935b705b2984f6320ed80a0e977c8fcd4be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930607
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9190f49c
|
2019-12-16T16:03:57
|
|
GN: Make new angle_test_utils target.
This source set target lets other targets import the test utils without
needing to export them. They get built into angle_util. They also get
compiled into the various tests and samples. The change also fixes
export issues.
Moves some of the GN logic into the util/ subfolder.
Bug: angleproject:3162
Bug: chromium:1030192
Change-Id: If99d201092ad8541c0de60b3bd893ac9b5875270
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968259
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7718c952
|
2019-12-13T16:39:15
|
|
[Fuchsia] Update FIDL library target names in ANGLE
The SDK has renamed some targets, so update to the new names.
Bug: chromium:1033597
Change-Id: Id346f5fb0094e4b71f8ec3b8c302eaa362529c06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1967958
Commit-Queue: Michael Spang <spang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
554b453c
|
2019-12-12T13:09:30
|
|
gn: Add 'test_only' label to util targets.
Clarifies that angle_util is only used in tests and samples.
Bug: angleproject:3162
Change-Id: I9a578cf7a9a09b2c3fd4683155824ed2e72f68cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1964934
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
732c9d02
|
2019-11-29T13:59:03
|
|
Add /APPCONTAINER linker flag to shared libraries in UWP builds.
Bug: angleproject:4181
Change-Id: I6940d5605e85bcf923b201be0f0f2b1f61c30ed5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944463
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e3c25715
|
2019-12-03T14:08:36
|
|
gn: Minor improvements.
Renaming "all" targets to reduce duplication. Also add libGLESv1_CM to
"angle". And remove "shader_translator" since we already had
"angle_shader_translator".
An attempt to work around "invalid COFF sections" error that is popping
up on the MSVC try bots.
Bug: None
Change-Id: I105aa5e59f67173643a3a2071b2aff345b5a6135
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947457
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5afd5ec6
|
2019-10-25T10:53:40
|
|
Vulkan support for MacOS (using SwiftShader)
Created a new WindowSurface/Display for MacOS/Vulkan, along with some
GN changes to get it working.
Bug: 1015454
Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2ed71c81
|
2019-11-27T11:42:08
|
|
Vulkan: Isolate DisplayVk.h from Display.cpp.
With this change we no longer can access Vulkan (or Volk) headers
in the ANGLE front-end. The only header that needs to be visible is
the new "DisplayVk_api.h".
This will simplify a bit of Volk integration.
Also reworks how the entry points and headers are exposed to the tests.
Bug: angleproject:3740
Change-Id: Ic1434f304619427ed6ad6370bc090ceb7858df94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936707
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
e9b68f33
|
2019-11-19T19:34:24
|
|
Clean unused NewCreateImagePipeCmd
This call is to be deprecated.
Bug: angleproject:3905
Change-Id: Iffca3a3bee4d0ff930598635a27592e068696bbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925032
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
d83dc175
|
2019-11-20T01:50:36
|
|
GN: Only link to delayimp when d3d9 is enabled
Bug: angleproject:4142
Change-Id: If7afac61386f205271997bcae53cd726a1786114
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925253
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d22b8be4
|
2019-11-15T12:26:39
|
|
GN: Make X11 optional, based on a user-defined variable.
Not all Linux platforms will have X11 available (Wayland, GGP), so we have to
declare a variable that checks use_x11 separately.
Bug: angleproject:4116
Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6e687af2
|
2019-10-17T14:36:41
|
|
Support standalone Android builds in ANGLE.
By disabling apk generation, we can build all of our targets in a
standalone ANGLE checkout on Linux.
This allows tools like gn desc to give us useful information about
Android builds.
BUG=angleproject:4026,angleproject:2344
Change-Id: Ic46348fd06c5174ce5e5a4d89ceb391246c6ac6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866080
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e9603921
|
2019-10-31T14:33:26
|
|
Capture/Replay: Correct a few GLenum replay issues.
This change refactors the GLenum utils into a non-autogenerated and an
autogenerated portion. That makes it easier to modify the non-auto-
generated bits to properly output GLenums even when the gl.xml data
isn't totally correct. For instance, the "GetPName" group was missing
a bunch of queries. Instead of trying to fix the GL we can simply fall
back to querying the "Default" group when we return invalid enum.
Also corrects a missing "0x" on hex output.
Also allows the capture/replay sample to specify the correct binary
data directory when testing a replay.
Bug: angleproject:3611
Change-Id: I8e4c690b2850bb157a8cde8b057b20603e4b177d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1891008
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2f71802b
|
2019-10-28T11:48:46
|
|
GN: Don't expose glslang when unused.
The ninja generation step could get confused if we try to build the
glslang wrapper project on platforms that don't support glslang. Turn
it off if the Metal / Vulkan back-ends are not enabled.
Bug: angleproject:4053
Change-Id: If4dd2856681f18f4f45e952bf88e33371b9a1e3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e55374f7
|
2019-10-24T12:55:12
|
|
GN: Explicitly add several Windows libs.
These were not implicitly added in the Skia build.
Bug: angleproject:4046
Change-Id: I0acdb4056e4598ea372b650dbd8044fe680187b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877483
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8ab0bf1f
|
2019-10-24T12:55:12
|
|
Fix warnings in xxhash.
Again these were showing up in Skia.
Bug: angleproject:4046
Change-Id: Ia295ac02b1e1d7bd4186243fc2bf38dffce43c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
155947fc
|
2019-10-24T12:55:11
|
|
Enable "-Wconditional-uninitialized".
This is a final warning used by Skia.
Bug: angleproject:4046
Change-Id: I3970e30e4bd2aef07cddadd7322ef120ac857493
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877481
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
16370a65
|
2019-10-24T12:55:11
|
|
Enable "-Winconsistent-missing-destructor-override".
This is purely a code style and consistency warning. Enabled to
support building in Skia.
Bug: angleproject:4046
Change-Id: Ibdcd06ded0195123e52c693851c43d0864e54ad1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c017cee9
|
2019-10-24T12:55:10
|
|
Enable "-Wundefined-reinterpret-cast".
A couple cases popped up where we were using an undefined cast.
Fix them by rearranging assignment macros to use decltype.
Another warning that is enabled in Skia.
Bug: angleproject:4046
Change-Id: Ibdbae0b2a96909b101a259ff805b8b2d43a5174b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877479
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
68945f1c
|
2019-10-24T12:55:09
|
|
Enable "-Wredundant-parens".
This one is also required by Skia. It's purely for consistency and
code readability.
Bug: angleproject:4046
Change-Id: I9ed418a0bf6c7661f0970fef6da7088ca6ae6204
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877478
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a6206854
|
2019-10-24T12:55:09
|
|
Enable "-Wmissing-field-initializers".
This is another warning required by Skia. This one didn't find
anything that surprising. Enabling the warning does help enforce
code consistency and avoids a bit of possible undefined behaviour.
Bug: angleproject:4046
Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
859ca039
|
2019-10-24T12:55:08
|
|
Enable "-Wshadow-field".
This warning verifies we don't give variables names that shadow
fields. This is another good warning to enable that Skia requires.
This CL also fixes a small number of points in code that used this
bad pattern. We have to disable the warning for Glslang for now.
Bug: angleproject:4046
Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fd58d22c
|
2019-10-24T12:55:07
|
|
Enable "-Wtautological-type-limit-compare".
This is used by Skia. It seems like a good this to enable in any case.
It verifies that we don't do pointless comparisons like "int < INTMAX".
Fix the one instance by using the base checked numeric helpers.
Bug: angleproject:4046
Change-Id: Ie14a9cb2754df52929591281062d92ef70df8f97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877474
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
299b1baf
|
2019-10-24T09:29:18
|
|
GN: Fix one missing check for 'angle_has_build'.
This was blocking using our GN files in Skia.
Bug: angleproject:4046
Change-Id: I12887a53c5f92b0e00206f8d391a8d03433b5e6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877475
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a9f11bf1
|
2019-10-21T08:39:14
|
|
GN: Separate out constructor/destructor warnings.
This will allow for the capture/replay sample to disable the warnings.
We'd like to keep them enabled for most of ANGLE code.
Bug: angleproject:3611
Change-Id: I3cc7af26fa54c03cc5b79727e7b403a1b218a903
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869544
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a48f95ab
|
2019-10-14T14:49:49
|
|
Move Vulkan GlslangWrapper code to a shared location.
Metal backend will reuse Vulkan's GlslangWrapper code.
The Metal backend will use this code to translate glsl to spirv then
cross compile to Metal Shading Language using spirv-cross.
So the source code of GlslangWrapper should be moved outside vulkan folder.
Bug: angleproject:2634
Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
93121f36
|
2019-10-17T08:18:16
|
|
Make invalid extension directive a CHROMEOS warning
This change allows extension directive after ESSL1.0 non-preprocessor tokens on CHROMEOS.
CHROMEOS kiosks have a video player that violates this spec requirement so just flagging
as a warning to prevent failed video playback.
Added ANGLE_PLATFORM_CHROMEOS define to build config in order to only make this a warning
on CHROMEOS. Split the ESSL1 & ESSL3 cases back out as ESSL3 had always been an error
on all platforms in the past and so want to keep it that way.
Bug: 1003005
Bug: angleproject:4023
Change-Id: Ia931b3a8dad82dbda4c9c9e49a9c1090116397b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866464
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
48aa52f7
|
2019-10-17T07:56:53
|
|
Fix broken GN "all_dependent_configs".
This regressed with http://crrev.com/c/1864726 . Only fails in configs
that specify 'use_fuzzing_engine'.
Bug: angleproject:4021
Change-Id: I7cd4ab1d91525074c44a6ea2a9d8c41d9b9e437e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866074
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ed6e230e
|
2019-10-16T18:19:05
|
|
Vulkan: Re-enable release ASSERTs.
This change will broadcast the release asserts config to all ANGLE
targets. Instead of the ones that inherited from angle_common.
Bug: angleproject:4021
Change-Id: I574b01d47e85004f69fb59856cac7b10f0d8d170
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864726
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d200a77a
|
2019-10-10T00:44:01
|
|
Metal backend skeleton implementation.
Bug: angleproject:2634
Change-Id: I34be82f4a80a6851fecb53a51e069b134d82613a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849079
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1ba72546
|
2019-10-04T15:17:49
|
|
GN: Allow building without /build/ folder.
This will allow for ANGLE to be used in the Skia build.
Bug: angleproject:3943
Change-Id: Idd1840f4445c63e696a7cdcd8b873623b8408306
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835346
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
1f08ab28
|
2019-10-03T16:22:52
|
|
Re-land "GN: Componentize vulkan back-end build."
Re-land fixes angle_end2end_tests disabling Vulkan.
This moves the build configuration into the Vulkan back-end dir.
This should be a little easier to maintain as all Vulkan-related
config is in one place.
Note that this should not interfere with Skia's build as they do
not import the Vulkan back-end sources.
One additional possiblity that this enables is testing other
compile-time permutations of the Vulkan back-end more easily. For
example we could make a simple change to enable compile testing
of the Vulkan back-end with custom command buffers disabled.
Also fixes a few errors affecting less tested configs.
Bug: angleproject:3943
Change-Id: I0161668abcc58fcf529dde120998d4b99445fdd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2328d65a
|
2019-10-03T02:27:07
|
|
Revert "GN: Componentize vulkan back-end build."
This reverts commit d46e2fb1e341a7ba7da56072658d3b4b1a540077.
Reason for revert: Broke Vulkan angle_end2end_tests.
Bug: angleproject:3954
Original change's description:
> GN: Componentize vulkan back-end build.
>
> This moves the build configuration into the Vulkan back-end dir.
> This should be a little easier to maintain as all Vulkan-related
> config is in one place.
>
> Note that this should not interfere with Skia's build as they do
> not import the Vulkan back-end sources.
>
> One additional possiblity that this enables is testing other
> compile-time permutations of the Vulkan back-end more easily. For
> example we could make a simple change to enable compile testing
> of the Vulkan back-end with custom command buffers disabled.
>
> Also fixes a few errors affecting less tested configs.
>
> Bug: angleproject:3943
> Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tobin Ehlis <tobine@google.com>
TBR=tobine@google.com,jonahr@google.com,jmadill@chromium.org
Change-Id: I7cf3db4f6b7d8b779625ea2491172bb429b498a9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3943
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1837233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d46e2fb1
|
2019-09-27T16:22:35
|
|
GN: Componentize vulkan back-end build.
This moves the build configuration into the Vulkan back-end dir.
This should be a little easier to maintain as all Vulkan-related
config is in one place.
Note that this should not interfere with Skia's build as they do
not import the Vulkan back-end sources.
One additional possiblity that this enables is testing other
compile-time permutations of the Vulkan back-end more easily. For
example we could make a simple change to enable compile testing
of the Vulkan back-end with custom command buffers disabled.
Also fixes a few errors affecting less tested configs.
Bug: angleproject:3943
Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
f22f16d3
|
2019-07-18T15:10:49
|
|
Reland "Vulkan: Use VK repos' internal BUILD.gn files"
This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
There was a missing build dependence causing a build no-op
issue which has now been fixed in the upstream Vulkan Validation
Layer repo.
Primary workaround that need to be re-visted and fixed are:
1. Disabled validation layers on 32-bit Windows
2. Disabled validation layers on 32-bit Android
3. Disabled DebugUtils on Android, using DebugReport instead
4. Using custom VK Loader branch to avoid WDK dependence
Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
>
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
>
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
>
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Bug: angleproject:3924
> Bug: angleproject:3925
> Bug: angleproject:3946
> Bug: chromium:997009
> Bug: chromium:997016
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Change-Id: I373ada091a1329db5e304874079428d01ba21d52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778302
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
7f506bde
|
2019-09-26T23:13:42
|
|
Revert "Disable swiftshader on Fuchsia"
This reverts commit b67102b1940ec4ce1da7eacdb4a171b7f3c44ba7.
Reason for revert: breaks ANGLE roll into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/1827833
https://ci.chromium.org/p/chromium/builders/try/fuchsia_arm64/391223
https://ci.chromium.org/p/chromium/builders/try/fuchsia_x64/390587
Original change's description:
> Disable swiftshader on Fuchsia
>
> SwiftShader is not needed on Fuchsia because the platform is expected to
> provide Vulkan on all devices.
>
> Bug: fuchsia:37278
> Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863
> Reviewed-by: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=spang@chromium.org,jmadill@chromium.org,sergeyu@chromium.org
Change-Id: I39dabd1cc8de3bbef2c9fe233270a21de3782900
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: fuchsia:37278
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1828317
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b67102b1
|
2019-09-24T13:32:51
|
|
Disable swiftshader on Fuchsia
SwiftShader is not needed on Fuchsia because the platform is expected to
provide Vulkan on all devices.
Bug: fuchsia:37278
Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
49fd27d9
|
2019-09-23T12:41:44
|
|
Fix SwiftShader to use data_deps.
Using deps instead of data_deps was causing some tests to try and
load vk_swiftshader every test execution. Even if the test was not
using Vulkan in ANGLE.
Fixes the TSAN gpu_unittests in Chromium.
Bug: angleproject:3876
Change-Id: I2acbf02ab9aa39632bc252c12e19da28ad90175d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815910
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
8be7a4c7
|
2019-09-19T12:48:31
|
|
Re-land "Vulkan: SwiftShader integration."
Re-land fixes Win7 configs and placement of the SwiftShader module for
ASAN/TSAN configs.
Adds a new EGL extension for picking SwiftShader when using the Vulkan
back-end. Also cleans up ICD enabling code RendererVk. Also includes a
change to a buffer size necessary to support SwiftShader's minimum
limits.
Bug: angleproject:3876
Bug: b/140251624
Change-Id: I5e16057ac4de07bbdbbd248542b1b9103133294f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2249fef2
|
2019-09-16T11:19:23
|
|
Capture/Replay: Move stub implementation to new file.
This lets the MSVC parser work better with FrameCapture.cpp.
Bug: angleproject:3611
Change-Id: I249106dce81a7965684caf1a835f0472b34e8963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804878
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
11dc1635
|
2019-09-18T14:46:23
|
|
Add support for generating UWP (Windows Store) projects again
Until late 2017, ANGLE supported Windows Store apps on Windows 8.1,
Windows Phone 8.1, and Windows 10 (via the Universal Windows
Platform, aka UWP).
Unfortunately ANGLE deprecated support for Windows Store when it
switched from GYP to GN in 2017. Since then, users have been able
to use Microsoft\angle for their UWP apps but this isn't ideal since
it's based on a 2017 copy of Google\angle.
This PR bring back support for UWPs, so that UWP users can use
Google\angle again. Specifically it:
- Adds support for generating UWP projects via GN
- Adds helper/util functions specific to UWP (they're mostly
similar to the desktop Windows helpers)
- Fixes some existing Windows Store code that's rotted since 2017
- Disables async shader compilation for UWPs, since its
implementation calls wait on the UI thread (which is forbidden
in UWPs)
- Renames 'ANGLE_ENABLE_WINDOWS_STORE' to
'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now
- Fixes misc other related issues (such as dependencies on D3D9
headers in API-agnostic code)
Note that this doesn't bring back support for Windows/Phone 8.1.
BUG=angleproject:3922
Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db7a36f4
|
2019-09-17T00:22:32
|
|
Revert "Vulkan: SwiftShader integration."
This reverts commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1.
Reason for revert: https://bugs.chromium.org/p/angleproject/issues/detail?id=3912
Original change's description:
> Vulkan: SwiftShader integration.
>
> Adds a new EGL extension for picking SwiftShader when using the Vulkan
> back-end. Also cleans up ICD enabling code RendererVk. Also includes a
> change to a buffer size necessary to support SwiftShader's minimum
> limits.
>
> 32-bit is currently left disabled to work around an issue on AMD Win7.
>
> Bug: angleproject:3876
> Bug: b/140251624
> Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: Id7464250f6941b0228a6b2a9bd0349823727275b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3876, b/140251624
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808101
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
1224802c
|
2019-09-16T15:17:33
|
|
Vulkan: SwiftShader integration.
Adds a new EGL extension for picking SwiftShader when using the Vulkan
back-end. Also cleans up ICD enabling code RendererVk. Also includes a
change to a buffer size necessary to support SwiftShader's minimum
limits.
32-bit is currently left disabled to work around an issue on AMD Win7.
Bug: angleproject:3876
Bug: b/140251624
Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1552d4d6
|
2019-09-12T20:21:07
|
|
Move to NewCreateImagePipe2Cmd
Bug: angleproject:3905
Change-Id: Id237c049848077acee8eaf491f7aada636764290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802535
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
a1bf6996
|
2019-09-03T13:39:03
|
|
Fuchsia: Migrate to new libasync-loop API
Bug: None
Change-Id: Ieadbe830847068c8e9dc96773dbb9b65c8b9ccd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783418
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
050b124d
|
2019-06-30T03:26:18
|
|
Reland "Vulkan: Debug overlay"
This is a reland of e54d0f90d1a165404236fd7abd1b05ddd041a686
This was reverted due to a build failure as a result of a missing
virtual destructor in the widget base class.
Original change's description:
> Vulkan: Debug overlay
>
> A debug overlay system for the Vulkan backend designed with efficiency
> and runtime configurability in mind. Overlay widgets are of two
> fundamental types:
>
> - Text widgets: A single line of text with small, medium or large font.
> - Graph widgets: A bar graph of data.
>
> Built on these, various overlay widget types are defined that gather
> statistics. Five such types are defined with one widget per type as
> example:
>
> - Count: A widget that counts something. VulkanValidationMessageCount
> is an overlay widget of this type that shows the number of validation
> messages received from the validation layers.
> - Text: A generic text. VulkanLastValidationMessage is an overlay
> widget of this type that shows the last validation message.
> - PerSecond: A value that gets reset every second automatically. FPS is
> an overlay widget of this type that simply gets incremented on every
> swap().
> - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
> overlay of this type. On every vkQueueSubmit, the number of nodes in
> the command graph is accumulated. On every present(), the value is
> taken as the number of nodes for the whole duration of the frame.
> - RunningHistogram: A histogram of last N values. Input values are in
> the [0, 1] range and they are ranked to N buckets for histogram
> calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
> widget of this type. On vkQueueSubmit, the memory waste from command
> buffer pool allocations is recorded in the histogram.
>
> Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
> processes to create an array of bits, which is processed at runtime to
> create the actual font image (an image with 3 layers).
>
> The overlay widget layout is defined in overlay_widgets.json which
> gen_overlay_widgets.py processes to generate an array of widgetss, each
> of its respective type, and sets their properties, such as color and
> bounding box. The json file allows widgets to align against other
> widgets as well as against the framebuffer edges.
>
> Two compute shaders are implemented to efficiently render the UI:
>
> - OverlayCull: This shader creates a bitset of Text and Graph widgets
> whose bounding boxes intersect a corresponding subgroup processed by
> OverlayDraw. This is done only when the enabled overlay widgets are
> changed (a feature that is not yet implemented) or the surface is
> resized.
> - OverlayDraw: Using the bitsets generated by OverlayCull, values that
> are uniform for each workgroup (set to be equal to hardware subgroup
> size), this shader loops over enabled widgets that can possibly
> intersect the pixel being processed and renders and blends in texts
> and graphs. This is done once per frame on present().
>
> Currently, to enable overlay widgets an environment variable is used.
> For example:
>
> $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
> $ ./hello_triangle --use-angle=vulkan
>
> Possible future work:
>
> - On Android, add settings in developer options and enable widgets based
> on those.
> - Spawn a small server in ANGLE and write an application that sends
> enable/disable commands remotely.
> - Implement overlay for other backends.
>
> Bug: angleproject:3757
> Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:3757
Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44a0e734
|
2019-09-02T13:55:59
|
|
Re-enable -Wextra-semi-stmt.
Now that the DEPS roller is fixed this should not be able to
break the CQ.
Bug: angleproject:3128
Change-Id: I0f51b5d8a7b71859cced335ca9bd6ad155637ec5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781619
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fc58af47
|
2019-09-02T07:46:44
|
|
Revert "Vulkan: Debug overlay"
This reverts commit e54d0f90d1a165404236fd7abd1b05ddd041a686.
Reason for revert: causes compile failure on Linux CFI bot.
Sample build: https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI/14810
Sample log: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8903575125463586160/+/steps/compile/0/stdout?format=raw
Original change's description:
> Vulkan: Debug overlay
>
> A debug overlay system for the Vulkan backend designed with efficiency
> and runtime configurability in mind. Overlay widgets are of two
> fundamental types:
>
> - Text widgets: A single line of text with small, medium or large font.
> - Graph widgets: A bar graph of data.
>
> Built on these, various overlay widget types are defined that gather
> statistics. Five such types are defined with one widget per type as
> example:
>
> - Count: A widget that counts something. VulkanValidationMessageCount
> is an overlay widget of this type that shows the number of validation
> messages received from the validation layers.
> - Text: A generic text. VulkanLastValidationMessage is an overlay
> widget of this type that shows the last validation message.
> - PerSecond: A value that gets reset every second automatically. FPS is
> an overlay widget of this type that simply gets incremented on every
> swap().
> - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
> overlay of this type. On every vkQueueSubmit, the number of nodes in
> the command graph is accumulated. On every present(), the value is
> taken as the number of nodes for the whole duration of the frame.
> - RunningHistogram: A histogram of last N values. Input values are in
> the [0, 1] range and they are ranked to N buckets for histogram
> calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
> widget of this type. On vkQueueSubmit, the memory waste from command
> buffer pool allocations is recorded in the histogram.
>
> Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
> processes to create an array of bits, which is processed at runtime to
> create the actual font image (an image with 3 layers).
>
> The overlay widget layout is defined in overlay_widgets.json which
> gen_overlay_widgets.py processes to generate an array of widgetss, each
> of its respective type, and sets their properties, such as color and
> bounding box. The json file allows widgets to align against other
> widgets as well as against the framebuffer edges.
>
> Two compute shaders are implemented to efficiently render the UI:
>
> - OverlayCull: This shader creates a bitset of Text and Graph widgets
> whose bounding boxes intersect a corresponding subgroup processed by
> OverlayDraw. This is done only when the enabled overlay widgets are
> changed (a feature that is not yet implemented) or the surface is
> resized.
> - OverlayDraw: Using the bitsets generated by OverlayCull, values that
> are uniform for each workgroup (set to be equal to hardware subgroup
> size), this shader loops over enabled widgets that can possibly
> intersect the pixel being processed and renders and blends in texts
> and graphs. This is done once per frame on present().
>
> Currently, to enable overlay widgets an environment variable is used.
> For example:
>
> $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
> $ ./hello_triangle --use-angle=vulkan
>
> Possible future work:
>
> - On Android, add settings in developer options and enable widgets based
> on those.
> - Spawn a small server in ANGLE and write an application that sends
> enable/disable commands remotely.
> - Implement overlay for other backends.
>
> Bug: angleproject:3757
> Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
Bug: angleproject:3757
Change-Id: Ib08e2e7b1a9449ca097673acb11655df5d2bbf31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778862
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e54d0f90
|
2019-06-30T03:26:18
|
|
Vulkan: Debug overlay
A debug overlay system for the Vulkan backend designed with efficiency
and runtime configurability in mind. Overlay widgets are of two
fundamental types:
- Text widgets: A single line of text with small, medium or large font.
- Graph widgets: A bar graph of data.
Built on these, various overlay widget types are defined that gather
statistics. Five such types are defined with one widget per type as
example:
- Count: A widget that counts something. VulkanValidationMessageCount
is an overlay widget of this type that shows the number of validation
messages received from the validation layers.
- Text: A generic text. VulkanLastValidationMessage is an overlay
widget of this type that shows the last validation message.
- PerSecond: A value that gets reset every second automatically. FPS is
an overlay widget of this type that simply gets incremented on every
swap().
- RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
overlay of this type. On every vkQueueSubmit, the number of nodes in
the command graph is accumulated. On every present(), the value is
taken as the number of nodes for the whole duration of the frame.
- RunningHistogram: A histogram of last N values. Input values are in
the [0, 1] range and they are ranked to N buckets for histogram
calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
widget of this type. On vkQueueSubmit, the memory waste from command
buffer pool allocations is recorded in the histogram.
Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
processes to create an array of bits, which is processed at runtime to
create the actual font image (an image with 3 layers).
The overlay widget layout is defined in overlay_widgets.json which
gen_overlay_widgets.py processes to generate an array of widgetss, each
of its respective type, and sets their properties, such as color and
bounding box. The json file allows widgets to align against other
widgets as well as against the framebuffer edges.
Two compute shaders are implemented to efficiently render the UI:
- OverlayCull: This shader creates a bitset of Text and Graph widgets
whose bounding boxes intersect a corresponding subgroup processed by
OverlayDraw. This is done only when the enabled overlay widgets are
changed (a feature that is not yet implemented) or the surface is
resized.
- OverlayDraw: Using the bitsets generated by OverlayCull, values that
are uniform for each workgroup (set to be equal to hardware subgroup
size), this shader loops over enabled widgets that can possibly
intersect the pixel being processed and renders and blends in texts
and graphs. This is done once per frame on present().
Currently, to enable overlay widgets an environment variable is used.
For example:
$ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
$ ./hello_triangle --use-angle=vulkan
Possible future work:
- On Android, add settings in developer options and enable widgets based
on those.
- Spawn a small server in ANGLE and write an application that sends
enable/disable commands remotely.
- Implement overlay for other backends.
Bug: angleproject:3757
Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2b7e2acb
|
2019-08-30T13:26:37
|
|
Vulkan: Move loader defines into BUILD.gn.
We shouldn't need the extra loader defines config variable. The defines
we need should probably be able to be located in ANGLE entirely.
Bug: angleproject:3320
Bug: angleproject:3876
Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aae21ef6
|
2019-08-29T21:56:06
|
|
Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150.
Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016
Original change's description:
> Reland "Vulkan: Use VK repos' internal BUILD.gn files"
>
> This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
>
> Original change's description:
> > Vulkan: Use VK repos' internal BUILD.gn files
> >
> > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> > files so switched ANGLE to use those by default.
> > Also Validation Layer, Loader, and Tools repos no longer uses codegen
> > so this speeds up the build overall.
> > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> > to VK_LAYER_KHRONOS_validation unified layer.
> >
> > This changes includes a temporary workaround to the Vulkan-Loader repo
> > to remove its Window's build dependence on WDK. There are plans to
> > remove that depenedence in Loader master, but until then we can use
> > our custom branch workaround.
> > It also includes a custom branch for validation layers that includes
> > some build fixes for ANGLE.
> > Finally, the layers were crashing on Android when attempting to use
> > DebugUtils extension so forcing DebugReport on Android for now.
> >
> > Bug: angleproject:2449
> > Bug: angleproject:3320
> > Bug: angleproject:3852
> > Bug: chromium:997009
> > Bug: chromium:997016
> > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Tobin Ehlis <tobine@google.com>
>
> Bug: angleproject:2449, angleproject:3320, angleproject:3852
> Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
> Commit-Queue: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
0ad1559f
|
2019-07-18T15:10:49
|
|
Reland "Vulkan: Use VK repos' internal BUILD.gn files"
This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
>
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
>
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
>
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Bug: chromium:997009
> Bug: chromium:997016
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7cd5f64a
|
2019-08-21T20:03:49
|
|
Move default ANGLE platform type out of main switch/case
The "default" platform type isn't really a discrete type, and treating it
that way leads to duplication. Make the default platform just map to
another platform enum.
After this change, setting args to angle_enable_opengl=false
angle_enable_vulkan=true under X11 results in a default of vulkan;
previously we would hit UNREACHABLE() due to not handling this case.
Bug: angleproject:3847
Change-Id: I1dc093ef8a2f5b93721cb1ebda0a8c3ec4a7d2f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521321
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
5f3c98de
|
2019-08-23T01:05:38
|
|
Revert "Vulkan: Use VK repos' internal BUILD.gn files"
This reverts commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6.
Reason for revert: Causing flakiness in "confirm no-op" CQ step.
See issue for more details.
Bug: chromium:997016
Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
>
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
>
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
>
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5ec04880
|
2019-08-22T21:12:08
|
|
Reland "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
This reverts commit 58940f67acd5b89f1c338b134a596864595fcdca.
Reason for revert: pixel test failures have been triaged in Gold. Relanding.
Original change's description:
> Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
>
> This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755.
>
> Reason for revert: pixel test failures per http://crbug.com/984780#c13
>
> Original change's description:
> > Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
> >
> > Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
> > on dual GPU Macs always updates the active GPU field of the SystemInfo
> > instance to the first non-Intel GPU it finds. This change overrides the
> > activeGPUIndex field of the SystemInfo instance to reflect the current GPU
> > instead of the non-intel GPU.
> >
> > Bug: 985486, 984780, angleproject:3701
> > Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
> > Commit-Queue: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
>
> TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com
>
> Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 985486, 984780, angleproject:3701
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bug: 985486, 984780, angleproject:3701
Change-Id: I8f2f26f68329a2826a92742c46471b8c092b36ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765963
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
552f5fcb
|
2019-07-18T15:10:49
|
|
Vulkan: Use VK repos' internal BUILD.gn files
This retires custom BUILD.gn files for the Vulkan Headers, Tools,
Validation-Layers, and Loader repos. They now have integrated BUILD.gn
files so switched ANGLE to use those by default.
Also Validation Layer, Loader, and Tools repos no longer uses codegen
so this speeds up the build overall.
Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
to VK_LAYER_KHRONOS_validation unified layer.
This changes includes a temporary workaround to the Vulkan-Loader repo
to remove its Window's build dependence on WDK. There are plans to
remove that depenedence in Loader master, but until then we can use
our custom branch workaround.
It also includes a custom branch for validation layers that includes
some build fixes for ANGLE.
Finally, the layers were crashing on Android when attempting to use
DebugUtils extension so forcing DebugReport on Android for now.
Bug: angleproject:2449
Bug: angleproject:3320
Bug: angleproject:3852
Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
58940f67
|
2019-08-22T15:40:58
|
|
Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
>
> Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
> on dual GPU Macs always updates the active GPU field of the SystemInfo
> instance to the first non-Intel GPU it finds. This change overrides the
> activeGPUIndex field of the SystemInfo instance to reflect the current GPU
> instead of the non-intel GPU.
>
> Bug: 985486, 984780, angleproject:3701
> Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com
Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 985486, 984780, angleproject:3701
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
720a8bab
|
2019-08-12T16:56:45
|
|
Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
on dual GPU Macs always updates the active GPU field of the SystemInfo
instance to the first non-Intel GPU it finds. This change overrides the
activeGPUIndex field of the SystemInfo instance to reflect the current GPU
instead of the non-intel GPU.
Bug: 985486, 984780, angleproject:3701
Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
617f23d1
|
2019-08-12T10:11:53
|
|
Fix frame capture build for Android
Bug: angleproject:3611
Change-Id: I65018823a8d7223de0f63ea5bd6a573f62f1c24b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748884
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7e48c9eb
|
2019-08-06T17:17:19
|
|
Add explicit integer casts
WebKit uses the -Wshorten-64-to-32 flag which warns on these cases.
Bug: 3439
Change-Id: I8c1de60da0f173ca2036e2120e79b857f5f2775f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740866
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
9e14a19b
|
2019-08-09T10:03:24
|
|
EVENT trace to print GLenum as string reland
Reland of CL https://chromium-review.googlesource.com/c/angle/angle/+/1737141
Bug: angleproject:3778
Change-Id: I2a43c618de032d6e6286d707fbc88241ad4c19ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745837
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
efa898ac
|
2019-08-07T17:05:35
|
|
Enable some compiler warnings used by WebKit.
This will make it easier to roll ANGLE in WebKit.
Bug: angleproject:3439
Change-Id: Icd4a5a2d5dcabb6cf13d4b46a7547f49610fa4b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743057
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
64751a0b
|
2019-08-07T15:08:51
|
|
Reenable extra_warnings config for angle_utils
Originally disabled in https://crrev.com/c/1738438.
Bug: angleproject:1459
Change-Id: I95172dc95a5d3e9d838c542ee6bcfb2338ffc9a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743078
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22ec7dc9
|
2019-08-06T10:10:52
|
|
Remove all global constructors and exit time destructors.
WebKit compiles with -Wglobal-constructors, so they want this. I decided
to do -Wexit-time-destructors at the same time.
Bug: angleproject:3439
Bug: angleproject:1459
Change-Id: I4b44ae4f8e6f066e07dc7f9f6ced9a5d49dc8f8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738438
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eb1b1646
|
2019-07-30T17:22:17
|
|
Capture/Replay: Fix capture-enabled libs build.
Adds a build option to use the capture libraries in the default output
location for libGLESv2. With |angle_with_capture_by_default| enabled,
libGLESv2 will have capture enabled and the non-capture libGLESv2 is
built as libGLESv2_no_capture.
Also moves the FrameCapture to be owned by gl::Context. Rearranges the
code a bit so that we don't require a separate version of libANGLE for
capture.
Also implements a read pixels entry point parameter.
Bug: angleproject:3611
Change-Id: Ic528e43e4779f794c8b6d0bf35410166dacc81b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719064
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
73e5e9b5
|
2019-07-22T15:26:17
|
|
Clang warn implicit float to int conversion
1. add '-Wfloat-conversion' in compiler flag for clang
2. fix existed implicit float conversion
Bug: angleproject:3728
Change-Id: I0dc07eeb74c5d6dc480c6f0aa88bc75ab98e4292
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713741
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6a02f06d
|
2019-07-18T16:27:14
|
|
Implement EGL_ANGLE_create_context_backwards_compatible
This extension allows the user to specify if ANGLE should create a
context of the exact requested version or a higher version context that
is backwards compatible.
BUG=angleproject:3425
Change-Id: I7d0b75cdd7e34a2fc888aa238e1eeb67af82ae0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601560
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6e7dd1ef
|
2019-07-16T13:41:59
|
|
Generate openGL32.dll in a separate output folder
This is to avoid loading it locally and so that the pdb works
Bug: angleproject:3641
Change-Id: I2ce93ace47d1e6a1013d38964e5919084ad4ff7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704634
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
|
|
663b0481
|
2019-07-11T12:37:35
|
|
Load correct opengl32.dll
Tests are still loading ANGLE's opengl32.dll instead of system's
This is because external drivers are trying to load opengl32.dll
Workaround: renamed to libGL.dll, need to change back when copying
dll over for loading
Bug: angleproject:3641
Change-Id: I051adc1fbb488a704c99718ad4a2f74bb7756cbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697290
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ecd2e3b1
|
2019-07-09T15:39:39
|
|
GL: Reset the texture base level before uploads on Mac.
Reset the base level of textures before call glTexImage on Mac
to prevent driver bugs that cause texture corruption.
BUG=angleproject:3671
Change-Id: I90e94b8395a781a2142ef6be3af1d6117f084152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692975
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
cb8b4a57
|
2019-07-04T16:05:25
|
|
Rename "opengl32" to "libGL"
Bug: angleproject:3651
Change-Id: I1af052da9bc2f64f2f29ea411902272987f21a0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688178
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
612b7417
|
2019-07-05T11:13:30
|
|
Capture/Replay: Add frame capture to cpp files.
Capture is implemented mostly via code auto-generation. The capture
requires a bit of custom logic for each captured pointer parameter. We
handle this by using auto-generation to lay out the base template for
each GL call and then custom logic that uses ANGLE's internals to
know how much data to capture at which point. Client array pointers are
captured before each draw call.
Currently only GLES capture is supported. We write out cpp files and
an optional data file accompanying each cpp. For small data chunks we
inline them in the cpp files. For bigger chunks like texture data we
pack them into the data file.
Mid-execution capture is not yet supported. Configuring the capture is
currently only available by modifying the cpp sources. Both of these
features will be implemented in the future.
Bug: angleproject:3611
Change-Id: If6d5dac2f7bf363129d42ea9198162aef0d3a4ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1671904
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7558e836
|
2019-06-18T13:02:03
|
|
Windows Desktop GL Implementation
Bug: angleproject:3620
Change-Id: I4ef4ab3ee145e5ce9b1ebf0c2d61d0777db72c43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
77c8496b
|
2019-06-28T11:24:27
|
|
Re-land "Cleanup angle_libs_suffix in BUILD.gn."
We can use output_name instead of repeating the libs suffix in the GN
files.
The re-land adds automatic suffix application on Android. This makes
the configuration a bit simpler and should detect future breakage. Also
cleans up some of the "angle_libraries" code.
Bug: angleproject:3611
Change-Id: I4971d1085ca67802c916655c30efb7df4001f040
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679993
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e6e70bb
|
2019-06-28T14:45:49
|
|
Revert "Cleanup angle_libs_suffix in BUILD.gn."
This reverts commit 625f5b2fbd89eb04b2e24853502acadbd40f1f73.
Reason for revert: Seems to break the Android build with suffix:
~/chromium/src$ gn args out/Release64
Waiting for editor on "/usr/local/google/home/cnorthrop/chromium/src/out/Release64/args.gn"...
Generating files...
ERROR Unresolved dependencies.
//third_party/angle:compressed_symbols(//build/toolchain/android:android_clang_arm)
needs //third_party/angle:libEGL_angle(//build/toolchain/android:android_clang_arm)
//third_party/angle:compressed_symbols(//build/toolchain/android:android_clang_arm)
needs //third_party/angle:libGLESv1_CM_angle(//build/toolchain/android:android_clang_arm)
<snip>
Original change's description:
> Cleanup angle_libs_suffix in BUILD.gn.
>
> We can use output_name instead of repeating the libs suffix in the GN
> files.
>
> Bug: angleproject:3611
> Change-Id: Ic87c1378aac8be8e1aec695ddbe5c8ec2ed3187b
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678403
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org
Change-Id: I532d9cf28c21ddf65d820d3fc323c87dbc844d96
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3611
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679990
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
625f5b2f
|
2019-06-26T16:19:35
|
|
Cleanup angle_libs_suffix in BUILD.gn.
We can use output_name instead of repeating the libs suffix in the GN
files.
Bug: angleproject:3611
Change-Id: Ic87c1378aac8be8e1aec695ddbe5c8ec2ed3187b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678403
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
067687f4
|
2019-05-29T12:48:49
|
|
Removal global locks from GL entry points. Always lock in EGL.
The ANGLE Vulkan backend is now thread safe for non-share group contexts. This
means that a global GL lock only adds overhead for most use cases.
Remove the angle_force_thread_safety gn argument.
BUG=angleproject:2464
Change-Id: Ic6ba89e18b46e5dd72aa83d0f409097441fcca3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635749
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
20d380fa
|
2019-06-03T15:21:47
|
|
Print stack backtrace on critical failure.
We reuse code from Skia to walk the stack on Posix platforms. See:
https://github.com/google/skia/blob/master/tools/CrashHandler.cpp
On Windows we use a BSD-licensed tool called StackWalker. See:
https://github.com/JochenKalmbach/StackWalker
This allows us to get high quality stack traces on Win/Linux/Mac.
Bug: angleproject:3162
Change-Id: I9c50ede2c6a41ed0ee85a0507372df42a487bcef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
73e17bf7
|
2019-05-14T10:42:25
|
|
Android: Fix symbol compression logic
Update the logic to compress ANGLE's symbols for Android to correctly
include the necessary symbols.
Bug: angleproject:3448
Test: Build and install APK, verify symbols are present during crash
Change-Id: Ibb995aa775d47fb9921e4ab11b956c63ac474c30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611750
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
66e4850d
|
2019-04-25T10:49:05
|
|
Use EnumAdapters to properly detect primary GPU on Win
EnumDisplayDevicesA returns the card that's connected to the display,
but EnumAdapters return the adapter which the desktop primary is
displayed at index 0. We can use this to determine the device used for
graphics.
Also cleans up the discrepancy between platforms on finding "primary" vs
"active" GPU. Asserts that the GPU expected to run ANGLE commands is the
active GPU, and deprecates the primary GPU to be equal to the active
GPU.
Bug: angleproject:3383
Change-Id: I422fba1bbe47d85b7c09e378d559eaebf89e2625
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584360
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8cbd321c
|
2019-04-23T13:25:20
|
|
Android: Clean up the ANGLE APK
* Rename the APK package name to reflect that it is from Chromium build.
* Rename the application to reflect it is no longer used on Android system image.
* Remove code supporting multiple APKs, since we only have one now.
* Remove the placeholder icon, which is no longer needed.
* Remove the ANGLE_FOR_ANDROID intent, since this APK is not built in.
* Remove the java code since since it was only in support of the intent.
* Remove most apps from the rules file.
Bug: angleproject:3396
Change-Id: Ic6a2fd03e5686026ab4650fc0c25adb298af03c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579389
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
62e274e8
|
2019-04-23T09:17:03
|
|
[scenic] Remove dangling viewsv1 reference
Clean up the includes and imports for this module as well.
BUG: angleproject:2475
TEST: Built cast_runner, web_runner
Change-Id: Id283c265a4ec9d2ca74e3a0132e82f051b8864f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579219
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
1e064014
|
2019-04-12T14:10:17
|
|
Fix 'not all control paths return a value' and add to extra_warnings
Bug: angleproject:3356
Change-Id: I9831b2035bc1e887c6d5a68a444e69e2bf5aa60a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565055
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|