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