[ANGLE - iOS] fast/canvas/webgl/uninitialized-test.html is still failing
[WebKit-https.git] / Source / ThirdParty / ANGLE / ChangeLog
1 2020-06-07  James Darpinian  <jdarpinian@chromium.org>
2
3         [ANGLE - iOS] fast/canvas/webgl/uninitialized-test.html is still failing
4         https://bugs.webkit.org/show_bug.cgi?id=212249
5
6         Reviewed by Dean Jackson.
7
8         copyTexImage2D is broken in some way on iOS. Work around it by reimplementing
9         it with ANGLE's BlitGL class.
10
11         * include/platform/FeaturesGL.h:
12         * src/libANGLE/renderer/gl/BlitGL.cpp:
13         (rx::BlitGL::blitColorBufferWithShader):
14         * src/libANGLE/renderer/gl/BlitGL.h:
15         * src/libANGLE/renderer/gl/TextureGL.cpp:
16         (rx::TextureGL::copyImage):
17         (rx::TextureGL::copySubImage):
18         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
19         (rx::nativegl_gl::InitializeFeatures):
20         * src/tests/gl_tests/CopyTexImageTest.cpp:
21         * src/tests/gl_tests/TextureTest.cpp:
22         * src/tests/test_utils/angle_test_configs.cpp:
23         (angle::operator<<):
24         * src/tests/test_utils/angle_test_configs.h:
25         (angle::WithEmulateCopyTexImage2DFromRenderbuffers):
26         * util/EGLPlatformParameters.h:
27         (EGLPlatformParameters::tie const):
28         * util/EGLWindow.cpp:
29         (EGLWindow::initializeDisplay):
30
31 2020-06-04  Tim Horton  <timothy_horton@apple.com>
32
33         Work around broken system version macro
34         https://bugs.webkit.org/show_bug.cgi?id=212726
35
36         Reviewed by Dan Bernstein.
37
38         * Configurations/DebugRelease.xcconfig:
39
40 2020-06-02  Keith Rollin  <krollin@apple.com>
41
42         Change ANGLE's header postprocessing script to not rely on timestamps
43         https://bugs.webkit.org/show_bug.cgi?id=212623
44         <rdar://problem/63856997>
45
46         Reviewed by David Kilzer.
47         Reviewed by Kennneth Russell.
48
49         Some WebKit builds involve multiple passes, where each pass is a
50         superset of the previous pass. In the cases where each pass produces
51         the same files, it is required that files be produced in exactly the
52         same way in each of those passes. A build process that relies on a
53         file containing a timestamp trips up that prerequisite.
54
55         adjust-angle-include-paths.sh uses such a mechanism, using a timestamp
56         file to determine if any exported headers need to be post-processed.
57         Since this violates our prerequisite, we need a different approach.
58         Instead of using a timestamp, always perform the post-processing, but
59         write the output to a temporary location. Then see if it differs from
60         what's in the actual final destination. If the two files diff, then
61         copy the one from the temporary location to the final destination.
62
63         This approach does cause more work in the area of post-processing.
64         However, this post-processing is actually very cheap. And avoiding the
65         post-processing is not actually the original goal of the timestamp.
66         The actual goal is to avoid touching the modification dates of the
67         exported headers, which would then cause a lot of downstream
68         rebuilding. The new approach with the temporary files also achieves
69         that goal.
70
71         * CMakeLists.txt:
72         * adjust-angle-include-paths.sh:
73
74 2020-06-02  Kenneth Russell  <kbr@chromium.org>
75
76         Revise PVRTC compressed texture validation in ANGLE backend for WebGL
77         https://bugs.webkit.org/show_bug.cgi?id=212612
78
79         Reviewed by Dean Jackson.
80
81         Correct the block sizes of PVRTC textures, and incorporate minimum
82         block sizes for width and height, as required by these formats.
83
84         * src/libANGLE/formatutils.cpp:
85         (gl::BuildInternalFormatInfoMap):
86         (gl::InternalFormat::computeCompressedImageSize const):
87         (gl::InternalFormat::getCompressedImageMinBlocks const):
88         * src/libANGLE/formatutils.h:
89
90 2020-05-29  Keith Rollin  <krollin@apple.com>
91
92         Revert switch to XCBuild
93         https://bugs.webkit.org/show_bug.cgi?id=212530
94         <rdar://problem/63764632>
95
96         Unreviewed build fix.
97
98         Bug 209890 enabled the use of XCBuild by default. Since then, some
99         build issues have shown up. While addressing them, temporarily turn
100         off the use of XCBuild by default.
101
102         * ANGLE.xcodeproj/project.pbxproj:
103         * Configurations/ANGLE.xcconfig:
104
105 2020-05-27  Keith Rollin  <krollin@apple.com>
106
107         Enable the use of XCBuild by default in Apple builds
108         https://bugs.webkit.org/show_bug.cgi?id=209890
109         <rdar://problem/44182078>
110
111         Unreviewed build fix. Check the value of XCODE_VERSION_ACTUAL rather
112         than XCODE_VERSION_MAJOR when determining whether to use the XCBuild
113         or non-XCBuild method of running header post-processing scripts.
114
115         * ANGLE.xcodeproj/project.pbxproj:
116
117 2020-05-26  Keith Rollin  <krollin@apple.com>
118
119         Enable the use of XCBuild by default in Apple builds
120         https://bugs.webkit.org/show_bug.cgi?id=209890
121         <rdar://problem/44182078>
122
123         Reviewed by Darin Adler.
124
125         Switch from the "legacy" Xcode build system to the "new" build system
126         (also known as "XCBuild"). Switching to the new system speeds up
127         builds by a small percentage, better validates projects for
128         build-related issues (such as dependency cycles), lets WebKit benefit
129         from future improvements in XCBuild such as those coming from the
130         underlying llbuild open source project, and prepares us for any other
131         tools built for this new ecosystem.
132
133         Specific changes:
134
135         - Remove Xcode project and workspace settings that selected the Build
136           system, allowing the default to take hold (which is currently the
137           New build system).
138         - Updated webkitdirs.pm with a terser check for Xcode version.
139         - Update build-webkit and Makefile.shared to be explicit when using
140           the old build system (no longer treat it as a default or fall-back
141           configuration).
142         - Update various xcconfig files similarly to treat the default as
143           using the new build system.
144         - Update various post-processing build steps to check for Xcode 11.4
145           and to no longer treat the default as using the old build system.
146
147         * ANGLE.xcodeproj/project.pbxproj:
148         * Configurations/ANGLE.xcconfig:
149
150 2020-05-22  Kenneth Russell  <kbr@chromium.org>
151
152         [ANGLE - iOS] webgl/1.0.3/conformance/extensions/ext-sRGB.html is failing
153         https://bugs.webkit.org/show_bug.cgi?id=212277
154
155         Reviewed by Dean Jackson.
156
157         Properly translate GL_EXT_sRGB enums to ES 3.0 enums when
158         GL_EXT_sRGB is not supported.
159
160         * src/libANGLE/renderer/gl/formatutilsgl.cpp:
161         (rx::nativegl::GetNativeInternalFormat):
162         (rx::nativegl::GetNativeFormat):
163
164 2020-05-22  Kenneth Russell  <kbr@chromium.org>
165
166         [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
167         https://bugs.webkit.org/show_bug.cgi?id=212271
168
169         Reviewed by Dean Jackson.
170
171         Use ES 3.0 sized internal formats for unsized depth/stencil
172         textures when the OES_depth_texture extension is unavailable - as
173         is the case in iOS's ES 3.0 driver.
174
175         * src/libANGLE/renderer/gl/formatutilsgl.cpp:
176         (rx::nativegl::GetNativeInternalFormat):
177
178 2020-05-21  Dean Jackson  <dino@apple.com>
179
180         PVRTC compressed textures are failing with ANGLE backend
181         https://bugs.webkit.org/show_bug.cgi?id=212240
182         <rdar://problem/63517385>
183
184         Reviewed by Ken Russell (representing ANGLE).
185
186         The values used for the PVRTC formats were incorrect.
187
188         * src/libANGLE/formatutils.cpp:
189         (gl::BuildInternalFormatInfoMap):
190
191 2020-05-21  Kenneth Russell  <kbr@chromium.org>
192
193         Roll ANGLE to 2020-05-21
194         https://bugs.webkit.org/show_bug.cgi?id=212228
195
196         Reviewed by Dean Jackson.
197
198         Roll ANGLE to 96a80283cc0fe604d03c0bc0b3f9eb100edd22f9 in the
199         upstream repository using jdarpinian's excellent update-angle.sh
200         script.
201
202         Manually undo the fix from Bug 210992, which was fixed differently
203         upstream.
204
205 2020-05-21  Kenneth Russell  <kbr@chromium.org>
206
207         EXT_color_buffer_half_float not exposed on iOS
208         https://bugs.webkit.org/show_bug.cgi?id=212181
209
210         Reviewed by Dean Jackson.
211
212         Remove OES_texture_half_float requirement for advertising
213         EXT_color_buffer_half_float in ANGLE. This is implicit in ES 3.0.
214
215         * src/libANGLE/renderer/gl/formatutilsgl.cpp:
216         (rx::nativegl::BuildInternalFormatInfoMap):
217
218 2020-05-20  Kenneth Russell  <kbr@chromium.org>
219
220         OES_texture_half_float_linear unavailable on WebGL 1.0 on iOS with ANGLE
221         https://bugs.webkit.org/show_bug.cgi?id=212170
222
223         Reviewed by Dean Jackson.
224
225         Now that FP16 luminance/alpha texture formats are correctly
226         emulated on ES 3.0, advertise them as filterable.
227
228         * src/libANGLE/renderer/gl/formatutilsgl.cpp:
229         (rx::nativegl::BuildInternalFormatInfoMap):
230
231 2020-05-20  Kenneth Russell  <kbr@chromium.org>
232
233         OES_texture_float / OES_texture_half_float unavailable in WebGL 1.0 on iOS Simulator with ANGLE
234         https://bugs.webkit.org/show_bug.cgi?id=210524
235
236         Reviewed by Dean Jackson.
237
238         Emulate LUMINANCE, ALPHA and LUMINANCE_ALPHA floating-point
239         textures on top of RED / RG textures when the underlying
240         OES_texture_float/half_float OpenGL ES extensions are unavailable.
241
242         This makes the conformance/extensions/oes-texture{-half}-float*
243         tests run and pass in the iOS Simulator.
244
245         This change is being reviewed upstream in the ANGLE repository and
246         is only being uploaded here for testing purposes. It will be
247         rolled in with the next ANGLE update.
248
249         * src/libANGLE/renderer/gl/TextureGL.cpp:
250         (rx::TextureGL::setSwizzle):
251         * src/libANGLE/renderer/gl/formatutilsgl.cpp:
252         (rx::nativegl::BuildInternalFormatInfoMap):
253         (rx::nativegl::IsLUMAFormat):
254         (rx::nativegl::EmulateLUMAFormat):
255         (rx::nativegl::EmulateLUMA):
256         (rx::nativegl::GetNativeInternalFormat):
257         (rx::nativegl::GetNativeFormat):
258         (rx::nativegl::GetNativeType):
259         (rx::nativegl::GetTexImageFormat):
260         (rx::nativegl::GetTexSubImageFormat):
261
262 2020-05-18  James Darpinian  <jdarpinian@chromium.org>
263
264         Enable regenerateStructNames workaround on iOS
265         https://bugs.webkit.org/show_bug.cgi?id=212056
266
267         Reviewed by Dean Jackson.
268
269         The WebGL conformance test conformance/glsl/misc/shader-struct-scope.html
270         was failing on iOS. The workaround that fixes this test was enabled only on
271         desktop GL, but it's necessary for iOS as well.
272
273         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
274         (rx::nativegl_gl::InitializeFeatures):
275
276 2020-05-14  James Darpinian  <jdarpinian@chromium.org>
277
278         REGRESSION (r259589): Google Maps background layer fades out and back in
279         https://bugs.webkit.org/show_bug.cgi?id=210992
280
281         Reviewed by Dean Jackson.
282
283         ANGLE rendering feedback loop detection was incorrect if a texture attached
284         to a framebuffer was also bound to an active texture unit, and then that texture
285         unit became inactive because a sampler uniform was set.
286
287         * src/libANGLE/Context.cpp:
288         (gl::Context::onSamplerUniformChange):
289         * src/libANGLE/State.cpp:
290         (gl::State::setTextureIndexInactive):
291         * src/libANGLE/State.h:
292
293 2020-05-14  Kenneth Russell  <kbr@chromium.org>
294
295         Update ANGLE to 2020-03-27
296         https://bugs.webkit.org/show_bug.cgi?id=209689
297
298         Reviewed by Darin Adler.
299
300         Re-applying this patch now that we have a fix for 210992.
301
302         Use update-angle.sh script by James Darpinian to roll ANGLE to
303         commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
304         https://chromium.googlesource.com/angle/angle .
305
306         changes.diff has been auto-updated with Apple's diffs relative to
307         upstream. No additional manual changes are made in this roll.
308         Long autogenerated file list omitted.
309
310 2020-05-08  David Kilzer  <ddkilzer@apple.com>
311
312         Remove empty directories from from svn.webkit.org repository
313         <https://webkit.org/b/211644>
314
315         Reviewed by Darin Adler.
316
317         * include/vulkan: Removed.
318         * src/android_system_settings: Removed.
319         * third_party/glmark2: Removed.
320         * tools/flex-bison: Removed.
321
322 2020-05-07  James Darpinian  <jdarpinian@chromium.org>
323
324         Fix Google Maps rendering corruption in simulator with ANGLE
325         https://bugs.webkit.org/show_bug.cgi?id=211398
326
327         glReadPixels call needs to respect the row stride of the IOSurface.
328
329         Reviewed by Alex Christensen.
330
331         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
332         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
333         (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
334         (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
335
336 2020-05-07  Dean Jackson  <dino@apple.com>
337
338         Update ANGLE to 2020-03-27
339         https://bugs.webkit.org/show_bug.cgi?id=209689
340
341         Reverting r259589. It caused
342         https://bugs.webkit.org/show_bug.cgi?id=210992
343
344 2020-05-05  Saam Barati  <sbarati@apple.com>
345
346         Unreviewed, reverting r261176.
347
348         It broke the build
349
350         Reverted changeset:
351
352         "[ANGLE] Declarations should match definitions"
353         https://bugs.webkit.org/show_bug.cgi?id=211410
354         https://trac.webkit.org/changeset/261176
355
356 2020-05-05  Jonathan Bedard  <jbedard@apple.com>
357
358         [ANGLE] Declarations should match definitions
359         https://bugs.webkit.org/show_bug.cgi?id=211410
360
361         Reviewed by Alex Christensen.
362
363         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Skip definitions for platforms
364         where class is undefined.
365         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
366         (rx::DisplayEAGL::generateConfigs): Function is not defined for for MacCatalyst.
367         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Skip definitions for platforms
368         where class is undefined.
369         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
370         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Skip definitions for platforms
371         where class is undefined.
372         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
373
374 2020-04-28  ChangSeok Oh  <changseok@webkit.org>
375
376         [GTK] Fix build failures for ANGLE_WEBGL after r259589
377         https://bugs.webkit.org/show_bug.cgi?id=211116
378
379         Reviewed by Alex Christensen.
380
381         The ANGLE_WEBGL is broken after ANGLE is updated in r259589. Missing sources
382         should be added to the build target.
383
384         * PlatformGTK.cmake: Add libangle_gl_egl_sources and libangle_gl_egl_dl_sources.
385
386 2020-04-27  Dean Jackson  <dino@apple.com>
387
388         Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
389         https://bugs.webkit.org/show_bug.cgi?id=211055
390         <rdar://problem/62410499>
391
392         Reviewed by Darin Adler.
393
394         ANGLE requires GL_DEPTH_COMPONENT32_OES be available in order to expose the
395         depth texture extension. However, this format is not supported on iOS.
396         Temporarily remove this restriction while investigating other bugs.
397
398         This also allows us to see the failing results in
399         fast/canvas/webgl/webgl-depth-texture.html
400         webgl/1.0.3/conformance/extensions/webgl-depth-texture.html
401
402         * src/libANGLE/Caps.cpp:
403         (gl::DetermineDepthTextureANGLESupport):
404         (gl::DetermineDepthTextureOESSupport):
405
406 2020-04-25  Darin Adler  <darin@apple.com>
407
408         [Cocoa] Deal with another round of Xcode upgrade checks
409         https://bugs.webkit.org/show_bug.cgi?id=211027
410
411         Reviewed by Alexey Proskuryakov.
412
413         * ANGLE.xcodeproj/project.pbxproj: Bump the upgrade check version.
414         Add a harmless base localization, rename English localization to en,
415         remove Japanese, French, German; this project contains nothing localized.
416
417 2020-04-08  Truitt Savell  <tsavell@apple.com>
418
419         Unreviewed, reverting r259708.
420
421         Broke the iOS device Build
422
423         Reverted changeset:
424
425         "Enable the use of XCBuild by default in Apple builds"
426         https://bugs.webkit.org/show_bug.cgi?id=209890
427         https://trac.webkit.org/changeset/259708
428
429 2020-04-08  Keith Rollin  <krollin@apple.com>
430
431         Enable the use of XCBuild by default in Apple builds
432         https://bugs.webkit.org/show_bug.cgi?id=209890
433         <rdar://problem/44182078>
434
435         Reviewed by Darin Adler.
436
437         Switch from the "legacy" Xcode build system to the "new" build system
438         (also known as "XCBuild"). Switching to the new system speeds up
439         builds by a small percentage, better validates projects for
440         build-related issues (such as dependency cycles), lets WebKit benefit
441         from future improvements in XCBuild such as those coming from the
442         underlying llbuild open source project, and prepares us for any other
443         tools built for this new ecosystem.
444
445         Specific changes:
446
447         - Remove Xcode project and workspace settings that selected the Build
448           system, allowing the default to take hold (which is currently the
449           New build system).
450         - Updated webkitdirs.pm with a terser check for Xcode version.
451         - Update build-webkit and Makefile.shared to be explicit when using
452           the old build system (no longer treat it as a default or fall-back
453           configuration).
454         - Update various xcconfig files similarly to treat the default as
455           using the new build system.
456         - Update various post-processing build steps to check for Xcode 11.4
457           and to no longer treat the default as using the old build system.
458
459         * ANGLE.xcodeproj/project.pbxproj:
460         * Configurations/ANGLE.xcconfig:
461
462 2020-04-06  Kenneth Russell  <kbr@chromium.org>
463
464         Update ANGLE to 2020-03-27
465         https://bugs.webkit.org/show_bug.cgi?id=209689
466
467         Reviewed by Darin Adler.
468
469         Use update-angle.sh script by James Darpinian to roll ANGLE to
470         commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
471         https://chromium.googlesource.com/angle/angle .
472
473         changes.diff has been auto-updated with Apple's diffs relative to
474         upstream. No additional manual changes are made in this roll.
475         Long autogenerated file list omitted.
476
477 2020-04-03  Kenneth Russell  <kbr@chromium.org>
478
479         Fix bugs related to VideoTextureCopierCV and ANGLE roll script
480         https://bugs.webkit.org/show_bug.cgi?id=209943
481
482         Reviewed by Dean Jackson.
483
484         Update the update-angle.sh script to take into account the new
485         procedure for generating ANGLE's commit ID header file. This
486         enables ANGLE rolls into WebKit again.
487
488         * update-angle.sh:
489
490 2020-04-03  Keith Rollin  <krollin@apple.com>
491
492         Do not link with OpenGL on Apple platforms
493         https://bugs.webkit.org/show_bug.cgi?id=209946
494         <rdar://problem/61237956>
495
496         Reviewed by Sam Weinig.
497
498         OpenGL is not used in our build of ANGLE. Attempting to link with it
499         causes warnings, which can turn into errors in some cases (in
500         particular, when building with Xcode's "new" build system).
501
502         * ANGLE.xcodeproj/project.pbxproj:
503
504 2020-04-03  David Kilzer  <ddkilzer@apple.com>
505
506         [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
507         <https://webkit.org/b/209963>
508         <rdar://problem/61257504>
509
510         Reviewed by Alexey Proskuryakov.
511
512         * ANGLE.xcodeproj/project.pbxproj:
513         * Configurations/Base.xcconfig:
514         - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
515           ASAN_OTHER_LDFLAGS.
516
517 2020-03-27  Kenneth Russell  <kbr@chromium.org>
518
519         Use ANGLE_robust_client_memory to replace framebuffer/texture validation
520         https://bugs.webkit.org/show_bug.cgi?id=209098
521
522         Reviewed by Dean Jackson.
523
524         Incorporated fix from anglebug.com/4504 to make
525         fast/canvas/webgl/uninitialized-test.html pass.
526
527         Incorporated fix from anglebug.com/4518 to make:
528          webgl/2.0.0/conformance2/renderbuffers/invalidate-framebuffer.html
529          webgl/2.0.0/conformance2/rendering/blitframebuffer-test.html
530          webgl/2.0.0/conformance2/rendering/rgb-format-support.html
531          webgl/2.0.0/conformance2/state/gl-object-get-calls.html
532          webgl/2.0.0/conformance2/textures/misc/tex-new-formats.html
533         pass.
534
535         * src/libANGLE/Texture.cpp:
536         (gl::Texture::copySubImage):
537         (gl::Texture::ensureSubImageInitialized):
538         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
539         (rx::nativegl_gl::InitializeFeatures):
540
541 2020-03-21  Keith Rollin  <krollin@apple.com>
542
543         Set INSTALLHDRS_SCRIPT_PHASE in ANGLE builds
544         https://bugs.webkit.org/show_bug.cgi?id=209384
545         <rdar://problem/59513380>
546
547         Reviewed by Dan Bernstein.
548
549         Production ANGLE builds are technically non-compliant. During the
550         installhdrs build action, ANGLE headers are exported but are not
551         post-processed. This differs from the install build action, where the
552         exported headers *are* post-processed. The headers need to be treated
553         identically under both actions. The post-processing is enabled by
554         setting the INSTALLHDRS_SCRIPT_PHASE build setting to YES. Most other
555         WebKit projects already set this setting (see, for example,
556         https://trac.webkit.org/changeset/155787,
557         https://trac.webkit.org/changeset/110327, and
558         https://trac.webkit.org/changeset/41417).
559
560         * Configurations/ANGLE.xcconfig:
561
562 2020-03-15  Michael Catanzaro  <mcatanzaro@gnome.org>
563
564         [ANGLE] Source/ThirdParty/ANGLE/src/common/utilities.cpp:10: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
565         https://bugs.webkit.org/show_bug.cgi?id=209014
566
567         Reviewed by Darin Adler.
568
569         Silence compiler warning.
570
571         * changes.diff:
572         * src/common/utilities.cpp:
573
574 2020-03-15  Michael Catanzaro  <mcatanzaro@gnome.org>
575
576         [ANGLE] Source/ThirdParty/ANGLE/src/libANGLE/Display.h:221:73: warning: implicitly-declared ‘egl::AttributeMap& egl::AttributeMap::operator=(const egl::AttributeMap&)’ is deprecated [-Wdeprecated-copy]
577         https://bugs.webkit.org/show_bug.cgi?id=209015
578
579         Reviewed by Darin Adler.
580
581         Suppress compiler warning. If this were WebKit code, I might take the time to fix it, but
582         with third-party code it's probably best to just turn off warnings that upstream is not
583         using.
584
585         * CMakeLists.txt:
586
587 2020-03-02  Alan Coon  <alancoon@apple.com>
588
589         Add new Mac target numbers
590         https://bugs.webkit.org/show_bug.cgi?id=208398
591
592         Reviewed by Alexey Proskuryakov.
593
594         * Configurations/Base.xcconfig:
595         * Configurations/DebugRelease.xcconfig:
596         * Configurations/Version.xcconfig:
597         * Configurations/WebKitTargetConditionals.xcconfig:
598
599 2020-02-12  Michael Catanzaro  <mcatanzaro@gnome.org>
600
601         Multiple GCC 10 build failures in ANGLE
602         https://bugs.webkit.org/show_bug.cgi?id=207365
603
604         Reviewed by Carlos Alberto Lopez Perez.
605
606         * changes.diff: Updated.
607         * include/platform/Platform.h: Add missing #include to get size_t.
608         * src/common/PackedEnums.h: Remove problematic const_casts.
609
610 2020-02-12  Dean Jackson  <dino@apple.com>
611
612         ANGLE has unused bison and glmark2 code
613         https://bugs.webkit.org/show_bug.cgi?id=207597
614         rdar://59361460
615
616         Reviewed by Maciej Stachowiak.
617
618         Remove some unused files.
619
620         * changes.diff:
621         * src/tests/perf_tests/glmark2Benchmark.cpp: Removed.
622         * third_party/glmark2/BUILD.gn: Removed.
623         * third_party/glmark2/README.angle: Removed.
624         * tools/flex-bison/README.md: Removed.
625         * tools/flex-bison/linux/bison.sha1: Removed.
626         * tools/flex-bison/linux/flex.sha1: Removed.
627         * tools/flex-bison/third_party/.gitattributes: Removed.
628         * tools/flex-bison/third_party/m4sugar/LICENSE: Removed.
629         * tools/flex-bison/third_party/m4sugar/README.chromium: Removed.
630         * tools/flex-bison/third_party/m4sugar/foreach.m4: Removed.
631         * tools/flex-bison/third_party/m4sugar/m4sugar.m4: Removed.
632         * tools/flex-bison/third_party/skeletons/LICENSE: Removed.
633         * tools/flex-bison/third_party/skeletons/README.chromium: Removed.
634         * tools/flex-bison/third_party/skeletons/bison.m4: Removed.
635         * tools/flex-bison/third_party/skeletons/c-like.m4: Removed.
636         * tools/flex-bison/third_party/skeletons/c.m4: Removed.
637         * tools/flex-bison/third_party/skeletons/yacc.c: Removed.
638         * tools/flex-bison/update_flex_bison_binaries.py: Removed.
639         * tools/flex-bison/windows/bison.exe.sha1: Removed.
640         * tools/flex-bison/windows/flex.exe.sha1: Removed.
641         * tools/flex-bison/windows/m4.exe.sha1: Removed.
642         * tools/flex-bison/windows/msys-2.0.dll.sha1: Removed.
643         * tools/flex-bison/windows/msys-iconv-2.dll.sha1: Removed.
644         * tools/flex-bison/windows/msys-intl-8.dll.sha1: Removed.
645
646 2020-02-09  Keith Rollin  <krollin@apple.com>
647
648         Re-enable LTO for ARM builds
649         https://bugs.webkit.org/show_bug.cgi?id=207402
650         <rdar://problem/49190767>
651
652         Reviewed by Sam Weinig.
653
654         Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
655         Enabling it for ARM was left out due to a compiler issue. That issue
656         has been fixed, and so now we can re-enable LTO for ARM.
657
658         * Configurations/Base.xcconfig:
659
660 2020-02-07  Kenneth Russell  <kbr@chromium.org>
661
662         Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
663         https://bugs.webkit.org/show_bug.cgi?id=206625
664
665         Reviewed by Dean Jackson.
666
667         * include/platform/FeaturesGL.h:
668         * src/libANGLE/renderer/gl/StateManagerGL.cpp:
669         (rx::StateManagerGL::bindFramebuffer):
670         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
671         (rx::nativegl_gl::InitializeFeatures):
672
673 2020-02-05  Dean Jackson  <dino@apple.com>
674
675         Fix MacCatalyst build.
676
677         * src/libANGLE/validationEGL.cpp:
678         (egl::ValidateCreatePbufferFromClientBuffer):
679
680 2020-02-04  James Darpinian  <jdarpinian@chromium.org>
681
682         Update ANGLE
683         https://bugs.webkit.org/show_bug.cgi?id=206318
684
685         Several important changes to fix layout test failures and timeouts in this update.
686         - Made expensive validation non-default in debug mode to reduce timeouts.
687         - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
688         - Flush before texture deletion to work around Mac Intel driver bug.
689
690         Reviewed by Dean Jackson.
691
692         * ANGLE.plist: update commit hash
693         * ANGLE.xcodeproj/project.pbxproj: Add/remove files
694         * Compiler.cmake: Translated from compiler.gni
695         * GLESv2.cmake: Translated from libGLESv2.gni
696         * changes.diff: Now lists all changes from upstream.
697         * update-angle.sh: Diff command was wrong.
698         * Plus a whole lot of changes from upstream.
699
700 2020-01-30  James Darpinian  <jdarpinian@chromium.org>
701
702         Update ANGLE
703         https://bugs.webkit.org/show_bug.cgi?id=206318
704
705         Take two!
706
707         Several important changes to fix layout test failures and timeouts in this update.
708         - Made expensive validation non-default in debug mode to reduce timeouts.
709         - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
710         - Flush before texture deletion to work around Mac Intel driver bug.
711
712         Reviewed by Dean Jackson.
713
714         * ANGLE.plist: update commit hash
715         * ANGLE.xcodeproj/project.pbxproj: Add/remove files
716         * Compiler.cmake: Translated from compiler.gni
717         * GLESv2.cmake: Translated from libGLESv2.gni
718         * changes.diff: Now lists all changes from upstream.
719         * update-angle.sh: Diff command was wrong.
720         * Plus a whole lot of changes from upstream.
721
722 2020-01-22  James Darpinian  <jdarpinian@chromium.org>
723
724         Update ANGLE
725         https://bugs.webkit.org/show_bug.cgi?id=206318
726
727         Several important changes to fix layout test failures and timeouts in this update.
728         - Made expensive validation non-default in debug mode to reduce timeouts.
729         - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
730         - Flush before texture deletion to work around Mac Intel driver bug.
731
732         Reviewed by Dean Jackson.
733
734         * ANGLE.plist: update commit hash
735         * ANGLE.xcodeproj/project.pbxproj: Add/remove files
736         * Compiler.cmake: Translated from compiler.gni
737         * GLESv2.cmake: Translated from libGLESv2.gni
738         * changes.diff: Now lists all changes from upstream.
739         * update-angle.sh: Diff command was wrong.
740         * Plus a whole lot of changes from upstream.
741
742 2020-01-22  James Darpinian  <jdarpinian@chromium.org>
743
744         REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html is much slower, times out in debug
745         https://bugs.webkit.org/show_bug.cgi?id=205668
746
747         Disable asserts when compiling ANGLE in release mode by defining
748         NDEBUG.
749
750         Reviewed by Dean Jackson.
751
752         * Configurations/ANGLE.xcconfig:
753
754 2020-01-14  Dean Jackson  <dino@apple.com>
755
756         Build ANGLE as a dynamic library
757         https://bugs.webkit.org/show_bug.cgi?id=204708
758         rdar://57349384
759
760         Rolling this out for the 2nd time.
761
762         - it caused issues with the shared dyld cache, because the
763         cache doesn't know to include the libary until it already
764         exists in the build
765         - probably related to the above, we saw some performance
766         regressions directly related to this change
767
768         * ANGLE.xcodeproj/project.pbxproj:
769         * Configurations/ANGLE.xcconfig:
770         * Configurations/Base.xcconfig:
771         * Configurations/DebugRelease.xcconfig:
772         * include/CMakeLists.txt:
773         * include/GLSLANG/ShaderLang.h:
774         * include/GLSLANG/ShaderVars.h:
775         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
776         (rx::DisplayCGL::isValidNativeWindow const):
777         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
778         (rx::WindowSurfaceCGL::WindowSurfaceCGL):
779         (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
780         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
781         (rx::DisplayEAGL::terminate):
782         (rx::DisplayEAGL::isValidNativeWindow const):
783         (rx::WorkerContextEAGL::~WorkerContextEAGL):
784         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
785         (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
786         (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
787
788 2020-01-14  Kenneth Russell  <kbr@chromium.org>
789
790         Need workaround for crash in Intel OpenGL driver related to texture copying feedback loops
791         https://bugs.webkit.org/show_bug.cgi?id=205843
792
793         Remove ANGLE workaround introduced in bug 205707, as it was
794         discovered to be incomplete, and was never upstreamed. The correct
795         workaround will be integrated in the next ANGLE roll.
796
797         Reviewed by Dean Jackson.
798
799         * include/platform/FeaturesGL.h:
800         * src/libANGLE/renderer/gl/StateManagerGL.cpp:
801         (rx::StateManagerGL::bindFramebuffer):
802         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
803         (rx::nativegl_gl::InitializeFeatures):
804
805 2020-01-08  Kenneth Russell  <kbr@chromium.org>
806
807         Remove some #ifdefs related to iOS port of ANGLE
808         https://bugs.webkit.org/show_bug.cgi?id=205781
809
810         Since the port to the iOS Simulator in
811         https://bugs.webkit.org/show_bug.cgi?id=205618 , these #ifdefs
812         should no longer be needed.
813
814         Reviewed by Dean Jackson.
815
816         * src/common/PackedEnums.cpp:
817         (egl_gl::EGLTextureTargetToTextureType):
818         * src/libANGLE/validationES2.cpp:
819         (gl::ValidateFramebufferTexture2D):
820
821 2020-01-05  Kenneth Russell  <kbr@chromium.org>
822
823         REGRESSION (r253926): Flaky crashes on webgl/1.0.3/conformance/textures/texture-copying-feedback-loops.html and webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops.html
824         https://bugs.webkit.org/show_bug.cgi?id=205707
825
826         Work around bugs in Intel's graphics driver where operations can
827         be incorrectly reordered across glBindFramebuffer calls by
828         flushing before/after these calls. Conclusively addresses this
829         crash; may also address other layout test flakiness seen when
830         switching to ANGLE backend for WebGL.
831
832         Reviewed by Dean Jackson.
833
834         * include/platform/FeaturesGL.h:
835         * src/libANGLE/renderer/gl/StateManagerGL.cpp:
836         (rx::StateManagerGL::bindFramebuffer):
837         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
838         (rx::nativegl_gl::InitializeFeatures):
839
840 2020-01-04  Kenneth Russell  <kbr@chromium.org>
841
842         Add support for iOS Simulator to ANGLE backend for WebGL
843         https://bugs.webkit.org/show_bug.cgi?id=205618
844
845         Extend EGL_ANGLE_iosurface_client_buffer extension to require use
846         of TEXTURE_2D target on iOS, and to provide read/write usage hints
847         for the pbuffer created from the IOSurface.
848
849         Emulate missing [EAGLContext texImageIOSurface:...] via texture
850         upload in eglBindTexImage and readback in eglReleaseTexImage.
851
852         These changes will be upstreamed in
853         https://bugs.chromium.org/p/angleproject/issues/detail?id=4256 .
854
855         Reviewed by Dean Jackson.
856
857         * extensions/EGL_ANGLE_iosurface_client_buffer.txt:
858         * include/EGL/eglext_angle.h:
859         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
860         (rx::DisplayEAGL::initialize):
861         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
862         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
863         (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
864         (rx::IOSurfaceSurfaceEAGL::bindTexImage):
865         (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
866         (rx::IOSurfaceSurfaceEAGL::validateAttributes):
867         (rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
868         (rx::IOSurfaceSurfaceEAGL::getIOSurfaceLockOptions const):
869         * src/libANGLE/validationEGL.cpp:
870         (egl::ValidateCreatePbufferFromClientBuffer):
871
872 2019-12-25  Dean Jackson  <dino@apple.com>
873
874         [WebGL] Enable ANGLE by default for Cocoa platforms (except simulator)
875         https://bugs.webkit.org/show_bug.cgi?id=205483
876         rdar://56925821
877
878         Reviewed by Simon Fraser.
879
880         Export entry_points_gles_ext_autogen.h.
881
882         * ANGLE.xcodeproj/project.pbxproj:
883
884 2019-12-19  Dean Jackson  <dino@apple.com>
885
886         Build ANGLE as a dynamic library
887         https://bugs.webkit.org/show_bug.cgi?id=204708
888         rdar://57349384
889
890         Reviewed by Tim Horton.
891
892         Take 2 at attempting this. The first time was rolled out
893         due to failures in Apple's upstream build system.
894
895         Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
896         this will reduce the in-flight binary size on Apple's build systems by at least
897         a factor of 10 (it was over 1G). Building release for x86_64-only:
898             - Previously: libANGLE.a -- 306 MB
899             - Now: libANGLE-shared.dylib -- 6.7 MB
900
901         In order to do this, some symbols needed to be exported from the
902         "sh" namespace (which are used in ANGLEWebKitBridge, but not when
903         ANGLE's rendering backend is active).
904
905         While here, I turned on some more build options, like ARC.
906
907         Lastly, I added a build phase that creates a fake libANGLE.a
908         because Apple's build system thinks that WebCore still needs it.
909
910         * ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
911         product a dylib product.
912         * Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
913         * Configurations/Base.xcconfig:
914         * Configurations/DebugRelease.xcconfig:
915         * include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
916         sure they will be visible in the exported library.
917         * include/GLSLANG/ShaderVars.h:
918         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
919         C cast so it can be annotated with __bridge.
920         (rx::DisplayCGL::isValidNativeWindow const):
921         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
922         (rx::WindowSurfaceCGL::WindowSurfaceCGL):
923         (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
924         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
925         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
926
927 2019-12-19  ChangSeok Oh  <changseok@webkit.org>
928
929         [GTK] Build fix for ANGLE_WEBGL after r253650
930         https://bugs.webkit.org/show_bug.cgi?id=205426
931
932         Reviewed by Carlos Alberto Lopez Perez.
933
934         libglesv2_entry_points_headers was removed in r253650 that updated CMake for ANGLE.
935         GLESv2.cmake seems to be susceptible to ANGLE changes, so it might not be
936         a good place where any platform specific configuration is located.
937         Let's move the entry points header set to CMakeLists.txt.
938
939         * CMakeLists.txt:
940
941 2019-12-18  Dean Jackson  <dino@apple.com>
942
943         Reverting libANGLE.a -> libANGLE-shared.dylib.
944
945         Follow-up to remove the build phase that was trying
946         to fool Apple's build system.
947
948         * ANGLE.xcodeproj/project.pbxproj:
949
950 2019-12-18  Dean Jackson  <dino@apple.com>
951
952         Reverting libANGLE.a -> libANGLE-shared.dylib.
953
954         The internal Apple build systems are still unhappy with
955         this change, so I'm reverting it until I can be sure
956         they'll accept it.
957
958         * ANGLE.xcodeproj/project.pbxproj:
959         * Configurations/ANGLE.xcconfig:
960         * Configurations/Base.xcconfig:
961         * Configurations/DebugRelease.xcconfig:
962         * include/CMakeLists.txt:
963         * include/GLSLANG/ShaderLang.h:
964         * include/GLSLANG/ShaderVars.h:
965         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
966         (rx::DisplayCGL::isValidNativeWindow const):
967         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
968         (rx::WindowSurfaceCGL::WindowSurfaceCGL):
969         (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
970         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
971         (rx::DisplayEAGL::terminate):
972         (rx::DisplayEAGL::isValidNativeWindow const):
973         (rx::WorkerContextEAGL::~WorkerContextEAGL):
974         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
975         (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
976         (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
977
978 2019-12-17  Fujii Hironori  <Hironori.Fujii@sony.com>
979
980         Unreviewed build fix for WinCairo port
981         https://bugs.webkit.org/show_bug.cgi?id=204914
982         <rdar://problem/58023118>
983
984         * include/CMakeLists.txt: Replaced '$libangle_includes' with '${libangle_includes}".
985
986 2019-12-17  James Darpinian  <jdarpinian@chromium.org>
987
988         Improve update-angle.sh and add gni-to-cmake.py
989         https://bugs.webkit.org/show_bug.cgi?id=204914
990
991         update-angle.sh now performs a git rebase. This automatically merges
992         upstream changes with WebKit's local changes where possible and
993         highlights any conflicts for manual resolution.
994
995         Also, it runs a new script gni-to-cmake.py to automatically update the
996         CMake files with upstream changes to the gni files. Along with the
997         changes to include/CMakeLists.txt, this should prevent build breaks
998         like the recently fixed WinCairo one. Additionally, diffing the CMake
999         files provides a concise list of build changes that can be referenced
1000         when manually updating the XCode project file.
1001
1002         Reviewed by Dean Jackson.
1003
1004         * CMakeLists.txt:
1005         * Compiler.cmake:
1006         * GLESv2.cmake:
1007         * gni-to-cmake.py: Added.
1008         * include/CMakeLists.txt:
1009         * update-angle.sh:
1010
1011 2019-12-17  ChangSeok Oh  <changseok@webkit.org>
1012
1013         Unreviewed build fix for USE_ANGLE_WEBGL after r252994
1014
1015         * CMakeLists.txt: Add a missing directory separator.
1016
1017 2019-12-13  Dean Jackson  <dino@apple.com>
1018
1019         MacCatalyst build of libANGLE is installed in the incorrect location
1020         https://bugs.webkit.org/show_bug.cgi?id=205219
1021         <rdar://problem/57713353>
1022
1023         Reviewed by Simon Fraser.
1024
1025         Rename libANGLE.dylib into libANGLE-shared.dylib, so we can
1026         avoid accidentally trying to link to the libANGLE.a that was
1027         removed recently (but still exists in the SDK for now).
1028
1029         Also, make sure that we install into the correct location for
1030         a Catalyst build.
1031
1032         * ANGLE.xcodeproj/project.pbxproj:
1033         * Configurations/ANGLE.xcconfig:
1034         * Configurations/Base.xcconfig:
1035
1036 2019-12-11  Dean Jackson  <dino@apple.com>
1037
1038         Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
1039         https://bugs.webkit.org/show_bug.cgi?id=205068
1040         <rdar://problem/57713353>
1041
1042         Unreviewed followup to apply the script to Mac Catalyst builds.
1043
1044         Note that this phase can be removed in a few days when Apple's Test
1045         Platform realises it doesn't need libANGLE.a any more.
1046
1047         * ANGLE.xcodeproj/project.pbxproj:
1048
1049 2019-12-10  Dean Jackson  <dino@apple.com>
1050
1051         Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
1052         https://bugs.webkit.org/show_bug.cgi?id=205068
1053         <rdar://problem/57713353>
1054
1055         Reviewed by Alex Christensen.
1056
1057         Create a dummy libANGLE.a file until our infrastructure realises it
1058         doesn't need that file any more. Hopefully the fact that it isn't
1059         really a static library, but just a text file, is ok.
1060
1061         * ANGLE.xcodeproj/project.pbxproj: Add a new shell script phase that
1062         creates a dummy file.
1063
1064 2019-12-06  Dean Jackson  <dino@apple.com>
1065
1066         Restrict libANGLE to link only with WebCore
1067         https://bugs.webkit.org/show_bug.cgi?id=204957
1068         <rdar://problem/57708644>
1069
1070         Reviewed by Brian Burg.
1071
1072         Restrict to WebCore and WebCoreTestSupport.
1073
1074         * Configurations/ANGLE.xcconfig:
1075
1076 2019-12-05  James Darpinian  <jdarpinian@chromium.org>
1077
1078         Finish ANGLE update
1079         https://bugs.webkit.org/show_bug.cgi?id=204911
1080
1081         The last ANGLE update patch didn't include all the changed files.
1082         This patch updates the rest of the files.
1083
1084         Reviewed by Alex Christensen.
1085
1086         * src/tests: Lots of changed files from upstream ANGLE.
1087         * src/third_party/compiler/README.chromium:
1088         * third_party/VK-GL-CTS/README.angle: Added.
1089         * third_party/deqp/README.angle: Removed.
1090         * third_party/googletest/README.angle: Removed.
1091         * third_party/libpng/BUILD.gn:
1092         * third_party/spirv-cross/README.angle: Added.
1093         * util/OSWindow.h:
1094         * util/egl_loader_autogen.cpp:
1095         (angle::LoadEGL):
1096         * util/egl_loader_autogen.h:
1097         * util/fuchsia/ScenicWindow.cpp:
1098         (ScenicWindow::resetNativeWindow):
1099         * util/fuchsia/ScenicWindow.h:
1100         * util/gles_loader_autogen.cpp:
1101         (angle::LoadGLES):
1102         * util/gles_loader_autogen.h:
1103         * util/osx/OSXWindow.h:
1104         * util/osx/OSXWindow.mm:
1105         (OSXWindow::initialize):
1106         * util/ozone/OzoneWindow.h:
1107         * util/posix/crash_handler_posix.cpp:
1108         (angle::InitCrashHandler):
1109         * util/posix/test_utils_posix.cpp:
1110         (angle::GetTempDir):
1111         (angle::CreateTemporaryFileInDir):
1112         (angle::DeleteFile):
1113         (angle::LaunchProcess):
1114         (angle::NumberOfProcessors):
1115         * util/shader_utils.cpp:
1116         (CompileShaderFromFile):
1117         (CompileProgramFromFiles):
1118         * util/test_utils.cpp: Added.
1119         (angle::CreateTemporaryFile):
1120         (angle::GetFileSize):
1121         (angle::ReadEntireFileToString):
1122         (angle::ProcessHandle::ProcessHandle):
1123         (angle::ProcessHandle::~ProcessHandle):
1124         (angle::ProcessHandle::operator=):
1125         (angle::ProcessHandle::reset):
1126         * util/test_utils.h:
1127         * util/test_utils_unittest.cpp: Added.
1128         (angle::NormalizeNewLines):
1129         (angle::TEST):
1130         * util/test_utils_unittest_helper.cpp: Added.
1131         (main):
1132         * util/test_utils_unittest_helper.h: Added.
1133         * util/util.gni:
1134         * util/windows/WGLWindow.cpp:
1135         * util/windows/test_utils_win.cpp:
1136         (angle::InitCrashHandler):
1137         (angle::TerminateCrashHandler):
1138         (angle::LaunchProcess):
1139         (angle::GetTempDir):
1140         (angle::CreateTemporaryFileInDir):
1141         (angle::DeleteFile):
1142         (angle::NumberOfProcessors):
1143         * util/windows/win32/Win32Window.cpp:
1144         (Win32Window::initialize):
1145         * util/windows/win32/test_utils_win32.cpp:
1146         (angle::StabilizeCPUForBenchmarking):
1147         * util/x11/X11Window.h:
1148
1149 2019-12-02  Ross Kirsling  <ross.kirsling@sony.com>
1150
1151         Unreviewed WinCairo build fix following r252989.
1152
1153         * include/CMakeLists.txt:
1154
1155 2019-12-02  Dean Jackson  <dino@apple.com>
1156
1157         Clean up ANGLE header post-process script
1158         https://bugs.webkit.org/show_bug.cgi?id=204711
1159
1160         Reviewed by Tim Horton.
1161
1162         Since `sed` on macOS requires the in-place argument to have a zero-length string
1163         to avoid making backups, this script was attempting to pass ''. However, this was
1164         being evaluated, creating a bunch of files with \'\' suffixes. Fix this by using
1165         an array when expanding the arguments.
1166
1167         Also fix a typo where the character "3" was being printed.
1168
1169         Lastly, only print out the basename of the header file being converted.
1170
1171         * adjust-angle-include-paths.sh:
1172
1173 2019-11-30  Dean Jackson  <dino@apple.com>
1174
1175         Build ANGLE as a dynamic library
1176         https://bugs.webkit.org/show_bug.cgi?id=204708
1177         rdar://57349384
1178
1179         Reviewed by Tim Horton.
1180
1181         Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
1182         this will reduce the in-flight binary size on Apple's build systems by at least
1183         a factor of 10 (it was over 1G). Building release for x86_64-only:
1184             - Previously: libANGLE.a -- 306 MB
1185             - Now: libANGLE.dylib -- 6.7 MB
1186
1187         In order to do this, some symbols needed to be exported from the
1188         "sh" namespace (which are used in ANGLEWebKitBridge, but not when
1189         ANGLE's rendering backend is active).
1190
1191         While here, I turned on some more build options, like ARC.
1192
1193         * ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
1194         product a dylib product.
1195         * Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
1196         * Configurations/Base.xcconfig:
1197         * Configurations/DebugRelease.xcconfig:
1198         * Configurations/Version.xcconfig: Added.
1199         * Configurations/WebKitTargetConditionals.xcconfig: Added.
1200
1201         * include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
1202         sure they will be visible in the exported library.
1203         * include/GLSLANG/ShaderVars.h:
1204         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
1205         C cast so it can be annotated with __bridge.
1206         (rx::DisplayCGL::isValidNativeWindow const):
1207         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
1208         (rx::WindowSurfaceCGL::WindowSurfaceCGL):
1209         (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
1210         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
1211         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
1212
1213 2019-12-02  James Darpinian  <jdarpinian@chromium.org>
1214
1215         Update ANGLE
1216         https://bugs.webkit.org/show_bug.cgi?id=204595
1217
1218         Reviewed by Alex Christensen.
1219
1220         * ANGLE.plist: Updated commit hash.
1221         * ANGLE.xcodeproj/project.pbxproj: Changes mirroring gn changes upstream.
1222         * Compiler.cmake: Changes mirroring gn changes upstream.
1223         * GLESv2.cmake: Changes mirroring gn changes upstream.
1224         * CMakeLists.txt: Changes mirroring gn changes upstream.
1225
1226         * Many other files added/removed/changed from upstream.
1227
1228
1229 2019-11-20  ChangSeok Oh  <changseok@webkit.org>
1230
1231         [GTK] Add ANGLE backend to GTK port
1232         https://bugs.webkit.org/show_bug.cgi?id=199060
1233
1234         Reviewed by Žan Doberšek.
1235
1236         * CMakeLists.txt: When USE_ANGLE_WEBGL is enabled, necessary glesv2 entry points headers
1237           are installed in the derived source directory. And then adjust-angle-include-path.sh is applied
1238           to change include paths in the entry points header files.
1239         * GLESv2.cmake: libglesv2_entry_points_headers is newly defined, which is a gathering of
1240           entry point headers of libGLESv2.
1241         * PlatformGTK.cmake: In this file, we append gl and glx related angle code as a build target.
1242           Since we want gl context and gles context simultaneously, we remove gl prototype calls
1243           from the generated libGLESv2 library. Instead, we invoke egl and gl calls of ANGLE
1244           via their non-prototype function names.
1245         * adjust-angle-include-paths.sh: sed is slightly different in unix and linux systems.
1246           In particular, its inplace option needs to be changed for better compatibility on linux.
1247         * include/CMakeLists.txt: ANGLE_WEBGL_HEADERS is newly defined. It gathers header files of ANGLE
1248           for WebGL support.
1249
1250 2019-11-08  Dean Jackson  <dino@apple.com>
1251
1252         Add ANGLE backend for iOS device
1253         https://bugs.webkit.org/show_bug.cgi?id=202159
1254         <rdar://57000166>
1255
1256         Build fix. Don't include IOSurface.h on iOS (public SDK doesn't have it).
1257
1258         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
1259
1260 2019-11-07  Dean Jackson  <dino@apple.com>
1261
1262         Add ANGLE backend for iOS device
1263         https://bugs.webkit.org/show_bug.cgi?id=202159
1264         <rdar://57000166>
1265
1266         Reviewed by Myles Maxfield.
1267
1268         Add an OpenGLES backend over EAGL for iOS to ANGLE.
1269
1270         This is basically a copy of all the files in
1271         libANGLE/renderer/gl/cgl into libANGLE/renderer/gl/eagl, then with
1272         modifications to make it work on iOS's OpenGL ES. Most notably,
1273         some format enums and the manner in which you bind an IOSurface to
1274         a GL texture are different.
1275
1276         This introduces a few places where we have to do a compile time
1277         switch for iOS, some of which might actually be applicable to
1278         other OpenGL ES backends.
1279
1280         The biggest missing piece is support for the iOS simulator. At the moment
1281         this backend relies on an IOSurface binding as a rendering target.
1282         But the iOS Simulator does not have the required ability to have a
1283         GL ES texture backed by an IOSurface.
1284
1285         The WindowSurfaceEAGL code is incomplete, but was not necessary
1286         in order to get WebGL operational. And even if you are using ANGLE
1287         directly, you can have the client code render into a CALayer without
1288         going through the WindowSurface.
1289
1290         * ANGLE.xcodeproj/project.pbxproj:
1291         * include/EGL/eglext_angle.h:
1292         * src/common/PackedEnums.cpp:
1293         (egl_gl::EGLTextureTargetToTextureType):
1294         * src/common/platform.h:
1295         * src/gpu_info_util/SystemInfo_ios.cpp: Added.
1296         (angle::GetSystemInfo):
1297         * src/gpu_info_util/SystemInfo_macos.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.cpp.
1298         (angle::GetSystemInfo):
1299         * src/libANGLE/Caps.h:
1300         * src/libANGLE/Display.cpp:
1301         * src/libANGLE/formatutils.cpp:
1302         (gl::BuildInternalFormatInfoMap):
1303         * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
1304         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
1305         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
1306         (rx::IOSurfaceSurfaceCGL::bindTexImage):
1307         * src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
1308         * src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
1309         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
1310         * src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp: Added.
1311         (rx::ContextEAGL::ContextEAGL):
1312         * src/libANGLE/renderer/gl/eagl/ContextEAGL.h: Added.
1313         * src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Added.
1314         (rx::DeviceEAGL::DeviceEAGL):
1315         (rx::DeviceEAGL::~DeviceEAGL):
1316         (rx::DeviceEAGL::initialize):
1317         (rx::DeviceEAGL::getAttribute):
1318         (rx::DeviceEAGL::getType):
1319         (rx::DeviceEAGL::generateExtensions const):
1320         * src/libANGLE/renderer/gl/eagl/DeviceEAGL.h: Added.
1321         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Added.
1322         * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Added.
1323         (rx::FunctionsGLEAGL::FunctionsGLEAGL):
1324         (rx::DisplayEAGL::DisplayEAGL):
1325         (rx::DisplayEAGL::~DisplayEAGL):
1326         (rx::DisplayEAGL::initialize):
1327         (rx::DisplayEAGL::terminate):
1328         (rx::DisplayEAGL::createWindowSurface):
1329         (rx::DisplayEAGL::createPbufferSurface):
1330         (rx::DisplayEAGL::createPbufferFromClientBuffer):
1331         (rx::DisplayEAGL::createPixmapSurface):
1332         (rx::DisplayEAGL::createContext):
1333         (rx::DisplayEAGL::createDevice):
1334         (rx::DisplayEAGL::generateConfigs):
1335         (rx::DisplayEAGL::testDeviceLost):
1336         (rx::DisplayEAGL::restoreLostDevice):
1337         (rx::DisplayEAGL::isValidNativeWindow const):
1338         (rx::DisplayEAGL::validateClientBuffer const):
1339         (rx::DisplayEAGL::getVendorString const):
1340         (rx::DisplayEAGL::getEAGLContext const):
1341         (rx::DisplayEAGL::getEAGLPixelFormat const):
1342         (rx::DisplayEAGL::generateExtensions const):
1343         (rx::DisplayEAGL::generateCaps const):
1344         (rx::DisplayEAGL::waitClient):
1345         (rx::DisplayEAGL::waitNative):
1346         (rx::DisplayEAGL::getMaxSupportedESVersion const):
1347         (rx::DisplayEAGL::makeCurrentSurfaceless):
1348         (rx::WorkerContextEAGL::WorkerContextEAGL):
1349         (rx::WorkerContextEAGL::~WorkerContextEAGL):
1350         (rx::WorkerContextEAGL::makeCurrent):
1351         (rx::WorkerContextEAGL::unmakeCurrent):
1352         (rx::DisplayEAGL::createWorkerContext):
1353         (rx::DisplayEAGL::initializeFrontendFeatures const):
1354         (rx::DisplayEAGL::populateFeatureList):
1355         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Added.
1356         * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp.
1357         (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
1358         (rx::IOSurfaceSurfaceEAGL::~IOSurfaceSurfaceEAGL):
1359         (rx::IOSurfaceSurfaceEAGL::initialize):
1360         (rx::IOSurfaceSurfaceEAGL::makeCurrent):
1361         (rx::IOSurfaceSurfaceEAGL::unMakeCurrent):
1362         (rx::IOSurfaceSurfaceEAGL::swap):
1363         (rx::IOSurfaceSurfaceEAGL::postSubBuffer):
1364         (rx::IOSurfaceSurfaceEAGL::querySurfacePointerANGLE):
1365         (rx::IOSurfaceSurfaceEAGL::bindTexImage):
1366         (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
1367         (rx::IOSurfaceSurfaceEAGL::setSwapInterval):
1368         (rx::IOSurfaceSurfaceEAGL::getWidth const):
1369         (rx::IOSurfaceSurfaceEAGL::getHeight const):
1370         (rx::IOSurfaceSurfaceEAGL::isPostSubBufferSupported const):
1371         (rx::IOSurfaceSurfaceEAGL::getSwapBehavior const):
1372         (rx::IOSurfaceSurfaceEAGL::validateAttributes):
1373         (rx::IOSurfaceFramebuffer::IOSurfaceFramebuffer):
1374         (rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
1375         (rx::IOSurfaceSurfaceEAGL::initializeAlphaChannel):
1376         (rx::IOSurfaceSurfaceEAGL::hasEmulatedAlphaChannel const):
1377         * src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp.
1378         (rx::PbufferSurfaceEAGL::PbufferSurfaceEAGL):
1379         (rx::PbufferSurfaceEAGL::~PbufferSurfaceEAGL):
1380         (rx::PbufferSurfaceEAGL::initialize):
1381         (rx::PbufferSurfaceEAGL::makeCurrent):
1382         (rx::PbufferSurfaceEAGL::swap):
1383         (rx::PbufferSurfaceEAGL::postSubBuffer):
1384         (rx::PbufferSurfaceEAGL::querySurfacePointerANGLE):
1385         (rx::PbufferSurfaceEAGL::bindTexImage):
1386         (rx::PbufferSurfaceEAGL::releaseTexImage):
1387         (rx::PbufferSurfaceEAGL::setSwapInterval):
1388         (rx::PbufferSurfaceEAGL::getWidth const):
1389         (rx::PbufferSurfaceEAGL::getHeight const):
1390         (rx::PbufferSurfaceEAGL::isPostSubBufferSupported const):
1391         (rx::PbufferSurfaceEAGL::getSwapBehavior const):
1392         (rx::PbufferSurfaceEAGL::createDefaultFramebuffer):
1393         * src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.h: Added.
1394         * src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp: Added.
1395         (rx::RendererEAGL::RendererEAGL):
1396         (rx::RendererEAGL::~RendererEAGL):
1397         (rx::RendererEAGL::createWorkerContext):
1398         * src/libANGLE/renderer/gl/eagl/RendererEAGL.h: Added.
1399         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Added.
1400         * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm.
1401         (-[WebSwapLayer initWithSharedState:withContext:withFunctions:]):
1402         (-[WebSwapLayer display]):
1403         (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
1404         (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
1405         (rx::WindowSurfaceEAGL::initialize):
1406         (rx::WindowSurfaceEAGL::makeCurrent):
1407         (rx::WindowSurfaceEAGL::swap):
1408         (rx::WindowSurfaceEAGL::postSubBuffer):
1409         (rx::WindowSurfaceEAGL::querySurfacePointerANGLE):
1410         (rx::WindowSurfaceEAGL::bindTexImage):
1411         (rx::WindowSurfaceEAGL::releaseTexImage):
1412         (rx::WindowSurfaceEAGL::setSwapInterval):
1413         (rx::WindowSurfaceEAGL::getWidth const):
1414         (rx::WindowSurfaceEAGL::getHeight const):
1415         (rx::WindowSurfaceEAGL::isPostSubBufferSupported const):
1416         (rx::WindowSurfaceEAGL::getSwapBehavior const):
1417         (rx::WindowSurfaceEAGL::createDefaultFramebuffer):
1418         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
1419         (rx::nativegl_gl::GenerateCaps):
1420         * src/libANGLE/validationES2.cpp:
1421         (gl::ValidateFramebufferTexture2D):
1422         * src/libGLESv2/entry_points_egl_ext.cpp:
1423
1424 2019-11-06  Dean Jackson  <dino@apple.com>
1425
1426         [ANGLE] IOSurfaceSurfaceCGL has format and internalFormat flipped
1427         https://bugs.webkit.org/show_bug.cgi?id=203911
1428         <rdar://problem/56954291>
1429
1430         Reviewed by Simon Fraser.
1431
1432         Fix a typo where internalFormat and format are used in the
1433         wrong order. The table of formats also had them backwards.
1434
1435         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
1436         (rx::IOSurfaceSurfaceCGL::bindTexImage):
1437
1438 2019-10-29  Dean Jackson  <dino@apple.com>
1439
1440         [ANGLE] Put Apple platform compilation guards in a better place
1441         https://bugs.webkit.org/show_bug.cgi?id=203590
1442         <rdar://problem/56722345>
1443
1444         Reviewed by Simon Fraser.
1445
1446         Move the #define to platform.h.
1447
1448         * src/common/platform.h:
1449         * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
1450         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
1451         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
1452         * src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
1453         * src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
1454         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
1455
1456 2019-10-29  Dean Jackson  <dino@apple.com>
1457
1458         [ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
1459         https://bugs.webkit.org/show_bug.cgi?id=203522
1460         <rdar://problem/56685302>
1461
1462         Reviewed by Alex Christensen.
1463
1464         The Web Content Process blocks access to the Window Server. For that reason, we
1465         must create all CGLPixelFormats with the "offline renderer" flag, even if we're
1466         not on a dual-GPU system.
1467
1468         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Always enable kCGLPFAAllowOfflineRenderers.
1469         (rx::DisplayCGL::initialize):
1470
1471 2019-10-23  Dean Jackson  <dino@apple.com>
1472
1473         [ANGLE] Improve compile-time macOS guards and avoid ObjC if possible
1474         https://bugs.webkit.org/show_bug.cgi?id=203343
1475
1476         Reviewed by Simon Fraser.
1477
1478         Use the more official compile-time detection of Apple platforms, so that
1479         it will be easier to differentiate between macOS and iOS. Also move some
1480         .mm files to .cpp where possible.
1481
1482         * ANGLE.xcodeproj/project.pbxproj:
1483         * src/gpu_info_util/SystemInfo_mac.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.mm.
1484         (angle::GetSystemInfo):
1485         * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
1486         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
1487         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm.
1488         * src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.mm.
1489         * src/libANGLE/renderer/gl/cgl/RendererCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/RendererCGL.mm.
1490         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
1491
1492 2019-10-23  Dean Jackson  <dino@apple.com>
1493
1494         Don't try to compile .inc files in ANGLE
1495         https://bugs.webkit.org/show_bug.cgi?id=203315
1496
1497         Reviewed by Simon Fraser.
1498
1499         These are headers, not files we need to compile directly.
1500
1501         * ANGLE.xcodeproj/project.pbxproj:
1502
1503 2019-10-15  Brent Fulgham  <bfulgham@apple.com>
1504
1505         Unreviewed build fix after r251018
1506
1507
1508         * PlatformFTW.cmake: Add missing dxgi library.
1509
1510 2019-10-12  Stephan Szabo  <stephan.szabo@sony.com>
1511
1512         Regression (251018): Wincairo build broken: unresolved external symbol
1513         https://bugs.webkit.org/show_bug.cgi?id=202879
1514
1515         Reviewed by Alex Christensen.
1516
1517         * PlatformWin.cmake: Add dxgi library for CreateDXGIFactory1
1518
1519 2019-10-11  Kenneth Russell  <kbr@chromium.org>
1520
1521         USE_ANGLE=1 build broken with last ANGLE roll
1522         https://bugs.webkit.org/show_bug.cgi?id=202872
1523
1524         Add FrameCapture_mock.cpp to Xcode and CMake builds.
1525
1526         Reviewed by Alex Christensen.
1527
1528         * ANGLE.xcodeproj/project.pbxproj:
1529         * CMakeLists.txt:
1530         * GLESv2.cmake:
1531
1532 2019-10-11  Kenneth Russell  <kbr@chromium.org>
1533
1534         Roll ANGLE for ETC extensions and EGL_ANGLE_device_cgl
1535         https://bugs.webkit.org/show_bug.cgi?id=202780
1536
1537         Roll ANGLE to c5e0ac757a112a24a0118d434e652fd7b558e6a8 via new
1538         update-angle.sh script.
1539
1540         Reviewed by Alex Christensen.
1541
1542         * .gitignore:
1543         * ANGLE.plist:
1544         * ANGLE.xcodeproj/project.pbxproj:
1545         * BUILD.gn:
1546         * CMakeLists.txt:
1547         * CONTRIBUTORS:
1548         * DEPS:
1549         * GLESv2.cmake:
1550         * OWNERS:
1551         * PRESUBMIT.py:
1552         (_CheckExportValidity):
1553         (CheckChangeOnUpload):
1554         (CheckChangeOnCommit):
1555         * README.md:
1556         * android/angle_apk.gni:
1557         * build_overrides/angle.gni:
1558         * changes.diff:
1559         * doc/DevSetup.md:
1560         * dotfile_settings.gni:
1561         * extensions/ANGLE_compressed_texture_etc.txt: Added.
1562         * extensions/EGL_ANGLE_device_cgl.txt: Added.
1563         * extensions/EGL_ANGLE_feature_control.txt:
1564         * extensions/EGL_ANGLE_platform_angle_d3d11on12.txt: Added.
1565         * extensions/EGL_ANGLE_platform_angle_device_type_swiftshader.txt: Added.
1566         * extensions/EGL_ANGLE_platform_angle_metal.txt: Added.
1567         * gni/angle.gni:
1568         * include/EGL/eglext_angle.h:
1569         * include/platform/Feature.h:
1570         (angle::Feature::Feature):
1571         * include/platform/FeaturesD3D.h:
1572         * include/platform/FeaturesGL.h:
1573         * include/platform/FeaturesVk.h:
1574         * include/platform/FrontendFeatures.h:
1575         * samples/WindowTest/WindowTest.cpp:
1576         * samples/gles1/DrawTexture.cpp:
1577         * samples/multi_texture/MultiTexture.cpp:
1578         * samples/multiple_draw_buffers/MultipleDrawBuffers.cpp:
1579         * samples/particle_system/ParticleSystem.cpp:
1580         * samples/sample_util/SampleApplication.cpp:
1581         (SampleApplication::SampleApplication):
1582         * samples/sample_util/SampleApplication.h:
1583         * scripts/code_generation_hashes/ANGLE_format.json:
1584         * scripts/code_generation_hashes/ANGLE_load_functions_table.json:
1585         * scripts/code_generation_hashes/D3D11_format.json:
1586         * scripts/code_generation_hashes/DXGI_format.json:
1587         * scripts/code_generation_hashes/GL_EGL_WGL_loader.json:
1588         * scripts/code_generation_hashes/GL_EGL_entry_points.json:
1589         * scripts/code_generation_hashes/OpenGL_dispatch_table.json:
1590         * scripts/code_generation_hashes/Static_builtins.json:
1591         * scripts/code_generation_hashes/Vulkan_format.json:
1592         * scripts/code_generation_hashes/Vulkan_internal_shader_programs.json:
1593         * scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json:
1594         * scripts/code_generation_hashes/proc_table.json:
1595         * scripts/export_targets.py:
1596         (has_all_includes):
1597         * scripts/generate_entry_points.py:
1598         (get_resource_id_types):
1599         (format_resource_id_types):
1600         (write_capture_helper_header):
1601         (get_resource_id_type_from_param_type):
1602         (format_param_type_to_resource_id_type_case):
1603         (format_param_type_resource_id_cases):
1604         (format_resource_id_type_name_case):
1605         (write_capture_helper_source):
1606         * scripts/generate_vulkan_layers_json.py:
1607         (main):
1608         * scripts/registry_xml.py:
1609         * src/common/PackedEnums.cpp:
1610         (gl::operator<<):
1611         * src/common/PackedEnums.h:
1612         (angle::EnumSize<E>):
1613         (gl::FromGLenum<VertexAttribType>):
1614         (gl::ToGLenum):
1615         (gl::ValueEquals):
1616         (gl::operator==):
1617         (gl::operator!=):
1618         * src/common/android_util.cpp:
1619         (angle::android::NativePixelFormatToGLInternalFormat):
1620         * src/common/angleutils.h:
1621         * src/common/debug.h:
1622         * src/common/platform.h:
1623         * src/common/system_utils_winuwp.cpp: Added.
1624         (angle::SetEnvironmentVar):
1625         (angle::GetEnvironmentVar):
1626         (angle::GetSharedLibraryExtension):
1627         (angle::GetPathSeparator):
1628         (angle::GetCurrentTime):
1629         (angle::UwpLibrary::UwpLibrary):
1630         (angle::OpenSharedLibrary):
1631         (angle::IsDebuggerAttached):
1632         (angle::BreakDebugger):
1633         * src/common/tls.cpp:
1634         (CreateTLSIndex):
1635         (DestroyTLSIndex):
1636         (SetTLSValue):
1637         (GetTLSValue):
1638         * src/common/tls.h:
1639         * src/common/utilities.cpp:
1640         (gl::StripLastArrayIndex):
1641         * src/common/utilities.h:
1642         * src/compiler.gni:
1643         * src/compiler/translator/Compiler.cpp:
1644         (sh::TCompiler::compileTreeImpl):
1645         * src/compiler/translator/ImmutableString_ESSL_autogen.cpp:
1646         * src/compiler/translator/ImmutableString_autogen.cpp:
1647         * src/compiler/translator/IntermNode.h:
1648         (sh::TIntermPreprocessorDirective::getDirective const): Deleted.
1649         (sh::TIntermPreprocessorDirective::getCommand const): Deleted.
1650         * src/compiler/translator/ParseContext.cpp:
1651         (sh::TParseContext::TParseContext):
1652         (sh::TParseContext::checkIsValidArraySize):
1653         (sh::TParseContext::parseFunctionDeclarator):
1654         * src/compiler/translator/ParseContext.h:
1655         (sh::TParseContext::getOutputType const):
1656         * src/compiler/translator/ShaderVars.cpp:
1657         (sh::ShaderVariable::operator=):
1658         * src/compiler/translator/SymbolTable.cpp:
1659         (sh::TSymbolTable::setGlInArraySize):
1660         (sh::TSymbolTable::gl_FragData const):
1661         (sh::TSymbolTable::gl_SecondaryFragDataEXT const):
1662         (sh::SymbolRule::get const):
1663         (sh::FindMangledBuiltIn):
1664         (sh::UnmangledEntry::matches const):
1665         * src/compiler/translator/SymbolTable.h:
1666         (sh::SymbolRule::SymbolRule):
1667         (sh::SymbolRule::Get):
1668         (sh::UnmangledEntry::UnmangledEntry):
1669         (sh::SymbolEntry::SymbolEntry): Deleted.
1670         * src/compiler/translator/SymbolTable_ESSL_autogen.cpp:
1671         (sh::BuiltInVariable::angle_BaseInstance):
1672         (sh::BuiltInVariable::angle_BaseVertex):
1673         (sh::BuiltInVariable::gl_BaseInstance):
1674         (sh::BuiltInVariable::gl_BaseVertex):
1675         (sh::BuiltInVariable::gl_DrawID):
1676         (sh::BuiltInVariable::gl_FragColor):
1677         (sh::BuiltInVariable::gl_FragCoord):
1678         (sh::BuiltInVariable::gl_FragDepth):
1679         (sh::BuiltInVariable::gl_FrontFacing):
1680         (sh::BuiltInVariable::gl_GlobalInvocationID):
1681         (sh::BuiltInVariable::gl_InstanceID):
1682         (sh::BuiltInVariable::gl_InstanceIndex):
1683         (sh::BuiltInVariable::gl_InvocationID):
1684         (sh::BuiltInVariable::gl_LastFragColor):
1685         (sh::BuiltInVariable::gl_LastFragColorARM):
1686         (sh::BuiltInVariable::gl_Layer):
1687         (sh::BuiltInVariable::gl_LayerGS):
1688         (sh::BuiltInVariable::gl_LayerVS):
1689         (sh::BuiltInVariable::gl_LocalInvocationID):
1690         (sh::BuiltInVariable::gl_LocalInvocationIndex):
1691         (sh::BuiltInVariable::gl_NumWorkGroups):
1692         (sh::BuiltInVariable::gl_PointCoord):
1693         (sh::BuiltInVariable::gl_PointSize):
1694         (sh::BuiltInVariable::gl_Position):
1695         (sh::BuiltInVariable::gl_PrimitiveID):
1696         (sh::BuiltInVariable::gl_PrimitiveIDGS):
1697         (sh::BuiltInVariable::gl_PrimitiveIDIn):
1698         (sh::BuiltInVariable::gl_SecondaryFragColorEXT):
1699         (sh::BuiltInVariable::gl_VertexID):
1700         (sh::BuiltInVariable::gl_VertexIndex):
1701         (sh::BuiltInVariable::gl_ViewID_OVR):
1702         (sh::BuiltInVariable::gl_ViewportIndex):
1703         (sh::BuiltInVariable::gl_WorkGroupID):
1704         (sh::BuiltInVariable::gl_WorkGroupSize):
1705         (sh::TSymbolTable::initializeBuiltInVariables):
1706         (sh::TSymbolTable::findBuiltIn const):
1707         (sh::TSymbolTable::isUnmangledBuiltInName const):
1708         (sh::TSymbolTable::getSymbol const): Deleted.
1709         (sh::TSymbolTable::getUnmangled const): Deleted.
1710         (sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
1711         * src/compiler/translator/SymbolTable_autogen.cpp:
1712         (sh::BuiltInVariable::angle_BaseInstance):
1713         (sh::BuiltInVariable::angle_BaseVertex):
1714         (sh::BuiltInVariable::gl_BaseInstance):
1715         (sh::BuiltInVariable::gl_BaseVertex):
1716         (sh::BuiltInVariable::gl_DrawID):
1717         (sh::BuiltInVariable::gl_FragColor):
1718         (sh::BuiltInVariable::gl_FragCoord):
1719         (sh::BuiltInVariable::gl_FragDepth):
1720         (sh::BuiltInVariable::gl_FrontFacing):
1721         (sh::BuiltInVariable::gl_GlobalInvocationID):
1722         (sh::BuiltInVariable::gl_InstanceID):
1723         (sh::BuiltInVariable::gl_InstanceIndex):
1724         (sh::BuiltInVariable::gl_InvocationID):
1725         (sh::BuiltInVariable::gl_LastFragColor):
1726         (sh::BuiltInVariable::gl_LastFragColorARM):
1727         (sh::BuiltInVariable::gl_Layer):
1728         (sh::BuiltInVariable::gl_LayerGS):
1729         (sh::BuiltInVariable::gl_LayerVS):
1730         (sh::BuiltInVariable::gl_LocalInvocationID):
1731         (sh::BuiltInVariable::gl_LocalInvocationIndex):
1732         (sh::BuiltInVariable::gl_NumWorkGroups):
1733         (sh::BuiltInVariable::gl_PointCoord):
1734         (sh::BuiltInVariable::gl_PointSize):
1735         (sh::BuiltInVariable::gl_Position):
1736         (sh::BuiltInVariable::gl_PrimitiveID):
1737         (sh::BuiltInVariable::gl_PrimitiveIDGS):
1738         (sh::BuiltInVariable::gl_PrimitiveIDIn):
1739         (sh::BuiltInVariable::gl_SecondaryFragColorEXT):
1740         (sh::BuiltInVariable::gl_VertexID):
1741         (sh::BuiltInVariable::gl_VertexIndex):
1742         (sh::BuiltInVariable::gl_ViewID_OVR):
1743         (sh::BuiltInVariable::gl_ViewportIndex):
1744         (sh::BuiltInVariable::gl_WorkGroupID):
1745         (sh::BuiltInVariable::gl_WorkGroupSize):
1746         (sh::TSymbolTable::initializeBuiltInVariables):
1747         (sh::TSymbolTable::findBuiltIn const):
1748         (sh::TSymbolTable::isUnmangledBuiltInName const):
1749         (sh::TSymbolTable::getSymbol const): Deleted.
1750         (sh::TSymbolTable::getUnmangled const): Deleted.
1751         (sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
1752         * src/compiler/translator/SymbolTable_autogen.h:
1753         * src/compiler/translator/TranslatorVulkan.cpp:
1754         (sh::TranslatorVulkan::translate):
1755         * src/compiler/translator/gen_builtin_symbols.py:
1756         (get_shader_version_for_level):
1757         (GroupedList.__init__):
1758         (GroupedList.add_entry):
1759         (GroupedList.format_rule):
1760         (GroupedList):
1761         (GroupedList.format_rules):
1762         (GroupedList.get_rules):
1763         (GroupedList.get_names):
1764         (GroupedList.get_offsets):
1765         (GroupedList.update_arrays):
1766         (GroupedList.update_arrays.add_rule):
1767         (UnmangledGroupedList.add_entry):
1768         (UnmangledGroupedList.get_array):
1769         (define_constexpr_variable):
1770         (process_single_function_group):
1771         (process_function_group):
1772         (process_single_variable_group):
1773         (GroupedList.add_obj): Deleted.
1774         (GroupedList.get_array): Deleted.
1775         (UnmangledGroupedList.add_obj): Deleted.
1776         * src/feature_support_util/feature_support_util.cpp:
1777         * src/gpu_info_util/SystemInfo_win.cpp:
1778         (angle::GetSystemInfo):
1779         * src/image_util/loadimage.cpp:
1780         (angle::LoadD24S8ToD32F):
1781         (angle::LoadD32ToD32FX32):
1782         (angle::LoadD32ToD32F):
1783         * src/image_util/loadimage.h:
1784         * src/libANGLE/Buffer.cpp:
1785         (gl::Buffer::Buffer):
1786         * src/libANGLE/Buffer.h:
1787         * src/libANGLE/Caps.cpp:
1788         (gl::DetermineHalfFloatTextureFilteringSupport):
1789         (gl::DetermineFloatTextureFilteringSupport):
1790         (gl::Extensions::setTextureExtensionSupport):
1791         (gl::GetExtensionInfoMap):
1792         (egl::DisplayExtensions::getStrings const):
1793         (egl::DeviceExtensions::getStrings const):
1794         (egl::ClientExtensions::getStrings const):
1795         * src/libANGLE/Caps.h:
1796         * src/libANGLE/Constants.h:
1797         * src/libANGLE/Context.cpp:
1798         (gl::Context::Context):
1799         (gl::Context::initialize):
1800         (gl::Context::onDestroy):
1801         (gl::Context::bindImageTexture):
1802         (gl::Context::getQueryiv):
1803         (gl::Context::detachTexture):
1804         (gl::Context::generateSupportedExtensions const):
1805         (gl::Context::initCaps):
1806         (gl::Context::onSubjectStateChange):
1807         (gl::StateCache::updateActiveAttribsMask):
1808         (gl::StateCache::updateVertexAttribTypesValidation):
1809         * src/libANGLE/Context.h:
1810         * src/libANGLE/Device.cpp:
1811         (egl::Device::getAttribute):
1812         (egl::Device::getDevice): Deleted.
1813         * src/libANGLE/Device.h:
1814         * src/libANGLE/Display.cpp:
1815         (egl::Display::createContext):
1816         (egl::GenerateClientExtensions):
1817         (egl::Display::isValidNativeDisplay):
1818         (egl::Display::initializeFrontendFeatures):
1819         (egl::Display::queryStringi):
1820         * src/libANGLE/ErrorStrings.h:
1821         * src/libANGLE/Fence.h:
1822         * src/libANGLE/FrameCapture.cpp:
1823         (angle::ParamCapture::ParamCapture):
1824         (angle::ParamCapture::operator=):
1825         (angle::ParamBuffer::ParamBuffer):
1826         (angle::ParamBuffer::operator=):
1827         (angle::ParamBuffer::getParam):
1828         (angle::ParamBuffer::getParam const):
1829         (angle::ParamBuffer::addParam):
1830         (angle::ParamBuffer::addReturnValue):
1831         (angle::ParamBuffer::getClientArrayPointerParameter):
1832         (angle::CallCapture::CallCapture):
1833         (angle::CallCapture::operator=):
1834         (angle::CallCapture::name const):
1835         (angle::ReplayContext::ReplayContext):
1836         (angle::ReplayContext::~ReplayContext):
1837         (angle::FrameCapture::FrameCapture):
1838         (angle::FrameCapture::maybeCaptureClientData):
1839         (angle::FrameCapture::captureCall):
1840         (angle::FrameCapture::captureUpdateResourceIDs):
1841         (angle::FrameCapture::maybeUpdateResourceIDs):
1842         (angle::FrameCapture::captureClientArraySnapshot):
1843         (angle::FrameCapture::onEndFrame):
1844         (angle::DataCounters::getAndIncrement):
1845         (angle::FrameCapture::reset):
1846         (angle::CaptureGenHandlesImpl):
1847         (angle::WriteParamValueToStream<ParamType::TBufferID>):
1848         (angle::WriteParamValueToStream<ParamType::TFenceNVID>):
1849         (angle::WriteParamValueToStream<ParamType::TFramebufferID>):
1850         (angle::WriteParamValueToStream<ParamType::TMemoryObjectID>):
1851         (angle::WriteParamValueToStream<ParamType::TPathID>):
1852         (angle::WriteParamValueToStream<ParamType::TProgramPipelineID>):
1853         (angle::WriteParamValueToStream<ParamType::TQueryID>):
1854         (angle::WriteParamValueToStream<ParamType::TRenderbufferID>):
1855         (angle::WriteParamValueToStream<ParamType::TSamplerID>):
1856         (angle::WriteParamValueToStream<ParamType::TSemaphoreID>):
1857         (angle::WriteParamValueToStream<ParamType::TShaderProgramID>):
1858         (angle::WriteParamValueToStream<ParamType::TTextureID>):
1859         (angle::WriteParamValueToStream<ParamType::TTransformFeedbackID>):
1860         (angle::WriteParamValueToStream<ParamType::TVertexArrayID>):
1861         (angle::CallCapture::~CallCapture): Deleted.
1862         (angle::ParamBuffer::~ParamBuffer): Deleted.
1863         (angle::ParamCapture::~ParamCapture): Deleted.
1864         (angle::FrameCapture::~FrameCapture): Deleted.
1865         (angle::FrameCapture::anyClientArray const): Deleted.
1866         (angle::FrameCapture::saveCapturedFrameAsCpp): Deleted.
1867         (angle::FrameCapture::getAndIncrementCounter): Deleted.
1868         (angle::FrameCapture::writeStringPointerParamReplay): Deleted.
1869         (angle::FrameCapture::writeRenderbufferIDPointerParamReplay): Deleted.
1870         (angle::FrameCapture::writeBinaryParamReplay): Deleted.
1871         (angle::FrameCapture::writeCallReplay): Deleted.
1872         * src/libANGLE/FrameCapture.h:
1873         (angle::CaptureGenHandles):
1874         * src/libANGLE/FrameCapture_mock.cpp: Added.
1875         (angle::CallCapture::~CallCapture):
1876         (angle::ParamBuffer::~ParamBuffer):
1877         (angle::ParamCapture::~ParamCapture):
1878         (angle::FrameCapture::FrameCapture):
1879         (angle::FrameCapture::~FrameCapture):
1880         (angle::FrameCapture::onEndFrame):
1881         (angle::FrameCapture::replay):
1882         * src/libANGLE/Framebuffer.cpp:
1883         (gl::Framebuffer::formsRenderingFeedbackLoopWith const):
1884         (gl::Framebuffer::formsCopyingFeedbackLoopWith const):
1885         * src/libANGLE/Framebuffer.h:
1886         * src/libANGLE/FramebufferAttachment.cpp:
1887         (gl::FramebufferAttachment::getRedSize const):
1888         (gl::FramebufferAttachment::getGreenSize const):
1889         (gl::FramebufferAttachment::getBlueSize const):
1890         (gl::FramebufferAttachment::getAlphaSize const):
1891         (gl::FramebufferAttachment::getDepthSize const):
1892         (gl::FramebufferAttachment::getStencilSize const):
1893         * src/libANGLE/FramebufferAttachment.h:
1894         * src/libANGLE/GLES1State.cpp:
1895         (gl::GLES1State::getActiveAttributesMask const):
1896         * src/libANGLE/GLES1State.h:
1897         * src/libANGLE/ImageIndex.cpp:
1898         * src/libANGLE/ImageIndex.h:
1899         * src/libANGLE/MemoryObject.cpp:
1900         (gl::MemoryObject::MemoryObject):
1901         * src/libANGLE/MemoryObject.h:
1902         * src/libANGLE/MemoryProgramCache.cpp:
1903         * src/libANGLE/Program.cpp:
1904         (gl::ProgramBindings::bindLocation):
1905         (gl::ProgramBindings::getBindingByName const):
1906         (gl::ProgramBindings::getBinding const):
1907         (gl::ProgramBindings::begin const):
1908         (gl::ProgramBindings::end const):
1909         (gl::ProgramAliasedBindings::ProgramAliasedBindings):
1910         (gl::ProgramAliasedBindings::~ProgramAliasedBindings):
1911         (gl::ProgramAliasedBindings::bindLocation):
1912         (gl::ProgramAliasedBindings::getBindingByName const):
1913         (gl::ProgramAliasedBindings::getBinding const):
1914         (gl::ProgramAliasedBindings::begin const):
1915         (gl::ProgramAliasedBindings::end const):
1916         (gl::ProgramState::getAttributeLocation const):
1917         (gl::ProgramState::getFirstAttachedShaderStageType const):
1918         (gl::ProgramState::getLastAttachedShaderStageType const):
1919         (gl::Program::getFragmentInputBindingInfo const):
1920         (gl::Program::link):
1921         (gl::ProgramState::updateProgramInterfaceInputs):
1922         (gl::ProgramState::updateProgramInterfaceOutputs):
1923         (gl::Program::unlink):
1924         (gl::Program::getActiveAttribute const):
1925         (gl::Program::getActiveAttributeCount const):
1926         (gl::Program::getActiveAttributeMaxLength const):
1927         (gl::Program::getAttributes const):
1928         (gl::Program::getInputResource const):
1929         (gl::Program::getInputResourceIndex const):
1930         (gl::Program::getResourceMaxNameSize const):
1931         (gl::Program::getInputResourceMaxNameSize const):
1932         (gl::Program::getOutputResourceMaxNameSize const):
1933         (gl::Program::getResourceLocation const):
1934         (gl::Program::getInputResourceLocation const):
1935         (gl::Program::getOutputResourceLocation const):
1936         (gl::Program::getOutputResourceIndex const):
1937         (gl::Program::getResourceName const):
1938         (gl::Program::getInputResourceName const):
1939         (gl::Program::getOutputResourceName const):
1940         (gl::Program::getUniformResourceName const):
1941         (gl::Program::getBufferVariableResourceName const):
1942         (gl::Program::getOutputResource const):
1943         (gl::Program::getUniformLocationBindings const):
1944         (gl::Program::linkUniforms):
1945         (gl::Program::linkAttributes):
1946         (gl::Program::linkValidateGlobalNames const):
1947         (gl::Program::getMergedVaryings const):
1948         (gl::Program::linkOutputVariables):
1949         (gl::Program::serialize const):
1950         (gl::Program::deserialize):
1951         * src/libANGLE/Program.h:
1952         (gl::ProgramVaryingRef::get const):
1953         * src/libANGLE/ProgramLinkedResources.cpp:
1954         (gl::UniformLinker::link):
1955         (gl::UniformLinker::indexUniforms):
1956         (gl::UniformLinker::gatherUniformLocationsAndCheckConflicts):
1957         * src/libANGLE/ProgramLinkedResources.h:
1958         * src/libANGLE/ProgramPipeline.cpp:
1959         (gl::ProgramPipeline::ProgramPipeline):
1960         * src/libANGLE/ProgramPipeline.h:
1961         * src/libANGLE/Query.cpp:
1962         (gl::Query::Query):
1963         * src/libANGLE/Query.h:
1964         * src/libANGLE/RefCountObject.h:
1965         (gl::RefCountObject::RefCountObject):
1966         (gl::RefCountObject::id const):
1967         (gl::BindingPointer::id const):
1968         * src/libANGLE/Renderbuffer.cpp:
1969         (gl::Renderbuffer::Renderbuffer):
1970         (gl::Renderbuffer::getId const):
1971         * src/libANGLE/Renderbuffer.h:
1972         * src/libANGLE/Sampler.cpp:
1973         (gl::Sampler::Sampler):
1974         * src/libANGLE/Sampler.h:
1975         * src/libANGLE/Semaphore.cpp:
1976         (gl::Semaphore::Semaphore):
1977         * src/libANGLE/Semaphore.h:
1978         * src/libANGLE/Shader.cpp:
1979         (gl::Shader::resolveCompile):
1980         (gl::Shader::getTransformFeedbackVaryingMappedName):
1981         * src/libANGLE/State.cpp:
1982         (gl::State::getSamplerTextureId const):
1983         (gl::State::detachTexture):
1984         (gl::State::detachSampler):
1985         (gl::State::detachRenderbuffer):
1986         (gl::State::removeTransformFeedbackBinding):
1987         (gl::State::getActiveQueryId const):
1988         (gl::State::detachBuffer):
1989         (gl::State::getIntegerv):
1990         (gl::State::getIntegeri_v):
1991         (gl::State::syncImages):
1992         (gl::State::onImageStateChange):
1993         * src/libANGLE/State.h:
1994         (gl::State::getSamplerId const):
1995         (gl::State::getRenderbufferId const):
1996         * src/libANGLE/Texture.cpp:
1997         (gl::Texture::Texture):
1998         (gl::Texture::setStorage):
1999         (gl::Texture::getId const):
2000         * src/libANGLE/Texture.h:
2001         * src/libANGLE/TransformFeedback.cpp:
2002         (gl::TransformFeedback::TransformFeedback):
2003         (gl::TransformFeedback::detachBuffer):
2004         * src/libANGLE/TransformFeedback.h:
2005         * src/libANGLE/VaryingPacking.cpp:
2006         (gl::VaryingPacking::collectAndPackUserVaryings):
2007         (gl::VaryingPacking::packUserVaryings):
2008         * src/libANGLE/VertexArray.cpp:
2009         (gl::VertexArray::detachBuffer):
2010         (gl::VertexArray::bindVertexBufferImpl):
2011         * src/libANGLE/VertexArray.h:
2012         * src/libANGLE/capture_gles_2_0_params.cpp:
2013         (gl::CaptureDeleteBuffers_buffersPacked):
2014         (gl::CaptureDeleteFramebuffers_framebuffersPacked):
2015         (gl::CaptureDeleteTextures_texturesPacked):
2016         (gl::CaptureGenBuffers_buffersPacked):
2017         (gl::CaptureGenFramebuffers_framebuffersPacked):
2018         (gl::CaptureGenRenderbuffers_renderbuffersPacked):
2019         (gl::CaptureGenTextures_texturesPacked):
2020         (gl::CaptureShaderSource_string):
2021         * src/libANGLE/capture_gles_3_0_params.cpp:
2022         (gl::CaptureDeleteQueries_idsPacked):
2023         (gl::CaptureDeleteSamplers_samplersPacked):
2024         (gl::CaptureDeleteTransformFeedbacks_idsPacked):
2025         (gl::CaptureDeleteVertexArrays_arraysPacked):
2026         (gl::CaptureGenQueries_idsPacked):
2027         (gl::CaptureGenSamplers_samplersPacked):
2028         (gl::CaptureGenTransformFeedbacks_idsPacked):
2029         (gl::CaptureGenVertexArrays_arraysPacked):
2030         * src/libANGLE/capture_gles_3_1_params.cpp:
2031         (gl::CaptureDeleteProgramPipelines_pipelinesPacked):
2032         (gl::CaptureGenProgramPipelines_pipelinesPacked):
2033         * src/libANGLE/capture_gles_ext_params.cpp:
2034         (gl::CaptureDeleteQueriesEXT_idsPacked):
2035         (gl::CaptureGenQueriesEXT_idsPacked):
2036         * src/libANGLE/features.h:
2037         * src/libANGLE/formatutils.cpp:
2038         (gl::UnsizedHalfFloatOESRGBATextureAttachmentSupport):
2039         (gl::BuildInternalFormatInfoMap):
2040         (gl::InternalFormat::computeDepthPitch const):
2041         (gl::GetVertexFormatID):
2042         (gl::GetVertexFormatFromID):
2043         (gl::GetVertexFormatSize):
2044         * src/libANGLE/frame_capture_utils_autogen.cpp:
2045         (angle::GetResourceIDTypeFromParamType):
2046         (angle::GetResourceIDTypeName):
2047         * src/libANGLE/frame_capture_utils_autogen.h:
2048         * src/libANGLE/queryutils.cpp:
2049         (gl::GetBufferVariableResourceProperty):
2050         (gl::QueryProgramResourceLocation):
2051         (gl::QueryProgramResourceiv):
2052         (egl::QueryContextAttrib):
2053         * src/libANGLE/renderer/DeviceImpl.h:
2054         * src/libANGLE/renderer/Format.h:
2055         (angle::Format::isVertexTypeHalfFloat const):
2056         * src/libANGLE/renderer/FormatID_autogen.h:
2057         * src/libANGLE/renderer/Format_table_autogen.cpp:
2058         (angle::Format::InternalFormatToID):
2059         * src/libANGLE/renderer/angle_format.py:
2060         (gl_format_channels):
2061         (get_vertex_copy_function):
2062         * src/libANGLE/renderer/angle_format_map.json:
2063         * src/libANGLE/renderer/copyvertex.h:
2064         * src/libANGLE/renderer/copyvertex.inc.h:
2065         (rx::CopyTo32FVertexData):
2066         (rx::CopyXYZ10ToXYZW32FVertexData):
2067         (rx::CopyW2XYZ10ToXYZW32FVertexData):
2068         * src/libANGLE/renderer/d3d/DeviceD3D.cpp:
2069         (rx::DeviceD3D::getAttribute):
2070         (rx::DeviceD3D::getDevice): Deleted.
2071         * src/libANGLE/renderer/d3d/DeviceD3D.h:
2072         * src/libANGLE/renderer/d3d/HLSLCompiler.cpp:
2073         (rx::HLSLCompiler::ensureInitialized):
2074         (rx::HLSLCompiler::compileToBinary):
2075         * src/libANGLE/renderer/d3d/ProgramD3D.cpp:
2076         (rx::ProgramD3D::getVertexExecutableForCachedInputLayout):
2077         * src/libANGLE/renderer/d3d/RendererD3D.cpp:
2078         (rx::DefaultGLErrorCode):
2079         * src/libANGLE/renderer/d3d/ShaderD3D.cpp:
2080         (rx::ShaderD3D::compile):
2081         * src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp:
2082         (rx::Buffer11::getConstantBufferRange):
2083         (rx::Buffer11::NativeStorage::FillBufferDesc):
2084         * src/libANGLE/renderer/d3d/d3d11/Context11.cpp:
2085         (rx::Context11::drawArrays):
2086         (rx::Context11::drawArraysInstanced):
2087         (rx::Context11::drawArraysInstancedBaseInstance):
2088         (rx::Context11::drawArraysIndirect):
2089         * src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp:
2090         (rx::DebugAnnotator11::initialize):
2091         * src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp:
2092         (rx::Renderer11::Renderer11):
2093         (rx::Renderer11::initialize):
2094         (rx::Renderer11::callD3D11On12CreateDevice):
2095         (rx::Renderer11::initializeD3DDevice):
2096         (rx::Renderer11::generateDisplayExtensions const):
2097         (rx::Renderer11::isValidNativeWindow const):
2098         (rx::Renderer11::createNativeWindow const):
2099         (rx::Renderer11::drawArrays):
2100         (rx::Renderer11::release):
2101         (rx::Renderer11::getShareHandleSupport const):
2102         (rx::Renderer11::copyImageInternal):
2103         * src/libANGLE/renderer/d3d/d3d11/Renderer11.h:
2104         * src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp:
2105         (rx::TextureStorage11::getSRVForImage):
2106         (rx::TextureStorage11::getUAVForImage):
2107         * src/libANGLE/renderer/d3d/d3d11/Trim11.cpp:
2108         (rx::Trim11::trim):
2109         (rx::Trim11::registerForRendererTrimRequest):
2110         (rx::Trim11::unregisterForRendererTrimRequest):
2111         * src/libANGLE/renderer/d3d/d3d11/Trim11.h:
2112         * src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp:
2113         (rx::RoHelper::SupportedWindowsRelease):
2114         * src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp:
2115         (rx::d3d11_gl::GenerateCaps):
2116         (rx::d3d11::InitializeFeatures):
2117         * src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h:
2118         * src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp:
2119         (rx::NativeWindow11WinRT::createSwapChain):
2120         * src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h:
2121         * src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h:
2122         * src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp:
2123         (rx::d3d9::InitializeFeatures):
2124         * src/libANGLE/renderer/gen_angle_format_table.py:
2125         (ceil_int):
2126         (get_channel_struct):
2127         (get_mip_generation_function):
2128         * src/libANGLE/renderer/gl/BlitGL.cpp:
2129         (rx::BlitGL::copyImageToLUMAWorkaroundTexture):
2130         (rx::BlitGL::copySubImageToLUMAWorkaroundTexture):
2131         (rx::BlitGL::blitColorBufferWithShader):
2132         (rx::BlitGL::copySubTexture):
2133         (rx::BlitGL::copySubTextureCPUReadback):
2134         (rx::BlitGL::copyTexSubImage):
2135         (rx::BlitGL::clearRenderableTexture):
2136         (rx::BlitGL::clearRenderbuffer):
2137         (rx::BlitGL::clearFramebuffer):
2138         (rx::BlitGL::clearRenderableTextureAlphaToOne):
2139         (rx::BlitGL::initializeResources):
2140         (rx::BlitGL::orphanScratchTextures):
2141         (rx::BlitGL::setScratchTextureParameter):
2142         (rx::BlitGL::getBlitProgram):
2143         (rx::BlitGL::getBlitProgramType): Deleted.
2144         * src/libANGLE/renderer/gl/BlitGL.h:
2145         * src/libANGLE/renderer/gl/ContextGL.cpp:
2146         (rx::ContextGL::createRenderbuffer):
2147         (rx::ContextGL::setDrawArraysState):
2148         (rx::ContextGL::setDrawElementsState):
2149         (rx::ContextGL::drawArrays):
2150         (rx::ContextGL::updateAttributesForBaseInstance):
2151         (rx::ContextGL::resetUpdatedAttributes):
2152         (rx::ContextGL::drawArraysInstancedBaseInstance):
2153         (rx::ContextGL::drawElements):
2154         (rx::ContextGL::drawElementsInstancedBaseVertexBaseInstance):
2155         (rx::ContextGL::validateState const):
2156         * src/libANGLE/renderer/gl/ContextGL.h:
2157         * src/libANGLE/renderer/gl/ProgramGL.cpp:
2158         (rx::ProgramGL::link):
2159         * src/libANGLE/renderer/gl/RenderbufferGL.cpp:
2160         (rx::RenderbufferGL::RenderbufferGL):
2161         (rx::RenderbufferGL::~RenderbufferGL):
2162         (rx::RenderbufferGL::onDestroy):
2163         (rx::RenderbufferGL::setStorage):
2164         (rx::RenderbufferGL::setStorageMultisample):
2165         (rx::RenderbufferGL::initializeContents):
2166         * src/libANGLE/renderer/gl/RenderbufferGL.h:
2167         * src/libANGLE/renderer/gl/ShaderGL.cpp:
2168         (rx::ShaderGL::compile):
2169         * src/libANGLE/renderer/gl/StateManagerGL.cpp:
2170         (rx::StateManagerGL::bindBufferBase):
2171         (rx::StateManagerGL::bindBufferRange):
2172         (rx::StateManagerGL::validateState const):
2173         * src/libANGLE/renderer/gl/StateManagerGL.h:
2174         * src/libANGLE/renderer/gl/SurfaceGL.cpp:
2175         (rx::SurfaceGL::initializeContents):
2176         * src/libANGLE/renderer/gl/TextureGL.cpp:
2177         (rx::TextureGL::setImageHelper):
2178         (rx::TextureGL::setSubImage):
2179         (rx::TextureGL::setCompressedImage):
2180         (rx::TextureGL::setCompressedSubImage):
2181         (rx::TextureGL::copyImage):
2182         (rx::TextureGL::copySubTextureHelper):
2183         (rx::TextureGL::setStorage):
2184         (rx::TextureGL::setImageExternal):
2185         (rx::TextureGL::setStorageMultisample):
2186         (rx::TextureGL::setStorageExternalMemory):
2187         (rx::TextureGL::setEGLImageTarget):
2188         (rx::TextureGL::setLevelInfo):
2189         (rx::TextureGL::initializeContents):
2190         * src/libANGLE/renderer/gl/VertexArrayGL.cpp:
2191         (rx::VertexArrayGL::streamAttributes const):
2192         (rx::VertexArrayGL::validateState const):
2193         * src/libANGLE/renderer/gl/VertexArrayGL.h:
2194         * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp: Added.
2195         (rx::DeviceCGL::DeviceCGL):
2196         (rx::DeviceCGL::~DeviceCGL):
2197         (rx::DeviceCGL::initialize):
2198         (rx::DeviceCGL::getAttribute):
2199         (rx::DeviceCGL::getType):
2200         (rx::DeviceCGL::generateExtensions const):
2201         * src/libANGLE/renderer/gl/cgl/DeviceCGL.h: Added.
2202         * src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
2203         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
2204         (rx::DisplayCGL::createDevice):
2205         (rx::DisplayCGL::getCGLPixelFormat const):
2206         (rx::DisplayCGL::generateExtensions const):
2207         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
2208         (rx::IOSurfaceSurfaceCGL::initializeAlphaChannel):
2209         * src/libANGLE/renderer/gl/egl/DisplayEGL.cpp:
2210         (rx::DisplayEGL::generateExtensions const):
2211         * src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:
2212         (rx::DisplayGLX::makeCurrent):
2213         * src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp:
2214         (rx::WindowSurfaceGLX::initialize):
2215         * src/libANGLE/renderer/gl/renderergl_utils.cpp:
2216         (rx::nativegl_gl::GenerateCaps):
2217         (rx::nativegl_gl::InitializeFeatures):
2218         (rx::nativegl_gl::InitializeFrontendFeatures):
2219         (rx::nativegl::SupportsCompute):
2220         (rx::nativegl::GetBufferBindingQuery):
2221         (rx::nativegl::GetBufferBindingString):
2222         * src/libANGLE/renderer/gl/renderergl_utils.h:
2223         * src/libANGLE/renderer/load_functions_data.json:
2224         * src/libANGLE/renderer/load_functions_table_autogen.cpp:
2225         (angle::GetLoadFunctionsMap):
2226         * src/libANGLE/renderer/null/DeviceNULL.cpp:
2227         (rx::DeviceNULL::getAttribute):
2228         (rx::DeviceNULL::getDevice): Deleted.
2229         * src/libANGLE/renderer/null/DeviceNULL.h:
2230         * src/libANGLE/renderer/renderer_utils.cpp:
2231         (rx::ShouldUseDebugLayers):
2232         * src/libANGLE/renderer/vulkan/BufferVk.cpp:
2233         (rx::BufferVk::release):
2234         (rx::BufferVk::mapRangeImpl):
2235         (rx::BufferVk::setDataImpl):
2236         * src/libANGLE/renderer/vulkan/CommandGraph.cpp:
2237         (rx::vk::CommandGraphResource::CommandGraphResource):
2238         (rx::vk::CommandGraphResource::~CommandGraphResource):
2239         (rx::vk::CommandGraphResource::isResourceInUse const):
2240         (rx::vk::CommandGraphResource::recordCommands):
2241         (rx::vk::CommandGraphResource::addWriteDependency):
2242         (rx::vk::CommandGraphResource::addReadDependency):
2243         (rx::vk::CommandGraphResource::startNewCommands):
2244         (rx::vk::CommandGraphResource::onWriteImpl):
2245         (rx::vk::SharedGarbage::SharedGarbage):
2246         (rx::vk::SharedGarbage::operator=):
2247         (rx::vk::SharedGarbage::destroyIfComplete):
2248         (rx::vk::CommandGraph::~CommandGraph):
2249         (rx::vk::CommandGraph::submitCommands):
2250         (rx::vk::CommandGraph::releaseResourceUses):
2251         (rx::vk::CommandGraph::releaseResourceUsesAndUpdateSerials):
2252         (rx::vk::CommandGraphResource::resetQueueSerial): Deleted.
2253         * src/libANGLE/renderer/vulkan/CommandGraph.h:
2254         (rx::vk::CommandGraphResource::getLatestSerial const):
2255         (rx::vk::CommandGraphResource::hasStartedRenderPass const):
2256         (rx::vk::CommandGraphResource::updateCurrentAccessNodes):
2257         (rx::vk::CommandGraphResource::onGraphAccess):
2258         (rx::vk::CommandGraphResource::appendToStartedRenderPass):
2259         (rx::vk::CommandGraphResource::renderPassStartedButEmpty const):
2260         (rx::vk::CommandGraphResource::clearRenderPassColorAttachment):
2261         (rx::vk::CommandGraphResource::clearRenderPassDepthAttachment):
2262         (rx::vk::CommandGraphResource::clearRenderPassStencilAttachment):
2263         (rx::vk::CommandGraphResource::invalidateRenderPassColorAttachment):
2264         (rx::vk::CommandGraphResource::invalidateRenderPassDepthAttachment):
2265         (rx::vk::CommandGraphResource::invalidateRenderPassStencilAttachment):
2266         (rx::vk::CommandGraphResource::getRenderPassRenderArea const):
2267         (rx::vk::CommandGraphResource::addGlobalMemoryBarrier):
2268         (rx::vk::CommandGraphResource::hasChildlessWritingNode const):
2269         (rx::vk::CommandGraph::onResourceUse):
2270         (rx::vk::CommandGraphResource::getStoredQueueSerial const): Deleted.
2271         (rx::vk::CommandGraphResource::updateQueueSerial): Deleted.
2272         * src/libANGLE/renderer/vulkan/ContextVk.cpp:
2273         (rx::CommandBatch::CommandBatch):
2274         (rx::CommandBatch::operator=):
2275         (rx::CommandBatch::destroy):
2276         (rx::CommandQueue::destroy):
2277         (rx::CommandQueue::init):
2278         (rx::CommandQueue::checkCompletedCommands):
2279         (rx::CommandQueue::releaseToCommandBatch):
2280         (rx::CommandQueue::clearAllGarbage):
2281         (rx::CommandQueue::allocatePrimaryCommandBuffer):
2282         (rx::CommandQueue::releasePrimaryCommandBuffer):
2283         (rx::CommandQueue::handleDeviceLost):
2284         (rx::CommandQueue::hasInFlightCommands const):
2285         (rx::CommandQueue::finishToSerialOrTimeout):
2286         (rx::CommandQueue::submitFrame):
2287         (rx::CommandQueue::getLastSubmittedFence const):
2288         (rx::ContextVk::ContextVk):
2289         (rx::ContextVk::onDestroy):
2290         (rx::ContextVk::initialize):
2291         (rx::ContextVk::setupDraw):
2292         (rx::ContextVk::setupIndirectDraw):
2293         (rx::ContextVk::setupIndexedIndirectDraw):
2294         (rx::ContextVk::setupLineLoopIndexedIndirectDraw):
2295         (rx::ContextVk::handleDirtyGraphicsVertexBuffers):
2296         (rx::ContextVk::handleDirtyGraphicsIndexBuffer):
2297         (rx::ContextVk::submitFrame):
2298         (rx::ContextVk::flushCommandGraph):
2299         (rx::ContextVk::synchronizeCpuGpuTime):
2300         (rx::ContextVk::traceGpuEventImpl):
2301         (rx::ContextVk::checkCompletedGpuEvents):
2302         (rx::ContextVk::flushGpuEvents):
2303         (rx::ContextVk::clearAllGarbage):
2304         (rx::ContextVk::handleDeviceLost):
2305         (rx::ContextVk::drawArraysIndirect):
2306         (rx::ContextVk::drawElementsIndirect):
2307         (rx::ContextVk::syncState):
2308         (rx::ContextVk::onMakeCurrent):
2309         (rx::ContextVk::dispatchComputeIndirect):
2310         (rx::ContextVk::memoryBarrier):
2311         (rx::ContextVk::writeAtomicCounterBufferDriverUniformOffsets):
2312         (rx::ContextVk::updateActiveTextures):
2313         (rx::ContextVk::updateActiveImages):
2314         (rx::ContextVk::shouldFlush):
2315         (rx::ContextVk::flushImpl):
2316         (rx::ContextVk::finishImpl):
2317         (rx::ContextVk::isSerialInUse const):
2318         (rx::ContextVk::checkCompletedCommands):
2319         (rx::ContextVk::finishToSerial):
2320         (rx::ContextVk::finishToSerialOrTimeout):
2321         (rx::ContextVk::getCompatibleRenderPass):
2322         (rx::ContextVk::getRenderPassWithOps):
2323         (rx::ContextVk::ensureSubmitFenceInitialized):
2324         (rx::ContextVk::getNextSubmitFence):
2325         (rx::ContextVk::getLastSubmittedFence const):
2326         (rx::ContextVk::getTimestamp):
2327         (rx::ContextVk::updateDefaultAttribute):
2328         (rx::ContextVk::waitForSwapchainImageIfNecessary):
2329         (rx::ContextVk::CommandBatch::CommandBatch): Deleted.
2330         (rx::ContextVk::CommandBatch::operator=): Deleted.
2331         (rx::ContextVk::CommandBatch::destroy): Deleted.
2332         (rx::ContextVk::releaseToCommandBatch): Deleted.
2333         (rx::ContextVk::recycleCommandBatch): Deleted.
2334         (rx::ContextVk::getCommandGraph): Deleted.
2335         * src/libANGLE/renderer/vulkan/ContextVk.h:
2336         (rx::ContextVk::onVertexAttributeChange):
2337         (rx::ContextVk::getCurrentQueueSerial const):
2338         (rx::ContextVk::getLastSubmittedQueueSerial const):
2339         (rx::ContextVk::getLastCompletedQueueSerial const):
2340         (rx::ContextVk::addGarbage):
2341         (rx::ContextVk::getCommandGraph):
2342         (rx::ContextVk::releaseObject): Deleted.
2343         * src/libANGLE/renderer/vulkan/DeviceVk.cpp:
2344         (rx::DeviceVk::getAttribute):
2345         (rx::DeviceVk::getDevice): Deleted.
2346         * src/libANGLE/renderer/vulkan/DeviceVk.h:
2347         * src/libANGLE/renderer/vulkan/DisplayVk.cpp:
2348         (rx::DisplayVk::generateExtensions const):
2349         * src/libANGLE/renderer/vulkan/FramebufferVk.cpp:
2350         (rx::FramebufferVk::destroy):
2351         (rx::FramebufferVk::invalidate):
2352         (rx::FramebufferVk::invalidateSub):
2353         (rx::FramebufferVk::clearImpl):
2354         (rx::FramebufferVk::getImplementationColorReadType const):
2355         (rx::FramebufferVk::blitWithCommand):
2356         (rx::FramebufferVk::blit):
2357         (rx::FramebufferVk::resolveColorWithCommand):
2358         (rx::FramebufferVk::readPixelsImpl):
2359         (rx::FramebufferVk::onScissorChange):
2360         * src/libANGLE/renderer/vulkan/FramebufferVk.h:
2361         (rx::FramebufferVk::appendToStartedRenderPass):
2362         * src/libANGLE/renderer/vulkan/GlslangWrapper.cpp:
2363         * src/libANGLE/renderer/vulkan/ImageVk.cpp:
2364         (rx::ImageVk::onDestroy):
2365         (rx::ImageVk::orphan):
2366         * src/libANGLE/renderer/vulkan/ImageVk.h:
2367         * src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp:
2368         (rx::MemoryObjectVk::createImage):
2369         * src/libANGLE/renderer/vulkan/OverlayVk.cpp:
2370         (rx::OverlayVk::createFont):
2371         (rx::OverlayVk::cullWidgets):
2372         (rx::OverlayVk::onPresent):
2373         * src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp:
2374         (rx::vk::PersistentCommandPool::destroy):
2375         (rx::vk::PersistentCommandPool::allocate):
2376         (rx::vk::PersistentCommandPool::alloc): Deleted.
2377         * src/libANGLE/renderer/vulkan/PersistentCommandPool.h:
2378         * src/libANGLE/renderer/vulkan/ProgramVk.cpp:
2379         (rx::ProgramVk::reset):
2380         (rx::ProgramVk::initDefaultUniformLayoutMapping):
2381         (rx::ProgramVk::updateDefaultUniformsDescriptorSet):
2382         (rx::ProgramVk::updateBuffersDescriptorSet):
2383         (rx::ProgramVk::updateAtomicCounterBuffersDescriptorSet):
2384         (rx::ProgramVk::updateImagesDescriptorSet):
2385         (rx::ProgramVk::updateTransformFeedbackDescriptorSetImpl):
2386         (rx::ProgramVk::updateDescriptorSets):
2387         * src/libANGLE/renderer/vulkan/ProgramVk.h:
2388         (rx::ProgramVk::getGraphicsPipeline):
2389         * src/libANGLE/renderer/vulkan/README.md:
2390         * src/libANGLE/renderer/vulkan/RenderTargetVk.cpp:
2391         (rx::RenderTargetVk::RenderTargetVk):
2392         (rx::RenderTargetVk::init):
2393         (rx::RenderTargetVk::reset):
2394         (rx::RenderTargetVk::onColorDraw):
2395         (rx::RenderTargetVk::onDepthStencilDraw):
2396         (rx::RenderTargetVk::updateSwapchainImage):
2397         (rx::RenderTargetVk::getImageForRead):
2398         (rx::RenderTargetVk::getImageForWrite const):
2399         (rx::RenderTargetVk::getFetchImageView const): Deleted.
2400         * src/libANGLE/renderer/vulkan/RenderTargetVk.h:
2401         * src/libANGLE/renderer/vulkan/RenderbufferVk.cpp:
2402         (rx::RenderbufferVk::setStorageImpl):
2403         (rx::RenderbufferVk::setStorageEGLImageTarget):
2404         (rx::RenderbufferVk::releaseImage):
2405         * src/libANGLE/renderer/vulkan/RenderbufferVk.h:
2406         * src/libANGLE/renderer/vulkan/RendererVk.cpp:
2407         (rx::RendererVk::~RendererVk):
2408         (rx::RendererVk::onDestroy):
2409         (rx::RendererVk::notifyDeviceLost):
2410         (rx::RendererVk::initialize):
2411         (rx::RendererVk::initializeDevice):
2412         (rx::RendererVk::initFeatures):
2413         (rx::RendererVk::queueSubmit):
2414         (rx::RendererVk::cleanupGarbage):
2415         (rx::RendererVk::getMaxFenceWaitTimeNs const):
2416         (rx::RendererVk::onCompletedSerial):
2417         (rx::RendererVk::nextSerial): Deleted.
2418         (rx::RendererVk::addGarbage): Deleted.
2419         * src/libANGLE/renderer/vulkan/RendererVk.h:
2420         (rx::CollectGarbage):
2421         (rx::RendererVk::getMaxVertexAttribDivisor const):
2422         (rx::RendererVk::collectGarbageAndReinit):
2423         (rx::RendererVk::getCurrentQueueSerial const):
2424         (rx::RendererVk::getLastSubmittedQueueSerial const):
2425         (rx::RendererVk::getLastCompletedQueueSerial const):
2426         (rx::RendererVk::shouldCleanupGarbage):
2427         * src/libANGLE/renderer/vulkan/SamplerVk.cpp:
2428         (rx::SamplerVk::onDestroy):
2429         (rx::SamplerVk::syncState):
2430         * src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp:
2431         (rx::vk::priv::SecondaryCommandBuffer::executeCommands):
2432         (rx::vk::priv::SecondaryCommandBuffer::dumpCommands const):
2433         * src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h:
2434         (rx::vk::priv::SecondaryCommandBuffer::drawIndirect):
2435         (rx::vk::priv::SecondaryCommandBuffer::drawIndexedIndirect):
2436         * src/libANGLE/renderer/vulkan/SemaphoreVk.cpp:
2437         (rx::SemaphoreVk::onDestroy):
2438         * src/libANGLE/renderer/vulkan/SurfaceVk.cpp:
2439         (rx::OffscreenSurfaceVk::AttachmentImage::initialize):
2440         (rx::OffscreenSurfaceVk::AttachmentImage::destroy):
2441         (rx::OffscreenSurfaceVk::OffscreenSurfaceVk):
2442         (rx::WindowSurfaceVk::WindowSurfaceVk):
2443         (rx::WindowSurfaceVk::createSwapChain):
2444         (rx::WindowSurfaceVk::releaseSwapchainImages):
2445         (rx::WindowSurfaceVk::destroySwapChainImages):
2446         (rx::WindowSurfaceVk::present):
2447         (rx::WindowSurfaceVk::nextSwapchainImage):
2448         * src/libANGLE/renderer/vulkan/SyncVk.cpp:
2449         (rx::vk::SyncHelper::SyncHelper):
2450         (rx::vk::SyncHelper::~SyncHelper):
2451         (rx::vk::SyncHelper::releaseToRenderer):
2452         (rx::vk::SyncHelper::initialize):
2453         (rx::vk::SyncHelper::clientWait):
2454         (rx::vk::SyncHelper::serverWait):
2455         (rx::vk::SyncHelper::getStatus):
2456         (rx::SyncVk::onDestroy):
2457         (rx::SyncVk::serverWait):
2458         (rx::EGLSyncVk::onDestroy):
2459         (rx::EGLSyncVk::serverWait):
2460         (rx::FenceSyncVk::FenceSyncVk): Deleted.
2461         (rx::FenceSyncVk::~FenceSyncVk): Deleted.
2462         (rx::FenceSyncVk::onDestroy): Deleted.
2463         (rx::FenceSyncVk::initialize): Deleted.
2464         (rx::FenceSyncVk::clientWait): Deleted.
2465         (rx::FenceSyncVk::serverWait): Deleted.
2466         (rx::FenceSyncVk::getStatus): Deleted.
2467         * src/libANGLE/renderer/vulkan/SyncVk.h:
2468         * src/libANGLE/renderer/vulkan/TextureVk.cpp:
2469         (rx::TextureVk::onDestroy):
2470         (rx::TextureVk::copySubImageImpl):
2471         (rx::TextureVk::copySubTextureImpl):
2472         (rx::TextureVk::copySubImageImplWithTransfer):
2473         (rx::TextureVk::copySubImageImplWithDraw):
2474         (rx::TextureVk::setStorageExternalMemory):
2475         (rx::TextureVk::setEGLImageTarget):
2476         (rx::TextureVk::ensureImageAllocated):
2477         (rx::TextureVk::setImageHelper):
2478         (rx::TextureVk::copyImageDataToBufferAndGetData):
2479         (rx::TextureVk::copyImageDataToBuffer):
2480         (rx::TextureVk::generateMipmapsWithCPU):
2481         (rx::TextureVk::generateMipmap):
2482         (rx::TextureVk::setBaseLevel):
2483         (rx::TextureVk::changeLevels):
2484         (rx::TextureVk::bindTexImage):
2485         (rx::TextureVk::getAttachmentRenderTarget):
2486         (rx::TextureVk::ensureImageInitialized):
2487         (rx::TextureVk::initLayerRenderTargets):
2488         (rx::TextureVk::syncState):
2489         (rx::TextureVk::getReadImageView const):
2490         (rx::TextureVk::getFetchImageView const):
2491         (rx::TextureVk::getLayerLevelDrawImageView):
2492         (rx::TextureVk::getLayerLevelStorageImageView):
2493         (rx::TextureVk::initImage):
2494         (rx::TextureVk::initImageViews):
2495         (rx::TextureVk::releaseImage):
2496         (rx::TextureVk::releaseImageViews):
2497         (rx::TextureVk::releaseStagingBuffer):
2498         (rx::TextureVk::getLevelCount const):
2499         (rx::TextureVk::generateMipmapLevelsWithCPU):
2500         (rx::TextureVk::TextureVkViews::TextureVkViews): Deleted.
2501         (rx::TextureVk::TextureVkViews::~TextureVkViews): Deleted.
2502         (rx::TextureVk::TextureVkViews::release): Deleted.
2503         (rx::TextureVk::init3DRenderTargets): Deleted.
2504         (rx::TextureVk::initCubeMapRenderTargets): Deleted.
2505         (rx::TextureVk::getTextureViews const): Deleted.
2506         (rx::TextureVk::initImageViewImpl): Deleted.
2507         * src/libANGLE/renderer/vulkan/TextureVk.h:
2508         (): Deleted.
2509         * src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp:
2510         (rx::TransformFeedbackVk::onBeginOrEnd):
2511         * src/libANGLE/renderer/vulkan/UtilsVk.cpp:
2512         (rx::UtilsVk::ensureConvertIndexIndirectResourcesInitialized):
2513         (rx::UtilsVk::ensureConvertIndexIndirectLineLoopResourcesInitialized):
2514         (rx::UtilsVk::convertIndexIndirectBuffer):
2515         (rx::UtilsVk::convertLineLoopIndexIndirectBuffer):
2516         (rx::UtilsVk::startRenderPass):
2517         (rx::UtilsVk::clearFramebuffer):
2518         (rx::UtilsVk::blitResolveImpl):
2519         (rx::UtilsVk::stencilBlitResolveNoShaderExport):
2520         (rx::UtilsVk::copyImage):
2521         (rx::UtilsVk::cullOverlayWidgets):
2522         (rx::UtilsVk::drawOverlay):
2523         * src/libANGLE/renderer/vulkan/UtilsVk.h:
2524         * src/libANGLE/renderer/vulkan/VertexArrayVk.cpp:
2525         (rx::VertexArrayVk::destroy):
2526         (rx::VertexArrayVk::convertIndexBufferIndirectGPU):
2527         (rx::VertexArrayVk::handleLineLoopIndirect):
2528         (rx::VertexArrayVk::convertVertexBufferCPU):
2529         (rx::VertexArrayVk::syncDirtyAttrib):
2530         (rx::VertexArrayVk::updateStreamedAttribs):
2531         (rx::VertexArrayVk::updateDefaultAttrib):
2532         (rx::VertexArrayVk::updateClientAttribs): Deleted.
2533         * src/libANGLE/renderer/vulkan/VertexArrayVk.h:
2534         (rx::VertexArrayVk::getStreamingVertexAttribsMask const):
2535         * src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp:
2536         (rx::HardwareBufferImageSiblingVkAndroid::initImpl):
2537         (rx::HardwareBufferImageSiblingVkAndroid::release):
2538         * src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h:
2539         * src/libANGLE/renderer/vulkan/doc/FastOpenGLStateTransitions.md:
2540         * src/libANGLE/renderer/vulkan/doc/FormatTablesAndEmulation.md:
2541         * src/libANGLE/renderer/vulkan/doc/OpenGLLineSegmentRasterization.md:
2542         * src/libANGLE/renderer/vulkan/doc/ShaderModuleCompilation.md:
2543         * src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py:
2544         (shader_path):
2545         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc:
2546         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc:
2547         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc:
2548         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc:
2549         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc:
2550         * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc:
2551         * src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp:
2552         * src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json:
2553         * src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp:
2554         * src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json:
2555         * src/libANGLE/renderer/vulkan/vk_cache_utils.cpp:
2556         (rx::vk::GraphicsPipelineDesc::initializePipeline const):
2557         (rx::vk::GraphicsPipelineDesc::updateVertexInput):
2558         (rx::vk::PipelineLayoutDesc::updatePushConstantRange):
2559         (rx::RenderPassCache::addRenderPass):
2560         (rx::GraphicsPipelineCache::release):
2561         (rx::GraphicsPipelineCache::insertPipeline):
2562         * src/libANGLE/renderer/vulkan/vk_cache_utils.h:
2563         * src/libANGLE/renderer/vulkan/vk_caps_utils.cpp:
2564         (rx::RendererVk::ensureCapsInitialized const):
2565         * src/libANGLE/renderer/vulkan/vk_format_map.json:
2566         * src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp:
2567         (rx::vk::Format::initialize):
2568         * src/libANGLE/renderer/vulkan/vk_format_utils.cpp:
2569         (rx::MapSwizzleState):
2570         * src/libANGLE/renderer/vulkan/vk_helpers.cpp:
2571         (rx::vk::DynamicBuffer::allocate):
2572         (rx::vk::DynamicBuffer::releaseBufferListToRenderer):
2573         (rx::vk::DynamicBuffer::release):
2574         (rx::vk::DynamicBuffer::releaseInFlightBuffers):
2575         (rx::vk::DescriptorPoolHelper::release):
2576         (rx::vk::LineLoopHelper::LineLoopHelper):
2577         (rx::vk::LineLoopHelper::streamIndicesIndirect):
2578         (rx::vk::LineLoopHelper::release):
2579         (rx::vk::LineLoopHelper::destroy):
2580         (rx::vk::BufferHelper::init):
2581         (rx::vk::BufferHelper::release):
2582         (rx::vk::ImageHelper::ImageHelper):
2583         (rx::vk::ImageHelper::init):
2584         (rx::vk::ImageHelper::initExternal):
2585         (rx::vk::ImageHelper::releaseImage):
2586         (rx::vk::ImageHelper::releaseStagingBuffer):
2587         (rx::vk::ImageHelper::destroy):
2588         (rx::vk::ImageHelper::getBaseLevel):
2589         (rx::vk::ImageHelper::setBaseAndMaxLevels):
2590         (rx::vk::ImageHelper::generateMipmapsWithBlit):
2591         (rx::vk::ImageHelper::removeStagedUpdates):
2592         (rx::vk::ImageHelper::stageSubresourceUpdate):
2593         (rx::vk::ImageHelper::stageSubresourceUpdateAndGetData):
2594         (rx::vk::ImageHelper::stageSubresourceUpdateFromBuffer):
2595         (rx::vk::ImageHelper::stageSubresourceUpdateFromFramebuffer):
2596         (rx::vk::ImageHelper::allocateStagingMemory):
2597         (rx::vk::ImageHelper::flushStagedUpdates):
2598         (rx::vk::ImageHelper::isUpdateStaged):
2599         (rx::vk::ImageHelper::SubresourceUpdate::SubresourceUpdate):
2600         (rx::vk::ImageHelper::SubresourceUpdate::release):
2601         (rx::vk::FramebufferHelper::release):
2602         (rx::vk::ShaderProgramHelper::release):
2603         (rx::vk::DynamicBuffer::releaseBufferListToContext): Deleted.
2604         (rx::vk::DynamicBuffer::releaseBufferListToDisplay): Deleted.
2605         (rx::vk::ImageHelper::dumpResources): Deleted.
2606         * src/libANGLE/renderer/vulkan/vk_helpers.h:
2607         (rx::vk::ShaderProgramHelper::getShader):
2608         (rx::vk::ShaderProgramHelper::getGraphicsPipeline):
2609         * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp:
2610         (rx::vk::ShaderLibrary::destroy):
2611         (rx::vk::ShaderLibrary::getConvertIndexIndirectLineLoop_comp):
2612         * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni:
2613         * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h:
2614         * src/libANGLE/renderer/vulkan/vk_utils.cpp:
2615         (rx::HasKhronosValidationLayer):
2616         (rx::HasStandardValidationLayer):
2617         (rx::GetAvailableValidationLayers):
2618         (rx::vk::StagingBuffer::init):
2619         (rx::vk::StagingBuffer::release):
2620         (rx::vk::GarbageObject::GarbageObject):
2621         (rx::vk::GarbageObject::operator=):
2622         (rx::vk::GarbageObject::destroy):
2623         (rx::gl_vk::GetSamplerMipmapMode):
2624         (rx::vk::StagingBuffer::dumpResources): Deleted.
2625         (rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
2626         (rx::vk::GarbageObjectBase::destroy): Deleted.
2627         (rx::vk::GarbageObject::destroyIfComplete): Deleted.
2628         * src/libANGLE/renderer/vulkan/vk_utils.h:
2629         (rx::vk::GarbageObject::valid const):
2630         (rx::vk::GarbageObject::Get):
2631         (rx::vk::GetGarbage):
2632         (rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
2633         * src/libANGLE/renderer/vulkan/vk_wrapper.h:
2634         (rx::vk::WrappedObject::getHandle const):
2635         (rx::vk::WrappedObject::valid const):
2636         (rx::vk::WrappedObject::ptr const):
2637         (rx::vk::WrappedObject::release):
2638         (rx::vk::WrappedObject::WrappedObject):
2639         (rx::vk::WrappedObject::~WrappedObject):
2640         (rx::vk::WrappedObject::operator=):
2641         (rx::vk::priv::CommandBuffer::SupportsQueries):
2642         (rx::vk::priv::CommandBuffer::getMemoryUsageStats const):
2643         (rx::vk::priv::CommandBuffer::drawIndexedIndirect):
2644         (rx::vk::priv::CommandBuffer::drawIndirect):
2645         (rx::vk::WrappedObject::dumpResources): Deleted.
2646         (rx::vk::priv::CommandBuffer::getMemoryUsageStats): Deleted.
2647         * src/libANGLE/validationEGL.cpp:
2648         (egl::ValidateCreateContext):
2649         (egl::ValidateMakeCurrent):
2650         (egl::ValidateCompatibleSurface):
2651         (egl::ValidateStreamConsumerGLTextureExternalKHR):
2652         (egl::ValidateStreamConsumerGLTextureExternalAttribsNV):
2653         (egl::ValidateQueryStringiANGLE):
2654         (egl::ValidateCompatibleConfigs): Deleted.
2655         * src/libANGLE/validationEGL.h:
2656         * src/libANGLE/validationES.cpp:
2657         (gl::ValidateRenderbufferStorageParametersBase):
2658         (gl::ValidateTexStorageMultisample):
2659         * src/libANGLE/validationES.h:
2660         (gl::ValidateVertexFormat):
2661         * src/libANGLE/validationES2.cpp:
2662         (gl::ValidateES2TexStorageParameters):
2663         * src/libANGLE/validationES3.cpp:
2664         (gl::ValidateES3TexStorageParametersBase):
2665         * src/libANGLE/validationES31.cpp:
2666         (gl::err::ValidateProgramResourceIndex):
2667         * src/libGLESv2.gni:
2668         * src/libGLESv2/entry_points_egl_ext.cpp:
2669         * src/tests/BUILD.gn:
2670         * src/tests/angle_deqp_tests_main.cpp:
2671         (main):
2672         * src/tests/angle_end2end_tests.gni:
2673         * src/tests/compiler_tests/DebugShaderPrecision_test.cpp:
2674         (TEST_F):
2675         * src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp:
2676         (sh::TEST):
2677         * src/tests/compiler_tests/ImmutableString_test_autogen.cpp:
2678         (sh::TEST):
2679         * src/tests/compiler_tests/QualificationOrder_test.cpp:
2680         (TEST_F):
2681         * src/tests/deqp_support/angle_deqp_gtest.cpp:
2682         (angle::InitTestHarness):
2683         * src/tests/deqp_support/angle_deqp_libtester_main.cpp:
2684         * src/tests/deqp_support/deqp_egl_TestExpectations: Removed.
2685         * src/tests/deqp_support/deqp_gles2_TestExpectations: Removed.
2686         * src/tests/deqp_support/deqp_gles31_TestExpectations: Removed.
2687         * src/tests/deqp_support/deqp_gles3_TestExpectations: Removed.
2688         * src/tests/deqp_support/deqp_khr_gles2_TestExpectations: Removed.
2689         * src/tests/deqp_support/deqp_khr_gles31_TestExpectations: Removed.
2690         * src/tests/deqp_support/deqp_khr_gles3_TestExpectations: Removed.
2691         * src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp:
2692         * src/tests/deqp_support/tcuANGLEPlatform.cpp:
2693         (tcu::ANGLEPlatform::ANGLEPlatform):
2694         * src/tests/deqp_support/tes31Context_override.cpp:
2695         (deqp::gles31::Context::Context):
2696         (deqp::gles31::Context::~Context):
2697         (deqp::gles31::Context::createRenderContext):
2698         (deqp::gles31::Context::destroyRenderContext):
2699         (deqp::gles31::Context::getRenderTarget const):
2700         * src/tests/egl_tests/EGLDeviceCGLTest.cpp: Added.
2701         (EGLDeviceCGLQueryTest::EGLDeviceCGLQueryTest):
2702         (TEST_P):
2703         * src/tests/egl_tests/EGLDirectCompositionTest.cpp:
2704         * src/tests/egl_tests/EGLFeatureControlTest.cpp:
2705         (TEST_P):
2706         * src/tests/egl_tests/EGLNoConfigContextTest.cpp: Added.
2707         (EGLNoConfigContextTest::EGLNoConfigContextTest):
2708         (TEST_P):
2709         * src/tests/gl_tests/BlendFuncExtendedTest.cpp:
2710         (angle::EXTBlendFuncExtendedDrawTestES3::LinkProgram):
2711         * src/tests/gl_tests/ComputeShaderTest.cpp:
2712         * src/tests/gl_tests/CopyTexImageTest.cpp:
2713         (angle::TEST_P):
2714         * src/tests/gl_tests/CopyTextureTest.cpp:
2715         (angle::CopyTextureVariationsTest::initializeSourceTexture):
2716         (angle::CopyTextureVariationsTest::testCopyTexture):
2717         (angle::CopyTextureVariationsTest::testCopySubTexture):
2718         (angle::TEST_P):
2719         * src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp:
2720         (angle::DrawBaseVertexBaseInstanceTest::DrawBaseVertexBaseInstanceTest):
2721         (angle::DrawBaseVertexBaseInstanceTest::vertexShaderSource300):
2722         * src/tests/gl_tests/FramebufferTest.cpp:
2723         (TEST_P):
2724         * src/tests/gl_tests/GLSLTest.cpp:
2725         * src/tests/gl_tests/IndexBufferOffsetTest.cpp:
2726         * src/tests/gl_tests/InstancingTest.cpp:
2727         * src/tests/gl_tests/LineLoopTest.cpp:
2728         (LineLoopTest::checkPixels):
2729         (LineLoopTest::runTest):
2730         (LineLoopIndirectTest::runTest):
2731         (TEST_P):
2732         * src/tests/gl_tests/LinkAndRelinkTest.cpp:
2733         (angle::TEST_P):
2734         * src/tests/gl_tests/MipmapTest.cpp:
2735         * src/tests/gl_tests/OcclusionQueriesTest.cpp:
2736         * src/tests/gl_tests/ParallelShaderCompileTest.cpp:
2737         (angle::ParallelShaderCompileTest::TaskRunner::run):
2738         * src/tests/gl_tests/ProgramInterfaceTest.cpp:
2739         * src/tests/gl_tests/SimpleOperationTest.cpp:
2740         * src/tests/gl_tests/StateChangeTest.cpp:
2741         * src/tests/gl_tests/TextureTest.cpp:
2742         (angle::SliceFormatColor):
2743         (angle::SliceFormatColor32F):
2744         * src/tests/gl_tests/TimerQueriesTest.cpp:
2745         * src/tests/gl_tests/UniformBufferTest.cpp:
2746         * src/tests/gl_tests/VertexAttributeTest.cpp:
2747         (angle::TypeStride):
2748         (angle::Normalize10):
2749         (angle::Normalize2):
2750         (angle::Pack1010102):
2751         (angle::VertexAttributeTest::checkPixels):
2752         (angle::VertexAttributeTest::checkRGBPixels):
2753         (angle::VertexAttributeTest::runTest):
2754         (angle::TEST_P):
2755         * src/tests/gles1_conformance_tests/ConformanceTests.cpp:
2756         (angle::TEST_P):
2757         * src/tests/perf_tests/ANGLEPerfTest.cpp:
2758         * src/tests/perf_tests/DrawCallPerf.cpp:
2759         (angle::DrawArraysPerfParams::DrawArraysPerfParams): Deleted.
2760         (angle::DrawArraysPerfParams::story const): Deleted.
2761         (angle::operator<<): Deleted.
2762         (angle::CreateSimpleTexture2D): Deleted.
2763         (angle::DrawCallPerfBenchmark::DrawCallPerfBenchmark): Deleted.
2764         (angle::DrawCallPerfBenchmark::initializeBenchmark): Deleted.
2765         (): Deleted.
2766         * src/tests/perf_tests/EGLMakeCurrentPerf.cpp:
2767         * src/tests/perf_tests/LinkProgramPerfTest.cpp:
2768         (angle::TEST_P):
2769         * src/tests/perf_tests/MultiviewPerf.cpp:
2770         (angle::MultiviewCPUBoundBenchmark::initializeBenchmark):
2771         (angle::MultiviewGPUBoundBenchmark::initializeBenchmark):
2772         (angle::TEST_P):
2773         * src/tests/perf_tests/UniformsPerf.cpp:
2774         (TEST_P):
2775         * src/tests/perf_tests/VulkanPipelineCachePerf.cpp:
2776         (rx::VulkanPipelineCachePerfTest::step):
2777         * src/tests/perf_tests/glmark2Benchmark.cpp:
2778         * src/tests/test_expectations/GPUTestConfig.cpp:
2779         (angle::GPUTestConfig::GPUTestConfig):
2780         * src/tests/test_expectations/GPUTestConfig.h:
2781         * src/tests/test_expectations/GPUTestExpectationsParser.cpp:
2782         (angle::GPUTestExpectationsParser::parseLine):
2783         * src/tests/test_utils/ANGLETest.cpp:
2784         * src/tests/test_utils/ANGLETest.h:
2785         * src/tests/test_utils/angle_test_configs.cpp:
2786         (angle::PlatformParameters::initDefaultParameters):
2787         (angle::operator<<):
2788         (angle::egl_platform::VULKAN_SWIFTSHADER):
2789         (angle::ES2_VULKAN_SWIFTSHADER):
2790         * src/tests/test_utils/angle_test_configs.h:
2791         * src/tests/test_utils/angle_test_instantiate.cpp:
2792         (angle::IsWindows7):
2793         * src/tests/test_utils/angle_test_instantiate.h:
2794         * src/third_party/compiler/README.chromium:
2795         * third_party/vulkan-headers/BUILD.gn: Removed.
2796         * third_party/vulkan-headers/vulkan_headers_script_deps.gni: Removed.
2797         * third_party/vulkan-loader/BUILD.gn:
2798         * third_party/vulkan-tools/BUILD.gn: Removed.
2799         * third_party/vulkan-validation-layers/BUILD.gn: Removed.
2800         * third_party/vulkan-validation-layers/dummy_spirv_tools_commit_id.h: Removed.
2801         * util/EGLWindow.cpp:
2802         * util/fuchsia/ScenicWindow.cpp:
2803         (ScenicWindow::resetNativeWindow):
2804         * util/posix/crash_handler_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_crash_handler.cpp.
2805         * util/posix/test_utils_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_system_utils.cpp.
2806         * util/test_utils.h: Renamed from Source/ThirdParty/ANGLE/util/system_utils.h.
2807         * util/util.gni:
2808         * util/util_gl.h:
2809         * util/windows/WGLWindow.cpp:
2810         * util/windows/test_utils_win.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/Windows_system_utils.cpp.
2811         (angle::PrintStackBacktrace):
2812         * util/windows/win32/test_utils_win32.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/win32/Win32_system_utils.cpp.
2813         * util/x11/X11Window.cpp:
2814
2815 2019-10-01  Fujii Hironori  <Hironori.Fujii@sony.com>
2816
2817         [WinCairo][Clang][ANGLE] global_state.cpp(39,1): error: static_assert failed due to requirement 'std::is_trivially_constructible<std::atomic<std::mutex *>>::value' "global mutex is not trivially constructible"
2818         https://bugs.webkit.org/show_bug.cgi?id=201751
2819
2820         Reviewed by Alex Christensen.
2821
2822         Clang-cl couldn't compile the latest ANGLE with MS STL owing to a
2823         static_assert failure.
2824
2825         Fix it by cherri-picking the upstream fix.
2826         <https://chromium.googlesource.com/angle/angle/+/755417dd79071d6149c81418e1404b0c61d19672>
2827
2828         * AUTHORS:
2829         * src/common/angleutils.h:
2830         * src/libGLESv2/global_state.cpp:
2831
2832 2019-09-24  Adrian Perez de Castro  <aperez@igalia.com>
2833
2834         [GTK] ANGLE's eglplatform.h is build broken with -DENABLE_X11_PLATFORM=OFF
2835         https://bugs.webkit.org/show_bug.cgi?id=198621
2836
2837         Reviewed by Carlos Garcia Campos.
2838
2839         * PlatformGTK.cmake: Define WL_EGL_PLATFORM to prefer Wayland type
2840         definitions with ENABLE_WAYLAND_TARGET=ON and ENABLE_X11_TARGET=OFF
2841         to avoid ANGLE's eglplatform.h from trying to include the X11 headers.
2842
2843 2019-09-16  James Darpinian  <jdarpinian@chromium.org>
2844
2845         Remove commit.h copying build steps
2846         https://bugs.webkit.org/show_bug.cgi?id=201785
2847
2848         Reviewed by Alex Christensen.
2849
2850         * ANGLE.xcodeproj/project.pbxproj: Remove leftover build step
2851         * CMakeLists.txt: Remove commit.h copying
2852         * src/common/version.h: Restore to upstream version
2853         * src/id/commit.h: Added.
2854         * update-angle.sh: Copy commit.h to id/commit.h at import time
2855
2856 2019-09-12  James Darpinian  <jdarpinian@chromium.org>
2857
2858         Update ANGLE
2859         https://bugs.webkit.org/show_bug.cgi?id=201156
2860
2861         Reviewed by Alex Christensen.
2862
2863         Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
2864         I merged a bunch of changes to upstream ANGLE, to minimize the changes
2865         necessary when updating ANGLE in WebKit.
2866
2867         * ANGLE.plist: Update commit hashes
2868         * ANGLE.txt: Removed in favor of LICENSE
2869         * ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
2870           Also, copy src/commit.h to id/commit.h during build
2871         * CMakeLists.txt: Updated with upstream changes
2872           Also, copy src/commit.h to id/commit.h during build
2873         * Compiler.cmake: Updated with upstream changes
2874         * GLESv2.cmake: Updated with upstream changes
2875         * adjust-angle-include-paths-rule: Support "" as well as <> for includes
2876         * adjust-angle-include-paths.sh: Support "" as well as <> for includes
2877         * changes.diff: Pared down to just legal disclaimer and warning flag changes
2878         * update-angle.sh: Update ANGLE.plist
2879
2880         * Many other files modified/added/removed upstream
2881
2882 2019-09-11  Ryan Haddad  <ryanhaddad@apple.com>
2883
2884         Unreviewed, rolling out r249791.
2885
2886         Breaks internal production builds.
2887
2888         Reverted changeset:
2889
2890         "Update ANGLE"
2891         https://bugs.webkit.org/show_bug.cgi?id=201156
2892         https://trac.webkit.org/changeset/249791
2893
2894 2019-09-11  James Darpinian  <jdarpinian@chromium.org>
2895
2896         Update ANGLE
2897         https://bugs.webkit.org/show_bug.cgi?id=201156
2898
2899         Reviewed by Alex Christensen.
2900
2901         Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
2902         I merged a bunch of changes to upstream ANGLE, to minimize the changes
2903         necessary when updating ANGLE in WebKit.
2904
2905         * ANGLE.plist: Update commit hashes
2906         * ANGLE.txt: Removed in favor of LICENSE
2907         * ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
2908         Also, copy src/commit.h to id/commit.h during build
2909         * CMakeLists.txt: Updated with upstream changes
2910         Also, copy src/commit.h to id/commit.h during build
2911         * Compiler.cmake: Updated with upstream changes
2912         * GLESv2.cmake: Updated with upstream changes
2913         * adjust-angle-include-paths-rule: Support "" as well as <> for includes
2914         * adjust-angle-include-paths.sh: Support "" as well as <> for includes
2915         * changes.diff: Pared down to just legal disclaimer and warning flag changes
2916         * update-angle.sh: Update ANGLE.plist
2917
2918         * Many other files modified/added/removed upstream
2919
2920 2019-08-29  Keith Rollin  <krollin@apple.com>
2921
2922         Update .xcconfig symbols to reflect the current set of past and future product versions.
2923         https://bugs.webkit.org/show_bug.cgi?id=200720
2924         <rdar://problem/54305032>
2925
2926         Reviewed by Alex Christensen.
2927
2928         Remove version symbols related to old OS's we no longer support,
2929         ensure that version symbols are defined for OS's we do support.
2930
2931         * Configurations/Base.xcconfig:
2932         * Configurations/DebugRelease.xcconfig:
2933
2934 2019-08-26  James Darpinian  <jdarpinian@google.com>
2935
2936         Add a script to update ANGLE
2937         https://bugs.webkit.org/show_bug.cgi?id=201109
2938
2939         Reviewed by Alex Christensen.
2940
2941         * update-angle.sh: Added.
2942
2943 2019-08-16  Keith Rollin  <krollin@apple.com>
2944
2945         Add XCBuild support to ANGLE
2946         https://bugs.webkit.org/show_bug.cgi?id=200836
2947         <rdar://problem/54410420>
2948
2949         Reviewed by Alex Christensen.
2950
2951         The ANGLE Xcode project contains two Build Phases: one that copies
2952         some headers, and another that modifies those headers. This
2953         combination does not work with XCBuild, which gets confused when it
2954         finds that headers that it's copied have been changed. When it detects
2955         this, XCBuild thinks that it should recopy those headers on the next
2956         build, causing their modification dates to change and for all
2957         dependent files to be rebuilt. This essentially turns an incremental
2958         rebuild into a full rebuild.
2959
2960         Address this problem by using a new facility in Xcode 11. This
2961         facility supports the copying and modifying headers files in a single
2962         step. It is achieved by first enabling the facility by setting
2963         APPLY_RULES_IN_COPY_HEADERS to YES. Next, we add a new Build Rule that
2964         invokes a custom script when the header files are copied. Third, we
2965         provide this script, which can essentially be a stripped down version
2966         of the one already used to modify the exported headers files. Finally,
2967         we disable the use of that old script when we are using Xcode 11. In
2968         this way, the old script that modifies the exported headers is used in
2969         Xcode 10, and the new facility is used in Xcode 11.
2970
2971         See also Bug 197340 for where this process was also applied to
2972         JavaScriptCore, WebKit, and WebKitLegacy.
2973
2974         * ANGLE.xcodeproj/project.pbxproj:
2975         * Configurations/ANGLE.xcconfig:
2976         * adjust-angle-include-paths-rule: Added.
2977
2978 2019-08-08  Brent Fulgham  <bfulgham@apple.com>
2979
2980         [FTW] Get WebKit, WebKit2, and MiniBrowser building and executing
2981         https://bugs.webkit.org/show_bug.cgi?id=200539
2982
2983         Reviewed by Dean Jackson.
2984
2985         * PlatformFTW.cmake: Added.
2986
2987 2019-07-17  Kenneth Russell  <kbr@chromium.org>
2988
2989         Make ANGLE work inside WebKit2's sandbox
2990         https://bugs.webkit.org/show_bug.cgi?id=199844
2991
2992         Reviewed by Alex Christensen.
2993
2994         Cherry-pick fix for crbug.com/angleproject/3383 to eliminate use
2995         of deprecated API in SystemInfo_mac.mm.
2996
2997         * BUILD.gn:
2998         * src/gpu_info_util/SystemInfo.cpp:
2999         (angle::FindActiveGPU):
3000         (angle::PrintSystemInfo):
3001         (angle::FindPrimaryGPU): Deleted.
3002         * src/gpu_info_util/SystemInfo.h:
3003         * src/gpu_info_util/SystemInfo_internal.h:
3004         * src/gpu_info_util/SystemInfo_linux.cpp:
3005         (angle::GetSystemInfo):
3006         * src/gpu_info_util/SystemInfo_mac.mm:
3007         (angle::GetSystemInfo):
3008         * src/gpu_info_util/SystemInfo_win.cpp:
3009         (angle::GetSystemInfo):
3010         * src/tests/BUILD.gn:
3011         * src/tests/test_expectations/GPUTestConfig.cpp:
3012         * src/tests/test_utils/angle_test_instantiate.cpp:
3013         (angle::IsConfigWhitelisted):
3014
3015 2019-07-10  Alex Christensen  <achristensen@webkit.org>
3016
3017         Allow CMake to build WebCore on Mac
3018         https://bugs.webkit.org/show_bug.cgi?id=198979
3019
3020         Reviewed by Don Olmstead.
3021
3022         * include/GLSLANG/ShaderLang.h:
3023
3024 2019-07-10  Kenneth Russell  <kbr@chromium.org>
3025
3026         Hook up WebGL's back buffer in ANGLE backend on macOS
3027         https://bugs.webkit.org/show_bug.cgi?id=198982
3028
3029         Reviewed by Alex Christensen.
3030
3031         Add source files needed to implement and call ANGLE extensions, and
3032         export headers necessary for those extensions. Update the script which
3033         adjusts include paths to handle the new headers.
3034
3035         Cherry-pick fix for ANGLE bug crbug.com/angleproject/3669 to support
3036         antialias:true for ANGLE-backed WebGL contexts.
3037
3038         * ANGLE.xcodeproj/project.pbxproj:
3039         * adjust-angle-include-paths.sh:
3040         * src/libANGLE/FramebufferAttachment.cpp:
3041         (gl::FramebufferAttachment::getTextureImageIndex const): Deleted.
3042         * src/libANGLE/FramebufferAttachment.h:
3043         (gl::FramebufferAttachment::getTextureImageIndex const):
3044         * src/libANGLE/validationES2.cpp:
3045         (gl::ValidateBlitFramebufferANGLE):
3046
3047 2019-06-27  Beth Dakin  <bdakin@apple.com>
3048
3049         Upstream use of MACCATALYST
3050         https://bugs.webkit.org/show_bug.cgi?id=199245
3051         rdar://problem/51687723
3052
3053         Reviewed by Tim Horton.
3054
3055         * Configurations/SDKVariant.xcconfig:
3056
3057 2019-06-25  Kenneth Russell  <kbr@chromium.org>
3058
3059         Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
3060         https://bugs.webkit.org/show_bug.cgi?id=199212
3061
3062         Reviewed by Darin Adler.
3063
3064         Maintain and test a timestamp in adjust-angle-include-paths.sh
3065         in order to avoid touching the headers during each build.
3066
3067         * adjust-angle-include-paths.sh:
3068
3069 2019-06-25  Ryan Haddad  <ryanhaddad@apple.com>
3070
3071         Unreviewed, rolling out r246825.
3072
3073         Breaks internal builds.
3074
3075         Reverted changeset:
3076
3077         "Script which adjusts include paths in ANGLE's copied headers
3078         breaks incremental builds"
3079         https://bugs.webkit.org/show_bug.cgi?id=199212
3080         https://trac.webkit.org/changeset/246825
3081
3082 2019-06-25  Kenneth Russell  <kbr@chromium.org>
3083
3084         Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
3085         https://bugs.webkit.org/show_bug.cgi?id=199212
3086
3087         Reviewed by Darin Adler.
3088
3089         Maintain and test a timestamp in adjust-angle-include-paths.sh
3090         in order to avoid touching the headers during each build.
3091
3092         * adjust-angle-include-paths.sh:
3093
3094 2019-06-18  Kenneth Russell  <kbr@chromium.org>
3095
3096         Add preliminary ANGLE backend to WebCore
3097         https://bugs.webkit.org/show_bug.cgi?id=197755
3098
3099         Reviewed by Dean Jackson.
3100
3101         Add a build step which processes ANGLE's copied public headers so they
3102         can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
3103         touching ANGLE's headers and allows WebCore to include them with no
3104         additional include path modifications.
3105
3106         * ANGLE.xcodeproj/project.pbxproj:
3107         * adjust-angle-include-paths.sh: Added.
3108
3109 2019-06-17  Ryan Haddad  <ryanhaddad@apple.com>
3110
3111         Unreviewed, rolling out r246501.
3112
3113         Breaks Apple internal builds.
3114
3115         Reverted changeset:
3116
3117         "Support using ANGLE as the backend for the WebGL
3118         implementation"
3119         https://bugs.webkit.org/show_bug.cgi?id=197755
3120         https://trac.webkit.org/changeset/246501
3121
3122 2019-06-17  Kenneth Russell  <kbr@chromium.org>
3123
3124         Support using ANGLE as the backend for the WebGL implementation
3125         https://bugs.webkit.org/show_bug.cgi?id=197755
3126
3127         Reviewed by Dean Jackson.
3128
3129         Add a build step which processes ANGLE's copied public headers so they
3130         can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
3131         touching ANGLE's headers and allows WebCore to include them with no
3132         additional include path modifications.
3133
3134         * ANGLE.xcodeproj/project.pbxproj:
3135         * adjust-angle-include-paths.sh: Added.
3136
3137 2019-06-12  Justin Fan  <justin_fan@apple.com>
3138
3139         [WebGL] ANGLE Extension directive location incorrectly enforced for webgl 1.0
3140         https://bugs.webkit.org/show_bug.cgi?id=198811
3141
3142         Reviewed by Dean Jackson.
3143
3144         Apply ANGLE change from https://chromium-review.googlesource.com/c/angle/angle/+/1648661 to
3145         prevent enforcing ESSL late extension rule on WebGL 1.0 shaders.
3146
3147         * src/compiler/preprocessor/DiagnosticsBase.cpp:
3148         (angle::pp::Diagnostics::message):
3149         * src/compiler/preprocessor/DiagnosticsBase.h:
3150         * src/compiler/preprocessor/DirectiveParser.cpp:
3151         (angle::pp::DirectiveParser::parseExtension):
3152
3153 2019-05-23  Don Olmstead  <don.olmstead@sony.com>
3154
3155         [CMake] Use target oriented design for bmalloc
3156         https://bugs.webkit.org/show_bug.cgi?id=198046
3157
3158         Reviewed by Konstantin Tokarev.
3159
3160         Remove WEBKIT_COPY_FILES from CMakelists.txt now that it is in WebKitMacros.
3161
3162         * CMakeLists.txt:
3163
3164 2019-05-14  Miguel Gomez  <magomez@igalia.com>
3165
3166         REGRESSION(r245088): [GTK] Several WebGL tests failing
3167         https://bugs.webkit.org/show_bug.cgi?id=197880
3168
3169         Reviewed by Carlos Garcia Campos.
3170
3171         Enable GLSL compiler output for WebKitGTK.
3172
3173         * PlatformGTK.cmake: Added.
3174
3175 2019-05-13  Alex Christensen  <achristensen@webkit.org>
3176
3177         Build more ANGLE files
3178         https://bugs.webkit.org/show_bug.cgi?id=197787
3179
3180         Reviewed by Simon Fraser.
3181
3182         * ANGLE.xcodeproj/project.pbxproj:
3183         * src/gpu_info_util/SystemInfo.cpp:
3184         (angle::ParseMacMachineModel):
3185         * src/gpu_info_util/SystemInfo_mac.mm:
3186         (angle::GetSystemInfo):
3187         * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
3188         * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
3189         (rx::IOSurfaceSurfaceCGL::IOSurfaceSurfaceCGL):
3190         (rx::IOSurfaceSurfaceCGL::validateAttributes):
3191         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
3192         * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
3193         (rx::WindowSurfaceCGL::initialize):
3194         (-[SwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
3195
3196 2019-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
3197
3198         Fix a bunch of compiler warnings
3199         https://bugs.webkit.org/show_bug.cgi?id=197785
3200
3201         Reviewed by Don Olmstead.
3202
3203         Add compiler flags to suppress various warnings triggered by the new version of ANGLE.
3204
3205         * CMakeLists.txt:
3206
3207 2019-05-09  Don Olmstead  <don.olmstead@sony.com>
3208
3209         [ANGLE] Update ANGLE
3210         https://bugs.webkit.org/show_bug.cgi?id=197676
3211         <rdar://problem/50609501>
3212
3213         Reviewed by Alex Christensen.
3214
3215         * changes.diff:
3216         Updated with all the previous fixes.
3217         * include/EGL/eglplatform.h:
3218         Use the more generic name USE_SYSTEM_EGL not USE_WPE.
3219         * src/common/debug.h:
3220         Fix a stray COMPILER_GCC to be __GNUC__.
3221
3222 2019-05-08  Alex Christensen  <achristensen@webkit.org>
3223
3224         Fix internal and Windows builds.
3225
3226         * ANGLE.txt: Added.
3227         Restore this file.  It was deleted, but it's needed.
3228         * GLESv2.cmake:
3229         It turns out CompositorNativeWindow11.cpp and Renderer11.cpp are needed, but the bot doesn't seem to have the right SDK.
3230
3231 2019-05-08  Alex Christensen  <achristensen@webkit.org>
3232
3233         Fix High Sierra and Windows builds.
3234
3235         * GLESv2.cmake:
3236         CompositorNativeWindow11.cpp was also having a hard time compiling on the bots.
3237         * src/libANGLE/validationES3.cpp:
3238         (gl::ValidateBindFragDataLocationIndexedEXT):
3239         Remove a check for if an unsigned integer is less than 0.
3240
3241 2019-05-08  Alex Christensen  <achristensen@webkit.org>
3242
3243         Fix High Sierra and Windows builds.
3244
3245         * src/common/utilities.cpp:
3246         (gl::priv::gLineModes):
3247         * src/common/utilities.h:
3248         (gl::IsLineMode):
3249         Don't have a global constructor.  Use a function scoped static variable instead.
3250         * GLESv2.cmake:
3251         Renderer11.cpp was not building successfully on the bots.
3252         I don't think it's needed, so just don't build it.
3253
3254 2019-05-08  Alex Christensen  <achristensen@webkit.org>
3255
3256         Fix High Sierra build.
3257
3258         * src/libANGLE/State.cpp:
3259         (gl::State::kBufferSetters):
3260         * src/libANGLE/State.h:
3261         (gl::State::setBufferBinding):
3262         Remove the need for a global constructor.
3263
3264 2019-05-08  Don Olmstead  <don.olmstead@sony.com>
3265
3266         Update ANGLE
3267         https://bugs.webkit.org/show_bug.cgi?id=197676
3268
3269         Reviewed by Alex Christensen.
3270
3271         Many changed files.  Updated to trunk ANGLE 565441b1078b.
3272
3273 2019-04-29  Alex Christensen  <achristensen@webkit.org>
3274
3275         <rdar://problem/50299396> Fix internal High Sierra build
3276         https://bugs.webkit.org/show_bug.cgi?id=197388
3277
3278         * Configurations/Base.xcconfig:
3279
3280 2019-04-25  Alex Christensen  <achristensen@webkit.org>
3281
3282         Start using C++17
3283         https://bugs.webkit.org/show_bug.cgi?id=197131
3284
3285         Reviewed by Darin Adler.
3286
3287         * Configurations/Base.xcconfig:
3288
3289 2019-03-22  Keith Rollin  <krollin@apple.com>
3290
3291         Enable ThinLTO support in Production builds
3292         https://bugs.webkit.org/show_bug.cgi?id=190758
3293         <rdar://problem/45413233>
3294
3295         Reviewed by Daniel Bates.
3296
3297         Enable building with Thin LTO in Production when using Xcode 10.2 or
3298         later. This change results in a 1.45% progression in PLT5. Full
3299         Production build times increase about 2-3%. Incremental build times
3300         are more severely affected, and so LTO is not enabled for local
3301         engineering builds.
3302
3303         LTO is enabled only on macOS for now, until rdar://problem/49013399,
3304         which affects ARM builds, is fixed.
3305
3306         To change the LTO setting when building locally:
3307
3308         - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
3309           command line.
3310         - If building with `build-webkit`, specify --lto-mode={none,thin,full}
3311           on the command line.
3312         - If building with `build-root`, specify --lto={none,thin,full} on the
3313           command line.
3314         - If building with Xcode, create a LocalOverrides.xcconfig file at the
3315           top level of your repository directory (if needed) and define
3316           WK_LTO_MODE to full, thin, or none.
3317
3318         * Configurations/Base.xcconfig:
3319
3320 2019-02-23  Keith Miller  <keith_miller@apple.com>
3321
3322         Add new mac target numbers
3323         https://bugs.webkit.org/show_bug.cgi?id=194955
3324
3325         Reviewed by Tim Horton.
3326
3327         * Configurations/Base.xcconfig:
3328         * Configurations/DebugRelease.xcconfig:
3329
3330 2019-02-20  Andy Estes  <aestes@apple.com>
3331
3332         [Xcode] Add SDKVariant.xcconfig to various Xcode projects
3333         https://bugs.webkit.org/show_bug.cgi?id=194869
3334
3335         Rubber-stamped by Jer Noble.
3336
3337         * ANGLE.xcodeproj/project.pbxproj:
3338
3339 2019-01-18  Jer Noble  <jer.noble@apple.com>
3340
3341         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
3342         https://bugs.webkit.org/show_bug.cgi?id=189553
3343
3344         Reviewed by Tim Horton.
3345
3346         * Configurations/Base.xcconfig:
3347         * Configurations/SDKVariant.xcconfig: Added.
3348
3349 2019-01-17  Truitt Savell  <tsavell@apple.com>
3350
3351         Unreviewed, rolling out r240124.
3352
3353         This commit broke an internal build.
3354
3355         Reverted changeset:
3356
3357         "SDK_VARIANT build destinations should be separate from non-
3358         SDK_VARIANT builds"
3359         https://bugs.webkit.org/show_bug.cgi?id=189553
3360         https://trac.webkit.org/changeset/240124
3361
3362 2019-01-17  Jer Noble  <jer.noble@apple.com>
3363
3364         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
3365         https://bugs.webkit.org/show_bug.cgi?id=189553
3366
3367         Reviewed by Tim Horton.
3368
3369         * Configurations/Base.xcconfig:
3370         * Configurations/SDKVariant.xcconfig: Added.
3371
3372 2019-01-15  David Kilzer  <ddkilzer@apple.com>
3373
3374         clang-tidy: Fix unnecessary copy of for loop variables in ANGLE
3375         <https://webkit.org/b/193443>
3376
3377         Reviewed by Alex Christensen.
3378
3379         Fix unwanted copying of loop variables by making them const
3380         references.
3381