<rdar://problem/18821260> Prepare for the mysterious future
[WebKit-https.git] / Source / ThirdParty / ANGLE / ChangeLog
1 2014-10-30  Dana Burkart  <dburkart@apple.com>
2
3         <rdar://problem/18821260> Prepare for the mysterious future
4
5         Reviewed by Lucas Forschler.
6
7         * Configurations/Base.xcconfig:
8         * Configurations/DebugRelease.xcconfig:
9
10 2014-10-08  Brent Fulgham  <bfulgham@apple.com>
11
12         [Win] Use proper v120 target for 64-bit builds.
13
14         * ANGLE.vcxproj/libEGL.vcxproj:
15
16 2014-09-29  peavo@outlook.com  <peavo@outlook.com>
17
18         [WinCairo] D3D11 is not used by default.
19         https://bugs.webkit.org/show_bug.cgi?id=137215
20
21         Reviewed by Alex Christensen.
22
23         ANGLE_DEFAULT_D3D11 needs to be defined for D3D11 to be used as default.
24
25         * ANGLE.vcxproj/libGLESv2Common.props:
26
27 2014-09-19  Daniel Bates  <dabates@apple.com>
28
29         Always assume internal SDK when building configuration Production
30         https://bugs.webkit.org/show_bug.cgi?id=136925
31         <rdar://problem/18362399>
32
33         Reviewed by Dan Bernstein.
34
35         * Configurations/Base.xcconfig:
36
37 2014-09-10  Roger Fong  <roger_fong@apple.com>
38
39         Check for varying packing restrictions per program instead of per shader.
40         https://bugs.webkit.org/show_bug.cgi?id=136585.
41         <rdar://problem/16308409>.
42
43         Reviewed by Dean Jackson.
44
45         Remove varying packing restrictions checks from ANGLE.
46         * src/compiler/translator/Compiler.cpp:
47         (TCompiler::compile):
48         (TCompiler::enforcePackingRestrictions):
49         * src/compiler/translator/ShHandle.h:
50
51 2014-09-06  Darin Adler  <darin@apple.com>
52
53         Make updates suggested by new version of Xcode
54         https://bugs.webkit.org/show_bug.cgi?id=136603
55
56         Reviewed by Mark Rowe.
57
58         * ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
59
60         * Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,
61         CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
62         and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
63
64 2014-09-06  Commit Queue  <commit-queue@webkit.org>
65
66         Unreviewed, rolling out r173335.
67         https://bugs.webkit.org/show_bug.cgi?id=136597
68
69         Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
70         packing-restrictions.html (Requested by ap on #webkit).
71
72         Reverted changeset:
73
74         "Remove statically used varyings from packing restrictions
75         check."
76         https://bugs.webkit.org/show_bug.cgi?id=136585
77         http://trac.webkit.org/changeset/173335
78
79 2014-09-05  Roger Fong  <roger_fong@apple.com>
80
81         Remove statically used varyings from packing restrictions check.
82         https://bugs.webkit.org/show_bug.cgi?id=136585.
83         <rdar://problem/16308409>
84
85         Reviewed by Dean Jackson.
86
87         * src/compiler/translator/Compiler.cpp:
88         (TCompiler::enforcePackingRestrictions):
89
90 2014-08-29  Csaba Osztrogonác  <ossy@webkit.org>
91
92         Unreviwed, remove empty directories.
93
94         * src/compiler/depgraph: Removed.
95         * src/compiler/timing: Removed.
96         * src/libGLESv2/renderer/shaders: Removed.
97         * src/libGLESv2/renderer/shaders/compiled: Removed.
98
99 2014-08-11  Andy Estes  <aestes@apple.com>
100
101         [iOS] Get rid of iOS.xcconfig
102         https://bugs.webkit.org/show_bug.cgi?id=135809
103
104         Reviewed by Joseph Pecoraro.
105
106         All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
107
108         * ANGLE.xcodeproj/project.pbxproj:
109         * Configurations/Base.xcconfig:
110         * Configurations/iOS.xcconfig: Removed.
111
112 2014-08-07  Brent Fulgham  <bfulgham@apple.com>
113
114         [Win] Unreviewed gardening.
115
116         DebugSuffix targets should use our debugsuffix property sheet, and
117         will therefore build to the proper output location with the proper
118         suffix tags.
119
120         Also, we must use the WebKit_Libraries environment variable, not a set
121         of relative paths to the property sheets.
122
123         * ANGLE.vcxproj/libEGL.vcxproj: Use 'debugsuffix.props' sheet.
124         * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
125         * ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
126         * ANGLE.vcxproj/translator_common.vcxproj: Ditto.
127         * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
128         * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
129         * ANGLE.vcxproj/libEGLCommon.props: Use $(DebugSuffix) endings.
130         * ANGLE.vcxproj/libGLESv2Common.props: Ditto.
131         * ANGLE.vcxproj/translatorCommon.props: Output to 'lib' folder,
132         not 'bin' folder. These are libraries!
133
134 2014-08-02  Brent Fulgham  <bfulgham@apple.com>
135
136         [Win] Unreviewed build fix.
137
138         * src/libGLESv2/renderer/d3d11/BufferStorage11.cpp:
139         (rx::BufferStorage11::copyData): Help compiler make
140         decision about types.
141
142 2014-07-25  peavo@outlook.com  <peavo@outlook.com>
143
144         [Win][ANGLE] Enable D3D11.
145         https://bugs.webkit.org/show_bug.cgi?id=135296
146
147         Reviewed by Alex Christensen.
148
149         Direct3D 11 is not enabled on Windows.
150
151         * ANGLE.vcxproj/libGLESv2.vcxproj: Added files.
152         * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
153         * ANGLE.vcxproj/libGLESv2Common.props: Enable D3D11.
154         * src/libGLESv2/precompiled.h: Header file does not exist, avoid include.
155         * changes.diff: Updated diff.
156
157 2014-06-04  Alex Christensen  <achristensen@webkit.org>
158
159         Enable WebGL on Windows.
160         https://bugs.webkit.org/show_bug.cgi?id=133503
161
162         Reviewed by Brent Fulgham.
163
164         * changes.diff
165         Recorded additional changes from ANGLE.
166         * ANGLE.vcxproj/libEGL.vcxproj:
167         * ANGLE.vcxproj/libEGL.vcxproj.filters:
168         * ANGLE.vcxproj/libGLESv2.vcxproj:
169         * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
170         * include/EGL/egl.h:
171         * include/EGL/eglsoftlinking.h: Added.
172         * include/GLES2/gl2.h:
173         * include/GLES2/gl2softlinking.h: Added.
174         Resurrected soft linking headers from r153664.
175         * src/libGLESv2/renderer/VertexBuffer.cpp:
176         (rx::VertexBufferInterface::directStoragePossible):
177         Compile fix for Win64.
178
179 2014-05-02  Alex Christensen  <achristensen@webkit.org>
180
181         Update ANGLE Windows build.
182         https://bugs.webkit.org/show_bug.cgi?id=132456
183
184         Reviewed by Brent Fulgham.
185
186         * ANGLE.vcxproj/libEGLCommon.props:
187         * ANGLE.vcxproj/libGLESv2.vcxproj:
188         * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
189         * ANGLE.vcxproj/libGLESv2Common.props:
190         * ANGLE.vcxproj/translator_common.vcxproj:
191         * ANGLE.vcxproj/translator_common.vcxproj.filters:
192         * ANGLE.vcxproj/translator_glsl.vcxproj:
193         * ANGLE.vcxproj/translator_glsl.vcxproj.filters:
194         * ANGLE.vcxproj/translator_hlsl.vcxproj:
195         * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
196         Updated ANGLE build.
197         * src/ANGLE.sln: Removed.
198         * src/build_angle.gyp: Removed.
199         * src/commit.h: Added.
200         * changes.diff:
201         * src/libGLESv2/Program.cpp:
202         (gl::InfoLog::append):
203         Fixed typo.
204
205 2014-05-01  Alex Christensen  <achristensen@webkit.org>
206
207         Finish updating ANGLE.
208         https://bugs.webkit.org/show_bug.cgi?id=132434
209
210         Reviewed by Dean Jackson.
211
212         * ANGLE.xcodeproj/project.pbxproj:
213         Removed Uniform.cpp which is no longer in ANGLE.
214         * changes.diff:
215         Added more changes from ANGLE which are already included in WebKit.
216
217         Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af.  Long list of changes omitted.
218
219 2014-04-30  Alex Christensen  <achristensen@webkit.org>
220
221         Updated ANGLE.
222         https://bugs.webkit.org/show_bug.cgi?id=132367
223         <rdar://problem/16211451>
224
225         Reviewed by Dean Jackson.
226
227         * ANGLE.plist:
228         Updated and xml encoded.
229         * ANGLE.xcodeproj/project.pbxproj:
230         Added needed new source files.
231         * changes.diff: 
232         Added to keep track of differences between WebKit's copy of ANGLE and the master repository.
233         
234         Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af.  Long list of changes omitted.
235
236 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
237
238         [GTK] Remove the autotools build
239         https://bugs.webkit.org/show_bug.cgi?id=130717
240
241         Reviewed by Anders Carlsson.
242
243         * GNUmakefile.am: Removed.
244
245 2014-03-14  Mark Rowe  <mrowe@apple.com>
246
247         Fix the production build.
248
249         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
250         be at the expected relative path when working from installed source.
251
252         * Configurations/Base.xcconfig:
253
254 2014-03-13  Tim Horton  <timothy_horton@apple.com>
255
256         Fix relative paths to UseInternalSDK.xcconfig for ANGLE and WebKit/mac
257
258         Rubber-stamped by Mark Rowe.
259
260         One-too-few "..".
261
262         * Configurations/Base.xcconfig:
263
264 2014-03-13  Radu Stavila  <stavila@adobe.com>
265
266         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
267         https://bugs.webkit.org/show_bug.cgi?id=130087
268
269         Reviewed by Mark Rowe.
270
271         Disable garbage collection on macosx when not using internal SDK.
272
273         * Configurations/Base.xcconfig:
274
275 2014-02-24  Dean Jackson  <dino@apple.com>
276
277         Unreviewed. This file should not be marked as executable (copied in from ANGLE).
278
279         * include/KHR/khrplatform.h:
280
281 2014-02-23  David Kilzer  <ddkilzer@apple.com>
282
283         ANGLE: Stop using unsafe strcpy method
284         <http://webkit.org/b/129237>
285         <rdar://problem/11077580>
286
287         Reviewed by Dean Jackson.
288
289         * include/GLSLANG/ShaderLang.h:
290         - Drive-by fix for header documentation.
291
292         * src/compiler/translator/ShaderLang.cpp:
293         (ShGetInfoLog):
294         (ShGetObjectCode):
295         * src/libGLESv2/Program.cpp:
296         (gl::InfoLog::append):
297         - Switch to use strncpy(), and explicitly set NULL terminator at
298           the end of the buffer.
299
300 2014-02-23  Brent Fulgham  <bfulgham@apple.com>
301
302         [WinCairo] Unreviewed build fix after r164565.
303
304         * ANGLE.vcxproj/libEGL.vcxproj: Use correct path to files.
305         * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
306         * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
307         * ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
308         * ANGLE.vcxproj/translator_common.vcxproj: Ditto.
309         * ANGLE.vcxproj/translator_common.vcxproj.filters: Ditto.
310         * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
311         * ANGLE.vcxproj/translator_glsl.vcxproj.filters: Ditto.
312         * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
313         * ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Ditto.
314
315 2014-02-23  Dean Jackson  <dino@apple.com>
316
317         Missing files from previous commit.
318
319 2014-02-23  Dean Jackson  <dino@apple.com>
320
321         Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
322         https://bugs.webkit.org/show_bug.cgi?id=129232
323
324         Reviewed by Brent Fulgham.
325
326         I also reapplied some of our changes from previous updates, including disabling the clang deprecation
327         warnings in some files, adding the Apple note about license and defining YY_NO_INPUT.
328
329         Huge list of source changes omitted.
330
331 2013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
332
333         Unreviewed. Fix make distcheck.
334
335         * GNUmakefile.am:
336
337 2013-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
338
339         [GTK] Some ANGLE headers missing from dist
340         https://bugs.webkit.org/show_bug.cgi?id=125782
341
342         Reviewed by Carlos Garcia Campos.
343
344         * GNUmakefile.am: add a few headers that were missing from the build,
345         causing build failures when the system headers were incompatible.
346
347 2013-12-16  Alex Christensen  <achristensen@webkit.org>
348
349         Fixed Win64 build on VS2013.
350         https://bugs.webkit.org/show_bug.cgi?id=125753
351
352         Reviewed by Brent Fulgham.
353
354         * ANGLE.vcxproj/libGLESv2.vcxproj:
355         * ANGLE.vcxproj/preprocessor.vcxproj:
356         * ANGLE.vcxproj/translator_common.vcxproj:
357         * ANGLE.vcxproj/translator_glsl.vcxproj:
358         * ANGLE.vcxproj/translator_hlsl.vcxproj:
359         Added correct PlatformToolset for 64-bit builds.
360
361 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
362
363         [Win] Unreviewed build fix after r160548
364
365         I missed the ANGLE files, since we aren't building these
366         on the Apple Windows port at the moment.
367
368         * ANGLE.vcxproj/libEGL.vcxproj: Update to VS2013
369         * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto
370         * ANGLE.vcxproj/preprocessor.vcxproj: Ditto
371         * ANGLE.vcxproj/translator_common.vcxproj: Ditto
372         * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto
373         * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto
374
375 2013-12-06  Commit Queue  <commit-queue@webkit.org>
376
377         Unreviewed, rolling out r159543.
378         http://trac.webkit.org/changeset/159543
379         https://bugs.webkit.org/show_bug.cgi?id=125371
380
381         Build fix for mac no longer needed (Requested by rfong on
382         #webkit).
383
384         * ANGLE.xcodeproj/project.pbxproj:
385         * src/compiler/glslang_tab.cpp:
386         (yysyntax_error):
387         (glslang_parse):
388         * src/compiler/glslang_tab.h:
389         * src/compiler/preprocessor/ExpressionParser.cpp:
390         (yy_symbol_print):
391         (yy_stack_print):
392         (yy_reduce_print):
393         (yytnamerr):
394         (yysyntax_error):
395         (yydestruct):
396         (yyparse):
397
398 2013-12-05  Roger Fong  <roger_fong@apple.com>
399
400         [WebGL] Make sure we satisfy uniform and varying packing restrictions.
401         https://bugs.webkit.org/show_bug.cgi?id=125124.
402         <rdar://problem/15203291>
403
404         Reviewed by Brent Fulgham.
405
406         * src/compiler/Compiler.cpp: 
407         Add a check to enforcePackingRestrictions to ensure we make sure packing restrictions for varyings are satisfied as well.
408         (TCompiler::TCompiler):
409         (TCompiler::Init):
410         (TCompiler::compile):
411         (TCompiler::enforcePackingRestrictions):
412         * src/compiler/ShHandle.h: Keep track of maximum varying vectors.
413
414 2013-12-05  Matthew Hanson  <matthew_hanson@apple.com>
415
416         Fix ANGLE build failures by re-comitting the changes in http://trac.webkit.org/changeset/154223
417         on top of the library updates introduced by http://trac.webkit.org/changeset/159533.
418
419         Rubber-stamped by Babak Shafiei.
420
421         * src/compiler/glslang.l:
422         * src/compiler/glslang_lex.cpp:
423         * src/compiler/preprocessor/Tokenizer.cpp:
424         * src/compiler/preprocessor/Tokenizer.l:
425
426 2013-12-03  Daniel Bates  <dabates@apple.com>
427
428         ANGLE fails to build with trunk clang: unused constant kTraceBufferLen
429         https://bugs.webkit.org/show_bug.cgi?id=125164
430         https://code.google.com/p/angleproject/issues/detail?id=534
431
432         Reviewed by Darin Adler.
433
434         Move the definition of the constant kTraceBufferLen under the macro
435         guard TRACE_ENABLED since it's only referenced in code guarded by
436         TRACE_ENABLED.
437
438         * src/compiler/debug.cpp:
439
440 2013-11-21  Alex Christensen  <achristensen@webkit.org>
441
442         Remove ANGLEGenerated from Windows build.
443         https://bugs.webkit.org/show_bug.cgi?id=124759
444
445         Reviewed by Darin Adler.
446
447         * ANGLE.vcxproj/ANGLEGenerated.vcxproj: Removed.
448         * ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Removed.
449
450 2013-11-21  Alex Christensen  <achristensen@webkit.org>
451
452         Unreviewed build fix.
453
454         * src/libGLESv2/Constants.h: Added from checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
455
456 2013-11-21  Mark Rowe  <mrowe@apple.com>
457
458         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
459
460         Reviewed by Alexey Proskuryakov.
461
462         * Configurations/Base.xcconfig:
463
464 2013-11-21  Brent Fulgham  <bfulgham@apple.com>
465
466         Unreviewed gardening to hide annoying *.user files when.
467
468         * ANGLE.vcxproj: Added property svn:ignore.
469
470 2013-11-21  peavo@outlook.com  <peavo@outlook.com>
471
472         [WinCairo] Building ANGLE libraries fails.
473         https://bugs.webkit.org/show_bug.cgi?id=124679
474
475         Reviewed by Brent Fulgham.
476
477         Added/removed files to/from project, and re-added constants.h file.
478
479         * ANGLE.vcxproj/libEGL.vcxproj:
480         * ANGLE.vcxproj/libEGL.vcxproj.filters:
481         * ANGLE.vcxproj/libGLESv2.vcxproj:
482         * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
483         * ANGLE.vcxproj/libGLESv2Common.props:
484         * ANGLE.vcxproj/translator_common.vcxproj:
485         * ANGLE.vcxproj/translator_common.vcxproj.filters:
486         * ANGLE.vcxproj/translator_glsl.vcxproj:
487         * ANGLE.vcxproj/translator_glsl.vcxproj.filters:
488         * ANGLE.vcxproj/translator_hlsl.vcxproj:
489         * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
490         * src/libGLESv2/libGLESv2.def:
491
492 2013-11-20  Sergio Correia  <sergio.correia@openbossa.org>
493
494         ANGLE doesn't build with bison 3.0
495         https://bugs.webkit.org/show_bug.cgi?id=124642
496
497         Reviewed by Gyuyoung Kim.
498
499         This is a reedition of r154109, now that ANGLE source has been updated
500         in r159533.
501
502         * src/compiler/glslang.y: Use %lex-param to set YYLEX_PARAM and stop
503         using the deprecated YYID macro.
504
505 2013-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
506
507         Unreviewed. Fix GTK build.
508
509         * GNUmakefile.am: Remove duplicated entries.
510
511 2013-11-19  Martin Robinson  <mrobinson@igalia.com>
512
513         Fix the GTK+ build after the ANGLE update in r159533
514
515         * GNUmakefile.am: Update the source list.
516
517 2013-11-19  Roger Fong  <roger_fong@apple.com>
518
519         Unreviewed. Build fix for Mac.
520
521         * src/compiler/glslang_tab.cpp:
522         (yysyntax_error):
523         (yyerror):
524         * src/compiler/glslang_tab.h:
525         * src/compiler/preprocessor/ExpressionParser.cpp:
526         (yysyntax_error):
527
528 2013-11-19  Roger Fong  <roger_fong@apple.com>
529
530         Unreviewed. Prospective build fix for GTK port following r159533.
531
532         * GNUmakefile.am:
533
534 2013-11-19  Roger Fong  <roger_fong@apple.com>
535
536         Update ANGLE sources.
537         https://bugs.webkit.org/show_bug.cgi?id=124615.
538
539         Reviewed by Dean Jackson.
540
541         Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
542         Modify xcodeproj files as necessary, update plist.
543         Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
544         Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license: 
545         ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.
546
547         * ANGLE.plist:
548         * ANGLE.xcodeproj/project.pbxproj:
549         * DerivedSources.make: Removed.
550         * include/EGL/egl.h:
551         * include/EGL/eglsoftlinking.h: Removed.
552         * include/GLES2/gl2.h:
553         * include/GLES2/gl2softlinking.h: Removed.
554         * include/GLSLANG/ShaderLang.h:
555         * include/KHR/khrplatform.h:
556         * src/ANGLE.sln: Added.
557         * src/build_angle.gypi:
558         * src/common/debug.h:
559         * src/common/event_tracer.cpp: Added.
560         (gl::TraceGetTraceCategoryEnabledFlag):
561         (gl::TraceAddTraceEvent):
562         * src/common/event_tracer.h: Added.
563         * src/common/version.h:
564         * src/compiler/CodeGen.cpp: Added.
565         (ConstructCompiler):
566         (DeleteCompiler):
567         * src/compiler/CodeGenGLSL.cpp: Removed.
568         * src/compiler/CodeGenHLSL.cpp: Removed.
569         * src/compiler/Common.h:
570         (NewPoolTString):
571         * src/compiler/Compiler.cpp:
572         (TCompiler::Init):
573         (TCompiler::compile):
574         (TCompiler::InitBuiltInSymbolTable):
575         (TCompiler::clearResults):
576         (TCompiler::collectVariables):
577         * src/compiler/ConstantUnion.h:
578         * src/compiler/DetectDiscontinuity.cpp:
579         * src/compiler/InfoSink.h:
580         * src/compiler/InitializeDll.cpp:
581         (InitProcess):
582         (DetachProcess):
583         * src/compiler/InitializeDll.h:
584         * src/compiler/InitializeGLPosition.cpp: Added.
585         (InitializeGLPosition::visitAggregate):
586         (InitializeGLPosition::insertCode):
587         * src/compiler/InitializeGLPosition.h: Added.
588         (InitializeGLPosition::InitializeGLPosition):
589         (InitializeGLPosition::visitBinary):
590         (InitializeGLPosition::visitUnary):
591         (InitializeGLPosition::visitSelection):
592         (InitializeGLPosition::visitLoop):
593         (InitializeGLPosition::visitBranch):
594         * src/compiler/InitializeGlobals.h:
595         * src/compiler/InitializeParseContext.cpp:
596         (InitializeParseContextIndex):
597         (FreeParseContextIndex):
598         (SetGlobalParseContext):
599         (GetGlobalParseContext):
600         * src/compiler/InitializeParseContext.h:
601         * src/compiler/IntermTraverse.cpp:
602         (TIntermSymbol::traverse):
603         (TIntermConstantUnion::traverse):
604         (TIntermBinary::traverse):
605         (TIntermUnary::traverse):
606         (TIntermAggregate::traverse):
607         (TIntermSelection::traverse):
608         (TIntermLoop::traverse):
609         (TIntermBranch::traverse):
610         * src/compiler/Intermediate.cpp:
611         (GetHigherPrecision):
612         (getOperatorString):
613         (TIntermLoop::replaceChildNode):
614         (TIntermBranch::replaceChildNode):
615         (TIntermBinary::replaceChildNode):
616         (TIntermUnary::replaceChildNode):
617         (TIntermAggregate::replaceChildNode):
618         (TIntermSelection::replaceChildNode):
619         (TIntermOperator::isAssignment):
620         (TIntermediate::promoteConstantUnion):
621         * src/compiler/MapLongVariableNames.cpp:
622         * src/compiler/MapLongVariableNames.h:
623         * src/compiler/NodeSearch.h: Added.
624         (sh::NodeSearchTraverser::NodeSearchTraverser):
625         (sh::NodeSearchTraverser::found):
626         (sh::NodeSearchTraverser::search):
627         (sh::FindDiscard::visitBranch):
628         (sh::FindSideEffectRewriting::visitBinary):
629         * src/compiler/OutputGLSLBase.cpp:
630         (TOutputGLSLBase::visitSelection):
631         (TOutputGLSLBase::visitAggregate):
632         (TOutputGLSLBase::visitLoop):
633         * src/compiler/OutputGLSLBase.h:
634         * src/compiler/OutputHLSL.cpp:
635         (sh::OutputHLSL::OutputHLSL):
636         (sh::OutputHLSL::header):
637         (sh::OutputHLSL::visitBinary):
638         (sh::OutputHLSL::visitSelection):
639         (sh::OutputHLSL::visitBranch):
640         (sh::OutputHLSL::handleExcessiveLoop):
641         (sh::OutputHLSL::addConstructor):
642         * src/compiler/OutputHLSL.h:
643         * src/compiler/ParseContext.cpp: Added.
644         (TParseContext::parseVectorFields):
645         (TParseContext::parseMatrixFields):
646         (TParseContext::recover):
647         (TParseContext::error):
648         (TParseContext::warning):
649         (TParseContext::trace):
650         (TParseContext::assignError):
651         (TParseContext::unaryOpError):
652         (TParseContext::binaryOpError):
653         (TParseContext::precisionErrorCheck):
654         (TParseContext::lValueErrorCheck):
655         (TParseContext::constErrorCheck):
656         (TParseContext::integerErrorCheck):
657         (TParseContext::globalErrorCheck):
658         (TParseContext::reservedErrorCheck):
659         (TParseContext::constructorErrorCheck):
660         (TParseContext::voidErrorCheck):
661         (TParseContext::boolErrorCheck):
662         (TParseContext::samplerErrorCheck):
663         (TParseContext::structQualifierErrorCheck):
664         (TParseContext::parameterSamplerErrorCheck):
665         (TParseContext::containsSampler):
666         (TParseContext::arraySizeErrorCheck):
667         (TParseContext::arrayQualifierErrorCheck):
668         (TParseContext::arrayTypeErrorCheck):
669         (TParseContext::arrayErrorCheck):
670         (TParseContext::nonInitConstErrorCheck):
671         (TParseContext::nonInitErrorCheck):
672         (TParseContext::paramErrorCheck):
673         (TParseContext::extensionErrorCheck):
674         (TParseContext::supportsExtension):
675         (TParseContext::isExtensionEnabled):
676         (TParseContext::findFunction):
677         (TParseContext::executeInitializer):
678         (TParseContext::areAllChildConst):
679         (TParseContext::addConstructor):
680         (TParseContext::foldConstConstructor):
681         (TParseContext::constructBuiltIn):
682         (TParseContext::constructStruct):
683         (TParseContext::addConstVectorNode):
684         (TParseContext::addConstMatrixNode):
685         (TParseContext::addConstArrayNode):
686         (TParseContext::addConstStruct):
687         (TParseContext::enterStructDeclaration):
688         (TParseContext::exitStructDeclaration):
689         (TParseContext::structNestingErrorCheck):
690         (TParseContext::addIndexExpression):
691         (PaParseStrings):
692         * src/compiler/ParseContext.h: Added.
693         (TParseContext::TParseContext):
694         (TParseContext::numErrors):
695         (TParseContext::infoSink):
696         (TParseContext::pragma):
697         (TParseContext::extensionBehavior):
698         * src/compiler/ParseHelper.cpp: Removed.
699         * src/compiler/ParseHelper.h: Removed.
700         * src/compiler/PoolAlloc.cpp:
701         (InitializePoolIndex):
702         (FreePoolIndex):
703         (GetGlobalPoolAllocator):
704         (SetGlobalPoolAllocator):
705         * src/compiler/PoolAlloc.h:
706         (pool_allocator::pool_allocator):
707         * src/compiler/SearchSymbol.h:
708         * src/compiler/ShHandle.h:
709         (TCompiler::getVaryings):
710         * src/compiler/ShaderLang.cpp:
711         (checkVariableMaxLengths):
712         (ShInitialize):
713         (ShFinalize):
714         (ShConstructCompiler):
715         (ShCompile):
716         (ShGetInfo):
717         (ShGetVariableInfo):
718         (ShCheckVariablesWithinPackingLimits):
719         * src/compiler/SymbolTable.cpp:
720         (TSymbolTable::~TSymbolTable):
721         * src/compiler/SymbolTable.h:
722         (TSymbol::TSymbol):
723         (TSymbolTableLevel::insert):
724         (TSymbolTable::push):
725         (TSymbolTable::pop):
726         (TSymbolTable::findBuiltIn):
727         (TSymbolTable::relateToExtension):
728         (TSymbolTable::setDefaultPrecision):
729         (TSymbolTable::getDefaultPrecision):
730         (TSymbolTable::supportsPrecision):
731         * src/compiler/Types.h:
732         (NewPoolTFieldList):
733         (TType::TType):
734         (TType::setNominalSize):
735         (TPublicType::setAggregate):
736         * src/compiler/UnfoldShortCircuit.cpp:
737         (sh::UnfoldShortCircuit::visitBinary):
738         (sh::UnfoldShortCircuit::visitSelection):
739         * src/compiler/UnfoldShortCircuit.h:
740         * src/compiler/UnfoldShortCircuitAST.cpp: Added.
741         (UnfoldShortCircuitAST::visitBinary):
742         (UnfoldShortCircuitAST::updateTree):
743         * src/compiler/UnfoldShortCircuitAST.h: Added.
744         (UnfoldShortCircuitAST::UnfoldShortCircuitAST):
745         (UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):
746         * src/compiler/Uniform.cpp:
747         (sh::Uniform::Uniform):
748         * src/compiler/Uniform.h:
749         * src/compiler/ValidateLimitations.cpp:
750         (ValidateLimitations::validateFunctionCall):
751         (ValidateLimitations::validateOperation):
752         * src/compiler/VariableInfo.cpp:
753         (TVariableInfo::TVariableInfo):
754         (CollectVariables::CollectVariables):
755         (CollectVariables::visitSymbol):
756         (CollectVariables::visitAggregate):
757         * src/compiler/VariableInfo.h:
758         * src/compiler/debug.cpp:
759         * src/compiler/depgraph/DependencyGraph.cpp:
760         * src/compiler/depgraph/DependencyGraphBuilder.cpp:
761         (TDependencyGraphBuilder::visitBinary):
762         * src/compiler/generate_parser.sh:
763         * src/compiler/glslang.l:
764         * src/compiler/glslang.y:
765         * src/compiler/glslang_lex.cpp:
766         (input):
767         (yyerror):
768         (int_constant):
769         (float_constant):
770         (glslang_scan):
771         * src/compiler/glslang_tab.cpp:
772         (yysyntax_error):
773         (glslang_parse):
774         * src/compiler/glslang_tab.h:
775         * src/compiler/intermediate.h:
776         (TIntermSymbol::hasSideEffects):
777         (TIntermSymbol::replaceChildNode):
778         (TIntermConstantUnion::hasSideEffects):
779         (TIntermConstantUnion::getIConst):
780         (TIntermConstantUnion::getFConst):
781         (TIntermConstantUnion::getBConst):
782         (TIntermConstantUnion::replaceChildNode):
783         (TIntermOperator::hasSideEffects):
784         (TIntermBinary::hasSideEffects):
785         (TIntermUnary::hasSideEffects):
786         (TIntermAggregate::hasSideEffects):
787         (TIntermSelection::hasSideEffects):
788         (TIntermTraverser::~TIntermTraverser):
789         (TIntermTraverser::incrementDepth):
790         (TIntermTraverser::decrementDepth):
791         (TIntermTraverser::getParentNode):
792         * src/compiler/localintermediate.h:
793         * src/compiler/parseConst.cpp:
794         * src/compiler/preprocessor/ExpressionParser.cpp:
795         (yy_symbol_print):
796         (yy_stack_print):
797         (yy_reduce_print):
798         (yystrlen):
799         (yystpcpy):
800         (yytnamerr):
801         (yysyntax_error):
802         (yydestruct):
803         (yyparse):
804         * src/compiler/preprocessor/ExpressionParser.y:
805         * src/compiler/preprocessor/Preprocessor.cpp:
806         (pp::Preprocessor::setMaxTokenLength):
807         (pp::Preprocessor::lex):
808         * src/compiler/preprocessor/Preprocessor.h:
809         * src/compiler/preprocessor/Tokenizer.cpp:
810         (pp::Tokenizer::Tokenizer):
811         (pp::Tokenizer::lex):
812         * src/compiler/preprocessor/Tokenizer.h:
813         (pp::Tokenizer::setMaxTokenLength):
814         * src/compiler/preprocessor/Tokenizer.l:
815         * src/compiler/preprocessor/generate_parser.sh:
816         * src/compiler/preprocessor/preprocessor.vcxproj: Added.
817         * src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
818         * src/compiler/timing/RestrictFragmentShaderTiming.cpp:
819         * src/compiler/translator.vcxproj: Added.
820         * src/compiler/translator.vcxproj.filters: Added.
821         * src/compiler/util.cpp:
822         (atof_clamp):
823         (atoi_clamp):
824         * src/compiler/util.h:
825         * src/libEGL/Surface.cpp:
826         (egl::Surface::checkForOutOfDateSwapChain):
827         * src/libEGL/libEGL.cpp:
828         * src/libEGL/libEGL.rc:
829         * src/libEGL/libEGL.vcxproj: Added.
830         * src/libEGL/libEGL.vcxproj.filters: Added.
831         * src/libGLESv2/Buffer.cpp:
832         (gl::Buffer::bufferData):
833         (gl::Buffer::bufferSubData):
834         (gl::Buffer::size):
835         (gl::Buffer::getIndexRangeCache):
836         * src/libGLESv2/Buffer.h:
837         * src/libGLESv2/Context.cpp:
838         (gl::Context::applyTextures):
839         (gl::Context::getBoundFramebufferTextureSerials):
840         * src/libGLESv2/Context.h:
841         (gl::Context::getRenderer):
842         * src/libGLESv2/Framebuffer.h:
843         * src/libGLESv2/ProgramBinary.cpp:
844         (gl::DiscardWorkaround):
845         (gl::ProgramBinary::load):
846         (gl::ProgramBinary::link):
847         (gl::ProgramBinary::linkAttributes):
848         (gl::AttributeSorter::AttributeSorter):
849         (gl::ProgramBinary::initAttributesByLayout):
850         (gl::ProgramBinary::sortAttributesByLayout):
851         * src/libGLESv2/ProgramBinary.h:
852         * src/libGLESv2/Renderbuffer.cpp:
853         (gl::RenderbufferTexture2D::getTextureSerial):
854         (gl::RenderbufferTextureCubeMap::getTextureSerial):
855         (gl::Renderbuffer::getTextureSerial):
856         * src/libGLESv2/Renderbuffer.h:
857         (gl::RenderbufferStorage::getTextureSerial):
858         * src/libGLESv2/Shader.cpp:
859         (gl::Shader::parseVaryings):
860         (gl::Shader::uncompile):
861         * src/libGLESv2/Shader.h:
862         * src/libGLESv2/Texture.cpp:
863         (gl::TextureCubeMap::storage):
864         * src/libGLESv2/Uniform.cpp:
865         (gl::Uniform::Uniform):
866         (gl::Uniform::~Uniform):
867         (gl::Uniform::isArray):
868         (gl::Uniform::elementCount):
869         * src/libGLESv2/Uniform.h:
870         * src/libGLESv2/constants.h: Removed.
871         * src/libGLESv2/libGLESv2.def:
872         * src/libGLESv2/libGLESv2.rc:
873         * src/libGLESv2/libGLESv2.vcxproj: Added.
874         * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
875         * src/libGLESv2/precompiled.h:
876         * src/libGLESv2/renderer/Image11.cpp:
877         (rx::Image11::generateMipmap):
878         (rx::Image11::loadData):
879         (rx::Image11::loadCompressedData):
880         (rx::Image11::copy):
881         (rx::Image11::createStagingTexture):
882         (rx::Image11::map):
883         * src/libGLESv2/renderer/Image11.h:
884         * src/libGLESv2/renderer/IndexBuffer.cpp:
885         (rx::IndexBufferInterface::mapBuffer):
886         (rx::StaticIndexBufferInterface::getIndexRangeCache):
887         * src/libGLESv2/renderer/IndexBuffer.h:
888         * src/libGLESv2/renderer/IndexBuffer11.cpp:
889         (rx::IndexBuffer11::mapBuffer):
890         * src/libGLESv2/renderer/IndexDataManager.cpp:
891         (rx::IndexDataManager::prepareIndexData):
892         (rx::IndexDataManager::getCountingIndices):
893         * src/libGLESv2/renderer/IndexRangeCache.cpp: Added.
894         (rx::IndexRangeCache::addRange):
895         (rx::IndexRangeCache::invalidateRange):
896         (rx::IndexRangeCache::findRange):
897         (rx::IndexRangeCache::clear):
898         (rx::IndexRangeCache::IndexRange::IndexRange):
899         (rx::IndexRangeCache::IndexRange::operator<):
900         (rx::IndexRangeCache::IndexBounds::IndexBounds):
901         * src/libGLESv2/renderer/IndexRangeCache.h: Added.
902         * src/libGLESv2/renderer/InputLayoutCache.cpp:
903         (rx::InputLayoutCache::InputLayoutCache):
904         (rx::InputLayoutCache::clear):
905         (rx::InputLayoutCache::markDirty):
906         (rx::InputLayoutCache::applyVertexBuffers):
907         (rx::InputLayoutCache::hashInputLayout):
908         (rx::InputLayoutCache::compareInputLayouts):
909         * src/libGLESv2/renderer/InputLayoutCache.h:
910         (rx::InputLayoutCache::InputLayoutKey::begin):
911         (rx::InputLayoutCache::InputLayoutKey::end):
912         * src/libGLESv2/renderer/RenderTarget11.cpp:
913         (rx::RenderTarget11::getTexture):
914         (rx::RenderTarget11::getRenderTargetView):
915         (rx::RenderTarget11::getDepthStencilView):
916         (rx::RenderTarget11::getShaderResourceView):
917         * src/libGLESv2/renderer/RenderTarget11.h:
918         * src/libGLESv2/renderer/Renderer.cpp:
919         (rx::Renderer::initializeCompiler):
920         * src/libGLESv2/renderer/Renderer.h:
921         * src/libGLESv2/renderer/Renderer11.cpp:
922         (rx::Renderer11::initialize):
923         (rx::Renderer11::applyPrimitiveType):
924         (rx::Renderer11::applyRenderTarget):
925         (rx::Renderer11::drawLineLoop):
926         (rx::Renderer11::drawTriangleFan):
927         (rx::Renderer11::applyUniforms):
928         (rx::Renderer11::clear):
929         (rx::Renderer11::markAllStateDirty):
930         (rx::Renderer11::copyImage):
931         (rx::Renderer11::compileToExecutable):
932         (rx::Renderer11::getRenderTargetResource):
933         (rx::Renderer11::blitRenderbufferRect):
934         * src/libGLESv2/renderer/Renderer11.h:
935         * src/libGLESv2/renderer/Renderer9.cpp:
936         (rx::Renderer9::initialize):
937         (rx::Renderer9::setViewport):
938         (rx::Renderer9::drawLineLoop):
939         (rx::Renderer9::compileToExecutable):
940         * src/libGLESv2/renderer/Renderer9.h:
941         * src/libGLESv2/renderer/SwapChain.h:
942         * src/libGLESv2/renderer/SwapChain11.cpp:
943         (rx::SwapChain11::resetOffscreenTexture):
944         (rx::SwapChain11::reset):
945         (rx::SwapChain11::swapRect):
946         * src/libGLESv2/renderer/SwapChain9.cpp:
947         (rx::convertInterval):
948         * src/libGLESv2/renderer/TextureStorage11.cpp:
949         (rx::TextureStorage11::IsTextureFormatRenderable):
950         (rx::TextureStorage11::generateMipmapLayer):
951         (rx::TextureStorage11_Cube::getRenderTarget):
952         * src/libGLESv2/renderer/VertexBuffer.cpp:
953         (rx::VertexBufferInterface::storeVertexAttributes):
954         (rx::VertexBufferInterface::storeRawData):
955         (rx::VertexBufferInterface::reserveVertexSpace):
956         (rx::StaticVertexBufferInterface::lookupAttribute):
957         (rx::StaticVertexBufferInterface::storeVertexAttributes):
958         * src/libGLESv2/renderer/VertexBuffer.h:
959         * src/libGLESv2/renderer/VertexBuffer11.cpp:
960         (rx::VertexBuffer11::getSpaceRequired):
961         * src/libGLESv2/renderer/VertexBuffer11.h:
962         * src/libGLESv2/renderer/VertexBuffer9.cpp:
963         (rx::VertexBuffer9::storeVertexAttributes):
964         (rx::VertexBuffer9::getSpaceRequired):
965         (rx::VertexBuffer9::requiresConversion):
966         (rx::VertexBuffer9::getVertexSize):
967         (rx::VertexBuffer9::spaceRequired):
968         * src/libGLESv2/renderer/VertexBuffer9.h:
969         * src/libGLESv2/renderer/VertexDataManager.cpp:
970         (rx::elementsInBuffer):
971         (rx::StreamingBufferElementCount):
972         (rx::VertexDataManager::prepareVertexData):
973         * src/libGLESv2/renderer/VertexDataManager.h:
974         * src/libGLESv2/renderer/renderer11_utils.cpp:
975         (gl_d3d11::ConvertTextureFormat):
976         * src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
977         * src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
978         * src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
979         * src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
980         * src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
981         * src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
982         * src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
983         * src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
984         * src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
985         * src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
986         * src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
987         * src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
988         * src/libGLESv2/renderer/shaders/compiled/standardvs.h:
989         * src/libGLESv2/renderer/shaders/generate_shaders.bat:
990         * src/libGLESv2/utilities.cpp:
991         (gl::ComputeTypeSize):
992         * src/libGLESv2/utilities.h:
993         * src/third_party/murmurhash/MurmurHash3.cpp:
994         (rotl32):
995         (rotl64):
996         (getblock):
997         (fmix):
998         (MurmurHash3_x86_32):
999         (MurmurHash3_x86_128):
1000         (MurmurHash3_x64_128):
1001         * src/third_party/murmurhash/MurmurHash3.h:
1002         * src/third_party/trace_event: Added.
1003         * src/third_party/trace_event/trace_event.h: Added.
1004         (gl::TraceEvent::TraceID::TraceID):
1005         (gl::TraceEvent::TraceID::data):
1006         (gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
1007         (gl::TraceEvent::TraceStringWithCopy::operator const char* ):
1008         (gl::TraceEvent::setTraceValue):
1009         (gl::TraceEvent::addTraceEvent):
1010         (gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
1011         (gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
1012         (gl::TraceEvent::TraceEndOnScopeClose::initialize):
1013         (gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
1014         (gl::TraceEvent::SamplingStateScope::SamplingStateScope):
1015         (gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
1016         (gl::TraceEvent::SamplingStateScope::current):
1017         (gl::TraceEvent::SamplingStateScope::set):
1018
1019 2013-11-18  Mark Rowe  <mrowe@apple.com>
1020
1021         Use hw.activecpu for determining how many processes to spawn.
1022
1023         It's documented as the preferred way to determine the number of threads
1024         or processes to create in a SMP aware application.
1025
1026         Rubber-stamped by Tim Horton.
1027
1028         * ANGLE.xcodeproj/project.pbxproj:
1029
1030 2013-11-06  Dean Jackson  <dino@apple.com>
1031
1032         kTraceBufferLen is unused in default builds
1033         https://bugs.webkit.org/show_bug.cgi?id=123941
1034         <rdar://problem/15409804>
1035
1036         Reviewed by Tim Horton.
1037
1038         kTraceBufferLen is not used in debug.cpp if TRACE_ENABLED is
1039         not defined. This causes a warning in newer builds of clang.
1040         For now, skip warnings on unused variables until we
1041         update from ANGLE.
1042
1043         * src/compiler/debug.cpp: Add unused-variable ignore pragma.
1044
1045 2013-10-24  Mark Rowe  <mrowe@apple.com>
1046
1047         Remove references to OS X 10.7 from Xcode configuration settings.
1048
1049         Now that we're not building for OS X 10.7 they're no longer needed.
1050
1051         Reviewed by Anders Carlsson.
1052
1053         * Configurations/Base.xcconfig:
1054         * Configurations/DebugRelease.xcconfig:
1055
1056 2013-10-24  Mark Rowe  <mrowe@apple.com>
1057
1058         <rdar://problem/15312643> Prepare for the mysterious future.
1059
1060         Reviewed by David Kilzer.
1061
1062         * Configurations/Base.xcconfig:
1063         * Configurations/DebugRelease.xcconfig:
1064
1065 2013-10-10  Mark Rowe  <mrowe@apple.com>
1066
1067         <rdar://problem/13341666> WebKit should always build against an SDK.
1068
1069         Have all projects default to building against the OS X Internal SDK for the Production
1070         configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
1071         to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
1072
1073         Reviewed by Dan Bernstein.
1074
1075         * Configurations/Base.xcconfig:
1076         * Configurations/DebugRelease.xcconfig:
1077
1078 2013-10-08  Alex Christensen  <achristensen@webkit.org>
1079
1080         Generate pdb files for debugging ANGLE DLLs.
1081         https://bugs.webkit.org/show_bug.cgi?id=122530
1082
1083         Reviewed by Brent Fulgham.
1084
1085         * ANGLE.vcxproj/libEGLCommon.props:
1086         * ANGLE.vcxproj/libGLESv2Common.props:
1087         Generate debug information.
1088
1089 2013-10-03  Dan Bernstein  <mitz@apple.com>
1090
1091         <rdar://problem/15116673> [mac] Build failure when the source directory is not named ANGLE
1092         https://bugs.webkit.org/show_bug.cgi?id=122307
1093
1094         Reviewed by Mark Rowe.
1095
1096         * ANGLE.xcodeproj/project.pbxproj: Ensure that the symlink to SRCROOT in
1097         DerivedSources/ANGLE is named ANGLE.
1098
1099 2013-09-29  Darin Adler  <darin@apple.com>
1100
1101         Take some Xcode advice about turning on additional warnings in ANGLE and gtest
1102         https://bugs.webkit.org/show_bug.cgi?id=122087
1103
1104         Reviewed by Mark Rowe.
1105
1106         * Configurations/Base.xcconfig: Add some of the warnings that Xcode 5 suggested.
1107         * src/compiler/preprocessor/Tokenizer.l: Defined YY_NO_INPUT so we don't compile
1108         an unused function and get a warning.
1109
1110 2013-09-29  Darin Adler  <darin@apple.com>
1111
1112         Use RenderElement instead of RenderObject in many places
1113         https://bugs.webkit.org/show_bug.cgi?id=122078
1114
1115         Reviewed by Andreas Kling.
1116
1117         * ANGLE.xcodeproj/project.pbxproj: Let Xcode do its thing to this file.
1118
1119 2013-09-24  Mark Rowe  <mrowe@apple.com>
1120
1121         <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
1122
1123         Reviewed by Dan Bernstein.
1124
1125         * Configurations/Base.xcconfig:
1126
1127 2013-09-06  peavo@outlook.com  <peavo@outlook.com>
1128
1129         [Win][WebGL] WebGL rendering is slow.
1130         https://bugs.webkit.org/show_bug.cgi?id=120841
1131
1132         Reviewed by Brent Fulgham.
1133
1134         Rendering WebGL content is slow on Windows, because lots of debug information is written to debug.txt.
1135
1136         * ANGLE.vcxproj/ANGLERelease.props: Disable logging in release builds.
1137
1138 2013-09-05  Dan Bernstein  <mitz@apple.com>
1139
1140         INSTALL_PATH_PREFIX is used even when not installing
1141         https://bugs.webkit.org/show_bug.cgi?id=120818
1142
1143         Reviewed by Darin Adler.
1144
1145         * Configurations/ANGLE.xcconfig: Changed the definition of PRIVATE_HEADERS_FOLDER_PATH
1146         to include INSTALL_PATH_PREFIX only when installing.
1147
1148 2013-08-17  David Kilzer  <ddkilzer@apple.com>
1149
1150         ANGLE fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
1151         <http://webkit.org/b/119931>
1152         <rdar://problem/14763822>
1153
1154         Reviewed by Darin Adler.
1155
1156         * src/compiler/glslang.l:
1157         * src/compiler/glslang_lex.cpp:
1158         * src/compiler/preprocessor/Tokenizer.cpp:
1159         * src/compiler/preprocessor/Tokenizer.l:
1160         Add pragma statements to ignore -Wdeprecated-register warnings
1161         in generated code.  Also ignore -Wunknown-pragmas so this
1162         doesn't cause a build failure in older versions of clang.
1163
1164 2013-08-16  Commit Queue  <commit-queue@webkit.org>
1165
1166         Unreviewed, rolling out r153749.
1167         http://trac.webkit.org/changeset/153749
1168         https://bugs.webkit.org/show_bug.cgi?id=119892
1169
1170         The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
1171
1172         * GNUmakefile.am: Preserve the libANGLE.la dependency on the ANGLE's GNUmakefile.am.
1173
1174 2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1175
1176         ANGLE doesn't build with bison 3.0
1177         https://bugs.webkit.org/show_bug.cgi?id=119798
1178
1179         Reviewed by Antti Koivisto.
1180
1181         Make glslang.y compatible with bison 3.0, by using %lex-param
1182         to set YYLEX_PARAM and getting rid of useless YYID macro.
1183
1184         * src/compiler/glslang.y:
1185
1186 2013-08-09  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1187
1188         [Qt] Buidfix after r153664. Adding ANGLE_WEBKIT_WIN definition.
1189         https://bugs.webkit.org/show_bug.cgi?id=119577
1190
1191         Reviewed by Allan Sandfeld Jensen.
1192
1193         * Target.pri:
1194
1195 2013-08-08  Alex Christensen  <achristensen@apple.com>
1196
1197         Link to correct DirectX libraries for Win64 ANGLE build.
1198         https://bugs.webkit.org/show_bug.cgi?id=119600
1199
1200         Reviewed by Brent Fulgham.
1201
1202         * ANGLE.vcxproj/DirectX32.props: Added with x86 DirectX library directory.
1203         * ANGLE.vcxproj/DirectX64.props: Added with x64 DirectX library directory.
1204         * ANGLE.vcxproj/libEGL.vcxproj:
1205         * ANGLE.vcxproj/libGLESv2.vcxproj:
1206         Use DirectX32.props and DirectX64.props.
1207         * ANGLE.vcxproj/libEGLCommon.props:
1208         * ANGLE.vcxproj/libGLESv2Common.props:
1209         Removed DirectX library directory.
1210
1211 2013-07-23  David Farler  <dfarler@apple.com>
1212
1213         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
1214         https://bugs.webkit.org/show_bug.cgi?id=117762
1215
1216         Reviewed by Mark Rowe.
1217
1218         * Configurations/DebugRelease.xcconfig:
1219         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS.
1220
1221 2013-08-06  Zan Dobersek  <zdobersek@igalia.com>
1222
1223         webkit-gtk fails to build with bison-3.0
1224         https://bugs.webkit.org/show_bug.cgi?id=119373
1225
1226         Reviewed by Gustavo Noronha Silva.
1227
1228         * GNUmakefile.am: Stop relying on generated glslang_tab.(cpp|h) and glslang.cpp sources as Bison 3.0
1229         produces non-compilable source code. Instead, compile these pregenerated files as they're included in
1230         the tree. Originally, the ANGLE source tree provides these files as generated by Bison 2.7, but they're
1231         at the moment regenerated with Bison 2.3 when the third-party ANGLE source is being updated.
1232
1233 2013-08-05  Alex Christensen  <achristensen@apple.com>
1234
1235         Added optimizations to Windows ANGLE builds.
1236         https://bugs.webkit.org/show_bug.cgi?id=119500
1237
1238         Reviewed by Brent Fulgham.
1239
1240         * ANGLE.vcxproj/ANGLERelease.props: Added.
1241         * ANGLE.vcxproj/libEGL.vcxproj:
1242         * ANGLE.vcxproj/libGLESv2.vcxproj:
1243         * ANGLE.vcxproj/preprocessor.vcxproj:
1244         * ANGLE.vcxproj/translator_common.vcxproj:
1245         * ANGLE.vcxproj/translator_glsl.vcxproj:
1246         * ANGLE.vcxproj/translator_hlsl.vcxproj:
1247         Use ANGLERelease.props for Release, Release_WinCairo, and Production configurations.
1248
1249 2013-08-02  Alex Christensen  <achristensen@apple.com>
1250
1251         Soft link ANGLE on Windows.
1252         https://bugs.webkit.org/show_bug.cgi?id=119452
1253
1254         Reviewed by Dean Jackson.
1255
1256         * ANGLE.vcxproj/libEGL.vcxproj:
1257         * ANGLE.vcxproj/libEGL.vcxproj.filters:
1258         * ANGLE.vcxproj/libGLESv2.vcxproj:
1259         * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
1260         Added soft linking headers.
1261         * ANGLE.vcxproj/libEGLCommon.props:
1262         * ANGLE.vcxproj/libGLESv2Common.props:
1263         * ANGLE.vcxproj/translatorCommon.props:
1264         Added ANGLE_WEBKIT_WIN macro definition for egl.h and gl2.h.
1265         * include/EGL/egl.h:
1266         * include/GLES2/gl2.h:
1267         Conditionally include soft linking headers based on ANGLE_WEBKIT_WIN macro.
1268         * include/EGL/eglsoftlinking.h: Added.
1269         * include/GLES2/gl2softlinking.h: Added.
1270
1271 2013-08-01  Alex Christensen  <achristensen@apple.com>
1272
1273         Fixed wrong static_casting in ANGLE from r153064.
1274         https://bugs.webkit.org/show_bug.cgi?id=119296
1275
1276         Reviewed by Dean Jackson.
1277
1278         * src/compiler/Intermediate.cpp:
1279         (TIntermediate::promoteConstantUnion):
1280         Undid erroneous static_cast change.
1281         * src/compiler/intermediate.h:
1282         (TIntermConstantUnion::getIConst):
1283         (TIntermConstantUnion::getFConst):
1284         (TIntermConstantUnion::getBConst):
1285         Made getters use size_t instead of int.
1286
1287 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1288
1289         Unreviewed. Fix make distcheck.
1290
1291         * GNUmakefile.am: Add missing header files to compilation.
1292
1293 2013-07-29  Alex Christensen  <achristensen@apple.com>
1294
1295         Separated translator into preprocessor, translator_common,
1296         translator_hlsl (for libGLESv2), and translator_glsl
1297         (for ANGLEWebKitBridge).
1298         https://bugs.webkit.org/show_bug.cgi?id=119221
1299
1300         Reviewed by Brent Fulgham.
1301
1302         * ANGLE.vcxproj/ANGLEGenerated.vcxproj:
1303         Removed unused preprocessor definitions.
1304         * ANGLE.vcxproj/libEGL.vcxproj:
1305         * ANGLE.vcxproj/libGLESv2.vcxproj:
1306         Removed dependency on removed translator project.
1307         * ANGLE.vcxproj/libGLESv2Common.props:
1308         Link to translator_hlsl libraries.
1309         * ANGLE.vcxproj/preprocessor.vcxproj: Added.
1310         * ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
1311         * ANGLE.vcxproj/translator.vcxproj: Removed.
1312         * ANGLE.vcxproj/translator.vcxproj.filters: Removed.
1313         * ANGLE.vcxproj/translator_common.vcxproj: Added.
1314         * ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
1315         * ANGLE.vcxproj/translator_glsl.vcxproj: Added.
1316         * ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
1317         * ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
1318         * ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.
1319
1320 2013-07-26  Alex Christensen  <achristensen@apple.com>
1321
1322         Added module definition file for building libEGL.
1323         https://bugs.webkit.org/show_bug.cgi?id=119162
1324
1325         Reviewed by Brent Fulgham.
1326
1327         * ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
1328
1329 2013-07-25  Alex Christensen  <achristensen@apple.com>
1330
1331         Made Windows build system for ANGLE and removed existing broken build system.
1332         Removed empty src/libGLESv2/shaders directory and old README files.
1333         https://bugs.webkit.org/show_bug.cgi?id=119103
1334
1335         Reviewed by Brent Fulgham.
1336
1337         * ANGLE.vcxproj: Added.
1338         * ANGLE.vcxproj/ANGLEGenerated.vcxproj: Added.
1339         * ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Added.
1340         * ANGLE.vcxproj/libEGL.vcxproj: Added.
1341         * ANGLE.vcxproj/libEGL.vcxproj.filters: Added.
1342         * ANGLE.vcxproj/libEGLCommon.props: Added.
1343         * ANGLE.vcxproj/libGLESv2.vcxproj: Added.
1344         * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Added.
1345         * ANGLE.vcxproj/libGLESv2Common.props: Added.
1346         * ANGLE.vcxproj/translator.vcxproj: Added.
1347         * ANGLE.vcxproj/translator.vcxproj.filters: Added.
1348         * ANGLE.vcxproj/translatorCommon.props: Added.
1349         * src/ANGLE.sln: Removed.
1350         * src/compiler/preprocessor/preprocessor.vcxproj: Removed.
1351         * src/compiler/preprocessor/preprocessor.vcxproj.filters: Removed.
1352         * src/compiler/translator_common.vcxproj: Removed.
1353         * src/compiler/translator_common.vcxproj.filters: Removed.
1354         * src/compiler/translator_hlsl.vcxproj: Removed.
1355         * src/compiler/translator_hlsl.vcxproj.filters: Removed.
1356         * src/libEGL/README: Removed.
1357         * src/libEGL/libEGL.vcxproj: Removed.
1358         * src/libEGL/libEGL.vcxproj.filters: Removed.
1359         * src/libGLESv2/README: Removed.
1360         * src/libGLESv2/libGLESv2.vcxproj: Removed.
1361         * src/libGLESv2/libGLESv2.vcxproj.filters: Removed.
1362         * src/libGLESv2/shaders: Removed.
1363
1364 2013-07-24  Alex Christensen  <achristensen@apple.com>
1365
1366         Generate derived files in ANGLE at build time rather than when updating from upstream.
1367         https://bugs.webkit.org/show_bug.cgi?id=118872
1368
1369         Reviewed by Mark Rowe.
1370
1371         * ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
1372         moved generated files into Derived Sources group.
1373         * DerivedSources.make: Added.
1374
1375 2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
1376
1377         Unreviewed. Setting the svn:eol-style=native property on the ANGLE.sln file.
1378
1379         * src/ANGLE.sln: Added property svn:eol-style.
1380
1381 2013-07-24  Gabor Abraham  <abrhm@inf.u-szeged.hu>
1382
1383         [Qt] Buildfix after r153064. Add Uniform files to the Target.pri.
1384
1385         Reviewed by Csaba Osztrogonác.
1386
1387         * Target.pri:
1388
1389 2013-07-23  Alex Christensen  <achristensen@apple.com>
1390
1391         Updated ANGLE to latest git commit (047373aa3eb408be62be52ade840fa5f11e72337).
1392         Added missing ANGLE files except unused tests, extensions, samples, build, and .git directories.
1393         Ran Bison after making some changes to fix compile errors (see below).
1394
1395         https://bugs.webkit.org/show_bug.cgi?id=118550
1396
1397         Reviewed by Dean Jackson.
1398
1399         * ANGLE.plist: Updated from svn to git.
1400         * ANGLE.xcodeproj/project.pbxproj: Renamed DetectRecursion to DetectCallDepth.
1401         * AUTHORS: Added.
1402         * CONTRIBUTORS: Added.
1403         * DEPS: Added.
1404         * GNUmakefile.am: Renamed DetectRecursion to DetectCallDepth and added Uniform.cpp.
1405         * LICENSE: Added.
1406         * README.chromium: Added.
1407         * Target.pri: Renamed DetectRecursion to DetectCallDepth.
1408         * codereview.settings: Added.
1409         * include/EGL/eglext.h:
1410         * include/GLES2/gl2ext.h:
1411         * include/GLSLANG/ShaderLang.h:
1412         * src/ANGLE.sln: Added.
1413         * src/build_angle.gyp: Added.
1414         * src/build_angle.gypi: Added.
1415         * src/common/RefCountObject.cpp:
1416         * src/common/angleutils.h:
1417         (ArraySize):
1418         (SafeRelease):
1419         * src/common/debug.cpp:
1420         * src/common/debug.h:
1421         * src/common/system.h:
1422         * src/common/version.h:
1423         * src/compiler/64bit-lexer-safety.patch: Added.
1424         * src/compiler/BaseTypes.h:
1425         (getQualifierString):
1426         * src/compiler/CodeGenHLSL.cpp:
1427         (ConstructCompiler):
1428         * src/compiler/Common.h:
1429         * src/compiler/Compiler.cpp:
1430         (TCompiler::TCompiler):
1431         (TCompiler::Init):
1432         (TCompiler::compile):
1433         (TCompiler::InitBuiltInSymbolTable):
1434         (TCompiler::detectCallDepth):
1435         (TCompiler::limitExpressionComplexity):
1436         (TCompiler::getResources):
1437         * src/compiler/ConstantUnion.h:
1438         (ConstantUnion::ConstantUnion):
1439         * src/compiler/DetectCallDepth.cpp: Added.
1440         (DetectCallDepth::FunctionNode::FunctionNode):
1441         (DetectCallDepth::FunctionNode::getName):
1442         (DetectCallDepth::FunctionNode::addCallee):
1443         (DetectCallDepth::FunctionNode::detectCallDepth):
1444         (DetectCallDepth::FunctionNode::reset):
1445         (DetectCallDepth::DetectCallDepth):
1446         (DetectCallDepth::~DetectCallDepth):
1447         (DetectCallDepth::visitAggregate):
1448         (DetectCallDepth::checkExceedsMaxDepth):
1449         (DetectCallDepth::resetFunctionNodes):
1450         (DetectCallDepth::detectCallDepthForFunction):
1451         (DetectCallDepth::detectCallDepth):
1452         (DetectCallDepth::findFunctionByName):
1453         * src/compiler/DetectCallDepth.h: Added.
1454         (DetectCallDepth::getInfoSink):
1455         * src/compiler/DetectRecursion.cpp: Removed.
1456         * src/compiler/DetectRecursion.h: Removed.
1457         * src/compiler/Diagnostics.cpp:
1458         (TDiagnostics::writeInfo):
1459         * src/compiler/ForLoopUnroll.cpp:
1460         (ForLoopUnroll::evaluateIntConstant):
1461         * src/compiler/InfoSink.cpp:
1462         (TInfoSinkBase::prefix):
1463         (TInfoSinkBase::location):
1464         (TInfoSinkBase::message):
1465         * src/compiler/InfoSink.h:
1466         * src/compiler/Initialize.cpp:
1467         (InsertBuiltInFunctions):
1468         (IdentifyBuiltIns):
1469         (InitExtensionBehavior):
1470         * src/compiler/Initialize.h:
1471         * src/compiler/Intermediate.cpp:
1472         (TIntermediate::addSymbol):
1473         (TIntermediate::addBinaryMath):
1474         (TIntermediate::addAssign):
1475         (TIntermediate::addIndex):
1476         (TIntermediate::addUnaryMath):
1477         (TIntermediate::setAggregateOperator):
1478         (TIntermediate::addConversion):
1479         (TIntermediate::growAggregate):
1480         (TIntermediate::makeAggregate):
1481         (TIntermediate::addSelection):
1482         (TIntermediate::addComma):
1483         (TIntermediate::addConstantUnion):
1484         (TIntermediate::addSwizzle):
1485         (TIntermediate::addLoop):
1486         (TIntermediate::addBranch):
1487         (TIntermUnary::promote):
1488         (TIntermBinary::promote):
1489         (CompareStruct):
1490         (CompareStructure):
1491         (TIntermConstantUnion::fold): Added implied static_casts to fix compiling errors on Mac.
1492         (TIntermediate::promoteConstantUnion):
1493         * src/compiler/OutputGLSL.cpp:
1494         (TOutputGLSL::visitSymbol):
1495         * src/compiler/OutputGLSL.h:
1496         * src/compiler/OutputGLSLBase.cpp:
1497         (TOutputGLSLBase::writeVariableType):
1498         (TOutputGLSLBase::writeConstantUnion):
1499         (TOutputGLSLBase::visitBinary):
1500         (TOutputGLSLBase::visitAggregate):
1501         (TOutputGLSLBase::getTypeName):
1502         (TOutputGLSLBase::structDeclared):
1503         (TOutputGLSLBase::declareStruct):
1504         * src/compiler/OutputGLSLBase.h:
1505         * src/compiler/OutputHLSL.cpp:
1506         (sh::OutputHLSL::OutputHLSL):
1507         (sh::OutputHLSL::getUniforms):
1508         (sh::OutputHLSL::header):
1509         (sh::OutputHLSL::visitSymbol):
1510         (sh::OutputHLSL::visitBinary):
1511         (sh::OutputHLSL::visitAggregate):
1512         (sh::OutputHLSL::visitSelection):
1513         (sh::OutputHLSL::visitLoop):
1514         (sh::OutputHLSL::handleExcessiveLoop):
1515         (sh::OutputHLSL::argumentString):
1516         (sh::OutputHLSL::typeString):
1517         (sh::OutputHLSL::textureString):
1518         (sh::OutputHLSL::initializer):
1519         (sh::OutputHLSL::addConstructor):
1520         (sh::OutputHLSL::writeConstantUnion):
1521         (sh::OutputHLSL::decorateUniform):
1522         (sh::OutputHLSL::decorateField):
1523         (sh::OutputHLSL::registerString):
1524         (sh::OutputHLSL::samplerRegister):
1525         (sh::OutputHLSL::uniformRegister):
1526         (sh::OutputHLSL::declareUniform):
1527         (sh::OutputHLSL::glVariableType):
1528         (sh::OutputHLSL::glVariablePrecision):
1529         * src/compiler/OutputHLSL.h:
1530         * src/compiler/ParseHelper.cpp:
1531         (TParseContext::parseVectorFields):
1532         (TParseContext::parseMatrixFields):
1533         (TParseContext::error):
1534         (TParseContext::warning):
1535         (TParseContext::assignError):
1536         (TParseContext::unaryOpError):
1537         (TParseContext::binaryOpError):
1538         (TParseContext::precisionErrorCheck):
1539         (TParseContext::lValueErrorCheck):
1540         (TParseContext::globalErrorCheck):
1541         (TParseContext::reservedErrorCheck):
1542         (TParseContext::constructorErrorCheck):
1543         (TParseContext::voidErrorCheck):
1544         (TParseContext::boolErrorCheck):
1545         (TParseContext::samplerErrorCheck):
1546         (TParseContext::structQualifierErrorCheck):
1547         (TParseContext::parameterSamplerErrorCheck):
1548         (TParseContext::containsSampler):
1549         (TParseContext::arraySizeErrorCheck):
1550         (TParseContext::arrayQualifierErrorCheck):
1551         (TParseContext::arrayTypeErrorCheck):
1552         (TParseContext::arrayErrorCheck):
1553         (TParseContext::nonInitConstErrorCheck):
1554         (TParseContext::nonInitErrorCheck):
1555         (TParseContext::paramErrorCheck):
1556         (TParseContext::extensionErrorCheck):
1557         (TParseContext::isExtensionEnabled):
1558         Replaced auto with std::map<std::string, TBehavior>::const_iterator to fix Qt and EFL compiling errors.
1559         (TParseContext::findFunction):
1560         (TParseContext::executeInitializer):
1561         (TParseContext::addConstructor):
1562         (TParseContext::constructBuiltIn):
1563         (TParseContext::constructStruct):
1564         (TParseContext::addConstVectorNode):
1565         (TParseContext::addConstMatrixNode):
1566         (TParseContext::addConstArrayNode):
1567         (TParseContext::addConstStruct):
1568         (TParseContext::enterStructDeclaration):
1569         (TParseContext::structNestingErrorCheck):
1570         (TParseContext::addIndexExpression):
1571         * src/compiler/ParseHelper.h:
1572         (TParseContext::TParseContext):
1573         (TParseContext::pragma):
1574         * src/compiler/PoolAlloc.cpp:
1575         (TPoolAllocator::allocate):
1576         * src/compiler/ShHandle.h:
1577         (TShHandleBase::getAsTranslatorHLSL):
1578         * src/compiler/ShaderLang.cpp:
1579         (ShInitBuiltInResources):
1580         (ShGetInfoPointer):
1581         * src/compiler/SymbolTable.cpp:
1582         (TType::TType):
1583         (TType::buildMangledName):
1584         (TType::getObjectSize):
1585         (TStructure::containsArrays):
1586         (TStructure::buildMangledName):
1587         (TStructure::calculateObjectSize):
1588         (TStructure::calculateDeepestNesting):
1589         (TSymbolTableLevel::relateToExtension):
1590         * src/compiler/SymbolTable.h:
1591         (TSymbol::relateToExtension):
1592         (TSymbol::getExtension):
1593         (TVariable::TVariable):
1594         (TVariable::setQualifier):
1595         (TVariable::shareConstPointer):
1596         (TSymbolTableLevel::insert):
1597         (TSymbolTable::insertConstInt):
1598         (TSymbolTable::insertBuiltIn):
1599         * src/compiler/TranslatorHLSL.cpp:
1600         (TranslatorHLSL::TranslatorHLSL):
1601         (TranslatorHLSL::translate):
1602         * src/compiler/TranslatorHLSL.h:
1603         (TranslatorHLSL::getAsTranslatorHLSL):
1604         (TranslatorHLSL::getUniforms):
1605         * src/compiler/Types.h: Removed enum bit fields to fix gcc compiler errors.
1606         (TField::TField):
1607         (TField::type):
1608         (TField::name):
1609         (NewPoolTFieldList):
1610         (TStructure::TStructure):
1611         (TStructure::name):
1612         (TStructure::fields):
1613         (TStructure::mangledName):
1614         (TStructure::objectSize):
1615         (TStructure::deepestNesting):
1616         (TType::TType):
1617         (TType::elementRegisterCount):
1618         (TType::totalRegisterCount):
1619         (TType::clearArrayness):
1620         (TType::getStruct):
1621         (TType::setStruct):
1622         (TType::getMangledName):
1623         (TType::getDeepestStructNesting):
1624         (TType::isStructureContainingArrays):
1625         (TPublicType::setBasic):
1626         * src/compiler/Uniform.cpp: Added.
1627         (sh::Uniform::Uniform):
1628         * src/compiler/Uniform.h: Added.
1629         * src/compiler/VariableInfo.cpp:
1630         (getUserDefinedVariableInfo):
1631         * src/compiler/glslang.l:
1632         * src/compiler/glslang.y: Moved YYLTYPE definition into %union to work with Bison 2.3.
1633         * src/compiler/glslang_lex.cpp:
1634         (yy_get_previous_state):
1635         (yy_try_NUL_trans):
1636         (yyget_lloc):
1637         (yyset_lloc):
1638         (string_input):
1639         (check_type):
1640         (reserved_word):
1641         (glslang_scan):
1642         * src/compiler/glslang_tab.cpp:
1643         (yyerror):
1644         * src/compiler/glslang_tab.h:
1645         * src/compiler/intermOut.cpp:
1646         (TOutputTraverser::visitUnary):
1647         (TOutputTraverser::visitAggregate):
1648         (TOutputTraverser::visitConstantUnion):
1649         * src/compiler/intermediate.h:
1650         (TIntermNode::TIntermNode):
1651         (TIntermNode::~TIntermNode):
1652         (TIntermNode::getLine):
1653         (TIntermNode::setLine):
1654         (TIntermNode::getAsLoopNode):
1655         (TIntermTyped::totalRegisterCount):
1656         (TIntermTyped::elementRegisterCount):
1657         (TIntermTyped::getArraySize):
1658         (TIntermConstantUnion::getIConst):
1659         (TIntermConstantUnion::getFConst):
1660         (TIntermConstantUnion::getBConst):
1661         (TIntermAggregate::TIntermAggregate):
1662         (TIntermTraverser::TIntermTraverser):
1663         (TIntermTraverser::getMaxDepth):
1664         (TIntermTraverser::incrementDepth):
1665         * src/compiler/localintermediate.h:
1666         * src/compiler/parseConst.cpp:
1667         (TConstTraverser::visitSymbol):
1668         (TConstTraverser::visitBinary):
1669         (TConstTraverser::visitUnary):
1670         (TConstTraverser::visitAggregate):
1671         (TConstTraverser::visitSelection):
1672         (TConstTraverser::visitConstantUnion):
1673         (TConstTraverser::visitLoop):
1674         (TConstTraverser::visitBranch):
1675         (TIntermediate::parseConstTree):
1676         * src/compiler/preprocessor/64bit-tokenizer-safety.patch: Added.
1677         * src/compiler/preprocessor/Tokenizer.cpp:
1678         (yy_get_previous_state):
1679         (yy_try_NUL_trans):
1680         * src/compiler/preprocessor/Tokenizer.l:
1681         * src/compiler/preprocessor/preprocessor.vcxproj: Added.
1682         * src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
1683         * src/compiler/timing/RestrictVertexShaderTiming.cpp:
1684         (RestrictVertexShaderTiming::visitSymbol):
1685         * src/compiler/translator_common.vcxproj: Added.
1686         * src/compiler/translator_common.vcxproj.filters: Added.
1687         * src/compiler/translator_hlsl.vcxproj: Added.
1688         * src/compiler/translator_hlsl.vcxproj.filters: Added.
1689         * src/libEGL/Config.cpp: Added.
1690         (egl::Config::Config):
1691         (egl::Config::getHandle):
1692         (egl::SortConfig::SortConfig):
1693         (egl::SortConfig::scanForWantedComponents):
1694         (egl::SortConfig::wantedComponentsSize):
1695         (egl::SortConfig::operator()):
1696         (egl::ConfigSet::ConfigSet):
1697         (egl::ConfigSet::add):
1698         (egl::ConfigSet::size):
1699         (egl::ConfigSet::getConfigs):
1700         (egl::ConfigSet::get):
1701         * src/libEGL/Config.h: Added.
1702         * src/libEGL/Display.cpp: Added.
1703         (egl::Display::getDisplay):
1704         (egl::Display::Display):
1705         (egl::Display::~Display):
1706         (egl::Display::initialize):
1707         (egl::Display::terminate):
1708         (egl::Display::getConfigs):
1709         (egl::Display::getConfigAttrib):
1710         (egl::Display::createWindowSurface):
1711         (egl::Display::createOffscreenSurface):
1712         (egl::Display::createContext):
1713         (egl::Display::restoreLostDevice):
1714         (egl::Display::destroySurface):
1715         (egl::Display::destroyContext):
1716         (egl::Display::notifyDeviceLost):
1717         (egl::Display::recreateSwapChains):
1718         (egl::Display::isInitialized):
1719         (egl::Display::isValidConfig):
1720         (egl::Display::isValidContext):
1721         (egl::Display::isValidSurface):
1722         (egl::Display::hasExistingWindowSurface):
1723         (egl::Display::initExtensionString):
1724         (egl::Display::getExtensionString):
1725         (egl::Display::initVendorString):
1726         (egl::Display::getVendorString):
1727         * src/libEGL/Display.h: Added.
1728         (egl::Display::getRenderer):
1729         * src/libEGL/Surface.cpp: Added.
1730         (egl::Surface::Surface):
1731         (egl::Surface::~Surface):
1732         (egl::Surface::initialize):
1733         (egl::Surface::release):
1734         (egl::Surface::resetSwapChain):
1735         (egl::Surface::resizeSwapChain):
1736         (egl::Surface::swapRect):
1737         (egl::Surface::getWindowHandle):
1738         (egl::SurfaceWindowProc):
1739         (egl::Surface::subclassWindow):
1740         (egl::Surface::unsubclassWindow):
1741         (egl::Surface::checkForOutOfDateSwapChain):
1742         (egl::Surface::swap):
1743         (egl::Surface::postSubBuffer):
1744         (egl::Surface::getWidth):
1745         (egl::Surface::getHeight):
1746         (egl::Surface::isPostSubBufferSupported):
1747         (egl::Surface::getSwapChain):
1748         (egl::Surface::setSwapInterval):
1749         (egl::Surface::getTextureFormat):
1750         (egl::Surface::getTextureTarget):
1751         (egl::Surface::setBoundTexture):
1752         (egl::Surface::getBoundTexture):
1753         (egl::Surface::getFormat):
1754         * src/libEGL/Surface.h: Added.
1755         * src/libEGL/libEGL.cpp: Added.
1756         (validateDisplay):
1757         (validateConfig):
1758         (validateContext):
1759         (validateSurface):
1760         * src/libEGL/libEGL.def: Added.
1761         * src/libEGL/libEGL.rc: Added.
1762         * src/libEGL/libEGL.vcxproj: Added.
1763         * src/libEGL/libEGL.vcxproj.filters: Added.
1764         * src/libEGL/main.cpp: Added.
1765         (DllMain):
1766         (egl::setCurrentError):
1767         (egl::getCurrentError):
1768         (egl::setCurrentAPI):
1769         (egl::getCurrentAPI):
1770         (egl::setCurrentDisplay):
1771         (egl::getCurrentDisplay):
1772         (egl::setCurrentDrawSurface):
1773         (egl::getCurrentDrawSurface):
1774         (egl::setCurrentReadSurface):
1775         (egl::getCurrentReadSurface):
1776         (egl::error):
1777         * src/libEGL/main.h: Added.
1778         (egl::error):
1779         (egl::success):
1780         * src/libEGL/resource.h: Added.
1781         * src/libGLESv2/BinaryStream.h: Added.
1782         (gl::BinaryInputStream::BinaryInputStream):
1783         (gl::BinaryInputStream::read):
1784         (gl::BinaryInputStream::skip):
1785         (gl::BinaryInputStream::offset):
1786         (gl::BinaryInputStream::error):
1787         (gl::BinaryInputStream::endOfStream):
1788         (gl::BinaryOutputStream::BinaryOutputStream):
1789         (gl::BinaryOutputStream::write):
1790         (gl::BinaryOutputStream::length):
1791         (gl::BinaryOutputStream::data):
1792         * src/libGLESv2/Buffer.cpp: Added.
1793         (gl::Buffer::Buffer):
1794         (gl::Buffer::~Buffer):
1795         (gl::Buffer::bufferData):
1796         (gl::Buffer::bufferSubData):
1797         (gl::Buffer::getStorage):
1798         (gl::Buffer::size):
1799         (gl::Buffer::usage):
1800         (gl::Buffer::getStaticVertexBuffer):
1801         (gl::Buffer::getStaticIndexBuffer):
1802         (gl::Buffer::invalidateStaticData):
1803         (gl::Buffer::promoteStaticUsage):
1804         * src/libGLESv2/Buffer.h: Added.
1805         * src/libGLESv2/Context.cpp: Added.
1806         (gl::makeStaticString):
1807         (gl::Context::Context):
1808         (gl::Context::~Context):
1809         (gl::Context::makeCurrent):
1810         (gl::Context::markContextLost):
1811         (gl::Context::isContextLost):
1812         (gl::Context::setClearColor):
1813         (gl::Context::setClearDepth):
1814         (gl::Context::setClearStencil):
1815         (gl::Context::setCullFace):
1816         (gl::Context::isCullFaceEnabled):
1817         (gl::Context::setCullMode):
1818         (gl::Context::setFrontFace):
1819         (gl::Context::setDepthTest):
1820         (gl::Context::isDepthTestEnabled):
1821         (gl::Context::setDepthFunc):
1822         (gl::Context::setDepthRange):
1823         (gl::Context::setBlend):
1824         (gl::Context::isBlendEnabled):
1825         (gl::Context::setBlendFactors):
1826         (gl::Context::setBlendColor):
1827         (gl::Context::setBlendEquation):
1828         (gl::Context::setStencilTest):
1829         (gl::Context::isStencilTestEnabled):
1830         (gl::Context::setStencilParams):
1831         (gl::Context::setStencilBackParams):
1832         (gl::Context::setStencilWritemask):
1833         (gl::Context::setStencilBackWritemask):
1834         (gl::Context::setStencilOperations):
1835         (gl::Context::setStencilBackOperations):
1836         (gl::Context::setPolygonOffsetFill):
1837         (gl::Context::isPolygonOffsetFillEnabled):
1838         (gl::Context::setPolygonOffsetParams):
1839         (gl::Context::setSampleAlphaToCoverage):
1840         (gl::Context::isSampleAlphaToCoverageEnabled):
1841         (gl::Context::setSampleCoverage):
1842         (gl::Context::isSampleCoverageEnabled):
1843         (gl::Context::setSampleCoverageParams):
1844         (gl::Context::setScissorTest):
1845         (gl::Context::isScissorTestEnabled):
1846         (gl::Context::setDither):
1847         (gl::Context::isDitherEnabled):
1848         (gl::Context::setLineWidth):
1849         (gl::Context::setGenerateMipmapHint):
1850         (gl::Context::setFragmentShaderDerivativeHint):
1851         (gl::Context::setViewportParams):
1852         (gl::Context::setScissorParams):
1853         (gl::Context::setColorMask):
1854         (gl::Context::setDepthMask):
1855         (gl::Context::setActiveSampler):
1856         (gl::Context::getReadFramebufferHandle):
1857         (gl::Context::getDrawFramebufferHandle):
1858         (gl::Context::getRenderbufferHandle):
1859         (gl::Context::getArrayBufferHandle):
1860         (gl::Context::getActiveQuery):
1861         (gl::Context::setEnableVertexAttribArray):
1862         (gl::Context::getVertexAttribState):
1863         (gl::Context::setVertexAttribState):
1864         (gl::Context::getVertexAttribPointer):
1865         (gl::Context::setPackAlignment):
1866         (gl::Context::getPackAlignment):
1867         (gl::Context::setUnpackAlignment):
1868         (gl::Context::getUnpackAlignment):
1869         (gl::Context::setPackReverseRowOrder):
1870         (gl::Context::getPackReverseRowOrder):
1871         (gl::Context::createBuffer):
1872         (gl::Context::createProgram):
1873         (gl::Context::createShader):
1874         (gl::Context::createTexture):
1875         (gl::Context::createRenderbuffer):
1876         (gl::Context::createFramebuffer):
1877         (gl::Context::createFence):
1878         (gl::Context::createQuery):
1879         (gl::Context::deleteBuffer):
1880         (gl::Context::deleteShader):
1881         (gl::Context::deleteProgram):
1882         (gl::Context::deleteTexture):
1883         (gl::Context::deleteRenderbuffer):
1884         (gl::Context::deleteFramebuffer):
1885         (gl::Context::deleteFence):
1886         (gl::Context::deleteQuery):
1887         (gl::Context::getBuffer):
1888         (gl::Context::getShader):
1889         (gl::Context::getProgram):
1890         (gl::Context::getTexture):
1891         (gl::Context::getRenderbuffer):
1892         (gl::Context::getReadFramebuffer):
1893         (gl::Context::getDrawFramebuffer):
1894         (gl::Context::bindArrayBuffer):
1895         (gl::Context::bindElementArrayBuffer):
1896         (gl::Context::bindTexture2D):
1897         (gl::Context::bindTextureCubeMap):
1898         (gl::Context::bindReadFramebuffer):
1899         (gl::Context::bindDrawFramebuffer):
1900         (gl::Context::bindRenderbuffer):
1901         (gl::Context::useProgram):
1902         (gl::Context::linkProgram):
1903         (gl::Context::setProgramBinary):
1904         (gl::Context::beginQuery):
1905         (gl::Context::endQuery):
1906         (gl::Context::setFramebufferZero):
1907         (gl::Context::setRenderbufferStorage):
1908         (gl::Context::getFramebuffer):
1909         (gl::Context::getFence):
1910         (gl::Context::getQuery):
1911         (gl::Context::getArrayBuffer):
1912         (gl::Context::getElementArrayBuffer):
1913         (gl::Context::getCurrentProgramBinary):
1914         (gl::Context::getTexture2D):
1915         (gl::Context::getTextureCubeMap):
1916         (gl::Context::getSamplerTexture):
1917         (gl::Context::getBooleanv):
1918         (gl::Context::getFloatv):
1919         (gl::Context::getIntegerv):
1920         (gl::Context::getQueryParameterInfo):
1921         (gl::Context::applyRenderTarget):
1922         (gl::Context::applyState):
1923         (gl::Context::applyShaders):
1924         (gl::Context::applyTextures):
1925         (gl::Context::readPixels):
1926         (gl::Context::clear):
1927         (gl::Context::drawArrays):
1928         (gl::Context::drawElements):
1929         (gl::Context::sync):
1930         (gl::Context::recordInvalidEnum):
1931         (gl::Context::recordInvalidValue):
1932         (gl::Context::recordInvalidOperation):
1933         (gl::Context::recordOutOfMemory):
1934         (gl::Context::recordInvalidFramebufferOperation):
1935         (gl::Context::getError):
1936         (gl::Context::getResetStatus):
1937         (gl::Context::isResetNotificationEnabled):
1938         (gl::Context::getMajorShaderModel):
1939         (gl::Context::getMaximumPointSize):
1940         (gl::Context::getMaximumCombinedTextureImageUnits):
1941         (gl::Context::getMaxSupportedSamples):
1942         (gl::Context::getMaximumRenderTargets):
1943         (gl::Context::supportsEventQueries):
1944         (gl::Context::supportsOcclusionQueries):
1945         (gl::Context::supportsBGRATextures):
1946         (gl::Context::supportsDXT1Textures):
1947         (gl::Context::supportsDXT3Textures):
1948         (gl::Context::supportsDXT5Textures):
1949         (gl::Context::supportsFloat32Textures):
1950         (gl::Context::supportsFloat32LinearFilter):
1951         (gl::Context::supportsFloat32RenderableTextures):
1952         (gl::Context::supportsFloat16Textures):
1953         (gl::Context::supportsFloat16LinearFilter):
1954         (gl::Context::supportsFloat16RenderableTextures):
1955         (gl::Context::getMaximumRenderbufferDimension):
1956         (gl::Context::getMaximumTextureDimension):
1957         (gl::Context::getMaximumCubeTextureDimension):
1958         (gl::Context::getMaximumTextureLevel):
1959         (gl::Context::supportsLuminanceTextures):
1960         (gl::Context::supportsLuminanceAlphaTextures):
1961         (gl::Context::supportsDepthTextures):
1962         (gl::Context::supports32bitIndices):
1963         (gl::Context::supportsNonPower2Texture):
1964         (gl::Context::supportsInstancing):
1965         (gl::Context::supportsTextureFilterAnisotropy):
1966         (gl::Context::getTextureMaxAnisotropy):
1967         (gl::Context::getCurrentReadFormatType):
1968         (gl::Context::detachBuffer):
1969         (gl::Context::detachTexture):
1970         (gl::Context::detachFramebuffer):
1971         (gl::Context::detachRenderbuffer):
1972         (gl::Context::getIncompleteTexture):
1973         (gl::Context::skipDraw):
1974         (gl::Context::setVertexAttrib):
1975         (gl::Context::setVertexAttribDivisor):
1976         (gl::Context::initExtensionString):
1977         (gl::Context::getExtensionString):
1978         (gl::Context::initRendererString):
1979         (gl::Context::getRendererString):
1980         (gl::Context::blitFramebuffer):
1981         * src/libGLESv2/Context.h: Added.
1982         (gl::VertexAttribute::VertexAttribute):
1983         (gl::VertexAttribute::typeSize):
1984         (gl::VertexAttribute::stride):
1985         * src/libGLESv2/Fence.cpp: Added.
1986         (gl::Fence::Fence):
1987         (gl::Fence::~Fence):
1988         (gl::Fence::isFence):
1989         (gl::Fence::setFence):
1990         (gl::Fence::testFence):
1991         (gl::Fence::finishFence):
1992         (gl::Fence::getFenceiv):
1993         * src/libGLESv2/Fence.h: Added.
1994         * src/libGLESv2/Float16ToFloat32.cpp: Added.
1995         (gl::float16ToFloat32):
1996         * src/libGLESv2/Float16ToFloat32.py: Added.
1997         (convertMantissa):
1998         (convertExponent):
1999         (convertOffset):
2000         * src/libGLESv2/Framebuffer.cpp: Added.
2001         (gl::Framebuffer::Framebuffer):
2002         (gl::Framebuffer::~Framebuffer):
2003         (gl::Framebuffer::lookupRenderbuffer):
2004         (gl::Framebuffer::setColorbuffer):
2005         (gl::Framebuffer::setDepthbuffer):
2006         (gl::Framebuffer::setStencilbuffer):
2007         (gl::Framebuffer::detachTexture):
2008         (gl::Framebuffer::detachRenderbuffer):
2009         (gl::Framebuffer::getRenderTargetSerial):
2010         (gl::Framebuffer::getDepthbufferSerial):
2011         (gl::Framebuffer::getStencilbufferSerial):
2012         (gl::Framebuffer::getColorbuffer):
2013         (gl::Framebuffer::getDepthbuffer):
2014         (gl::Framebuffer::getStencilbuffer):
2015         (gl::Framebuffer::getDepthOrStencilbuffer):
2016         (gl::Framebuffer::getReadColorbuffer):
2017         (gl::Framebuffer::getReadColorbufferType):
2018         (gl::Framebuffer::getFirstColorbuffer):
2019         (gl::Framebuffer::getColorbufferType):
2020         (gl::Framebuffer::getDepthbufferType):
2021         (gl::Framebuffer::getStencilbufferType):
2022         (gl::Framebuffer::getColorbufferHandle):
2023         (gl::Framebuffer::getDepthbufferHandle):
2024         (gl::Framebuffer::getStencilbufferHandle):
2025         (gl::Framebuffer::getDrawBufferState):
2026         (gl::Framebuffer::setDrawBufferState):
2027         (gl::Framebuffer::isEnabledColorAttachment):
2028         (gl::Framebuffer::hasEnabledColorAttachment):
2029         (gl::Framebuffer::hasStencil):
2030         (gl::Framebuffer::usingExtendedDrawBuffers):
2031         (gl::Framebuffer::completeness):
2032         (gl::DefaultFramebuffer::DefaultFramebuffer):
2033         (gl::Framebuffer::getSamples):
2034         (gl::DefaultFramebuffer::completeness):
2035         * src/libGLESv2/Framebuffer.h: Added.
2036         * src/libGLESv2/HandleAllocator.cpp: Added.
2037         (gl::HandleAllocator::HandleAllocator):
2038         (gl::HandleAllocator::~HandleAllocator):
2039         (gl::HandleAllocator::setBaseHandle):
2040         (gl::HandleAllocator::allocate):
2041         (gl::HandleAllocator::release):
2042         * src/libGLESv2/HandleAllocator.h: Added.
2043         * src/libGLESv2/Program.cpp: Added.
2044         (gl::AttributeBindings::AttributeBindings):
2045         (gl::AttributeBindings::~AttributeBindings):
2046         (gl::InfoLog::InfoLog):
2047         (gl::InfoLog::~InfoLog):
2048         (gl::InfoLog::getLength):
2049         (gl::InfoLog::getLog):
2050         (gl::InfoLog::appendSanitized):
2051         (gl::InfoLog::append):
2052         (gl::InfoLog::reset):
2053         (gl::Program::Program):
2054         (gl::Program::~Program):
2055         (gl::Program::attachShader):
2056         (gl::Program::detachShader):
2057         (gl::Program::getAttachedShadersCount):
2058         (gl::AttributeBindings::bindAttributeLocation):
2059         (gl::Program::bindAttributeLocation):
2060         (gl::Program::link):
2061         (gl::AttributeBindings::getAttributeBinding):
2062         (gl::Program::unlink):
2063         (gl::Program::isLinked):
2064         (gl::Program::getProgramBinary):
2065         (gl::Program::setProgramBinary):
2066         (gl::Program::release):
2067         (gl::Program::addRef):
2068         (gl::Program::getRefCount):
2069         (gl::Program::getProgramBinaryLength):
2070         (gl::Program::getInfoLogLength):
2071         (gl::Program::getInfoLog):
2072         (gl::Program::getAttachedShaders):
2073         (gl::Program::getActiveAttribute):
2074         (gl::Program::getActiveAttributeCount):
2075         (gl::Program::getActiveAttributeMaxLength):
2076         (gl::Program::getActiveUniform):
2077         (gl::Program::getActiveUniformCount):
2078         (gl::Program::getActiveUniformMaxLength):
2079         (gl::Program::flagForDeletion):
2080         (gl::Program::isFlaggedForDeletion):
2081         (gl::Program::validate):
2082         (gl::Program::isValidated):
2083         * src/libGLESv2/Program.h: Added.
2084         * src/libGLESv2/ProgramBinary.cpp: Added.
2085         (gl::str):
2086         (gl::UniformLocation::UniformLocation):
2087         (gl::ProgramBinary::ProgramBinary):
2088         (gl::ProgramBinary::~ProgramBinary):
2089         (gl::ProgramBinary::getSerial):
2090         (gl::ProgramBinary::issueSerial):
2091         (gl::ProgramBinary::getPixelExecutable):
2092         (gl::ProgramBinary::getVertexExecutable):
2093         (gl::ProgramBinary::getGeometryExecutable):
2094         (gl::ProgramBinary::getAttributeLocation):
2095         (gl::ProgramBinary::getSemanticIndex):
2096         (gl::ProgramBinary::getUsedSamplerRange):
2097         (gl::ProgramBinary::usesPointSize):
2098         (gl::ProgramBinary::usesPointSpriteEmulation):
2099         (gl::ProgramBinary::usesGeometryShader):
2100         (gl::ProgramBinary::getSamplerMapping):
2101         (gl::ProgramBinary::getSamplerTextureType):
2102         (gl::ProgramBinary::getUniformLocation):
2103         (gl::ProgramBinary::setUniform1fv):
2104         (gl::ProgramBinary::setUniform2fv):
2105         (gl::ProgramBinary::setUniform3fv):
2106         (gl::ProgramBinary::setUniform4fv):
2107         (gl::transposeMatrix):
2108         (gl::ProgramBinary::setUniformMatrix2fv):
2109         (gl::ProgramBinary::setUniformMatrix3fv):
2110         (gl::ProgramBinary::setUniformMatrix4fv):
2111         (gl::ProgramBinary::setUniform1iv):
2112         (gl::ProgramBinary::setUniform2iv):
2113         (gl::ProgramBinary::setUniform3iv):
2114         (gl::ProgramBinary::setUniform4iv):
2115         (gl::ProgramBinary::getUniformfv):
2116         (gl::ProgramBinary::getUniformiv):
2117         (gl::ProgramBinary::dirtyAllUniforms):
2118         (gl::ProgramBinary::applyUniforms):
2119         (gl::ProgramBinary::packVaryings):
2120         (gl::ProgramBinary::linkVaryings):
2121         (gl::ProgramBinary::load):
2122         (gl::ProgramBinary::save):
2123         (gl::ProgramBinary::getLength):
2124         (gl::ProgramBinary::link):
2125         (gl::ProgramBinary::linkAttributes):
2126         (gl::ProgramBinary::linkUniforms):
2127         (gl::ProgramBinary::defineUniform):
2128         (gl::ProgramBinary::generateGeometryShaderHLSL):
2129         (gl::ProgramBinary::generatePointSpriteHLSL):
2130         (gl::ProgramBinary::decorateAttribute):
2131         (gl::ProgramBinary::isValidated):
2132         (gl::ProgramBinary::getActiveAttribute):
2133         (gl::ProgramBinary::getActiveAttributeCount):
2134         (gl::ProgramBinary::getActiveAttributeMaxLength):
2135         (gl::ProgramBinary::getActiveUniform):
2136         (gl::ProgramBinary::getActiveUniformCount):
2137         (gl::ProgramBinary::getActiveUniformMaxLength):
2138         (gl::ProgramBinary::validate):
2139         (gl::ProgramBinary::validateSamplers):
2140         (gl::ProgramBinary::Sampler::Sampler):
2141         (gl::AttributeSorter::AttributeSorter):
2142         (gl::AttributeSorter::operator()):
2143         (gl::ProgramBinary::sortAttributesByLayout):
2144         * src/libGLESv2/ProgramBinary.h: Added.
2145         (gl::UniformLocation::UniformLocation):
2146         * src/libGLESv2/Query.cpp: Added.
2147         (gl::Query::Query):
2148         (gl::Query::~Query):
2149         (gl::Query::begin):
2150         (gl::Query::end):
2151         (gl::Query::getResult):
2152         (gl::Query::isResultAvailable):
2153         (gl::Query::getType):
2154         * src/libGLESv2/Query.h: Added.
2155         * src/libGLESv2/Renderbuffer.cpp: Added.
2156         (gl::RenderbufferInterface::RenderbufferInterface):
2157         (gl::RenderbufferInterface::addProxyRef):
2158         (gl::RenderbufferInterface::releaseProxy):
2159         (gl::RenderbufferInterface::getRedSize):
2160         (gl::RenderbufferInterface::getGreenSize):
2161         (gl::RenderbufferInterface::getBlueSize):
2162         (gl::RenderbufferInterface::getAlphaSize):
2163         (gl::RenderbufferInterface::getDepthSize):
2164         (gl::RenderbufferInterface::getStencilSize):
2165         (gl::RenderbufferTexture2D::RenderbufferTexture2D):
2166         (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
2167         (gl::RenderbufferTexture2D::addProxyRef):
2168         (gl::RenderbufferTexture2D::releaseProxy):
2169         (gl::RenderbufferTexture2D::getRenderTarget):
2170         (gl::RenderbufferTexture2D::getDepthStencil):
2171         (gl::RenderbufferTexture2D::getWidth):
2172         (gl::RenderbufferTexture2D::getHeight):
2173         (gl::RenderbufferTexture2D::getInternalFormat):
2174         (gl::RenderbufferTexture2D::getActualFormat):
2175         (gl::RenderbufferTexture2D::getSamples):
2176         (gl::RenderbufferTexture2D::getSerial):
2177         (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
2178         (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
2179         (gl::RenderbufferTextureCubeMap::addProxyRef):
2180         (gl::RenderbufferTextureCubeMap::releaseProxy):
2181         (gl::RenderbufferTextureCubeMap::getRenderTarget):
2182         (gl::RenderbufferTextureCubeMap::getDepthStencil):
2183         (gl::RenderbufferTextureCubeMap::getWidth):
2184         (gl::RenderbufferTextureCubeMap::getHeight):
2185         (gl::RenderbufferTextureCubeMap::getInternalFormat):
2186         (gl::RenderbufferTextureCubeMap::getActualFormat):
2187         (gl::RenderbufferTextureCubeMap::getSamples):
2188         (gl::RenderbufferTextureCubeMap::getSerial):
2189         (gl::Renderbuffer::Renderbuffer):
2190         (gl::Renderbuffer::~Renderbuffer):
2191         (gl::Renderbuffer::addRef):
2192         (gl::Renderbuffer::release):
2193         (gl::Renderbuffer::getRenderTarget):
2194         (gl::Renderbuffer::getDepthStencil):
2195         (gl::Renderbuffer::getWidth):
2196         (gl::Renderbuffer::getHeight):
2197         (gl::Renderbuffer::getInternalFormat):
2198         (gl::Renderbuffer::getActualFormat):
2199         (gl::Renderbuffer::getRedSize):
2200         (gl::Renderbuffer::getGreenSize):
2201         (gl::Renderbuffer::getBlueSize):
2202         (gl::Renderbuffer::getAlphaSize):
2203         (gl::Renderbuffer::getDepthSize):
2204         (gl::Renderbuffer::getStencilSize):
2205         (gl::Renderbuffer::getSamples):
2206         (gl::Renderbuffer::getSerial):
2207         (gl::Renderbuffer::setStorage):
2208         (gl::RenderbufferStorage::RenderbufferStorage):
2209         (gl::RenderbufferStorage::~RenderbufferStorage):
2210         (gl::RenderbufferStorage::getRenderTarget):
2211         (gl::RenderbufferStorage::getDepthStencil):
2212         (gl::RenderbufferStorage::getWidth):
2213         (gl::RenderbufferStorage::getHeight):
2214         (gl::RenderbufferStorage::getInternalFormat):
2215         (gl::RenderbufferStorage::getActualFormat):
2216         (gl::RenderbufferStorage::getSamples):
2217         (gl::RenderbufferStorage::getSerial):
2218         (gl::RenderbufferStorage::issueSerial):
2219         (gl::RenderbufferStorage::issueCubeSerials):
2220         (gl::Colorbuffer::Colorbuffer):
2221         (gl::Colorbuffer::~Colorbuffer):
2222         (gl::Colorbuffer::getRenderTarget):
2223         (gl::DepthStencilbuffer::DepthStencilbuffer):
2224         (gl::DepthStencilbuffer::~DepthStencilbuffer):
2225         (gl::DepthStencilbuffer::getDepthStencil):
2226         (gl::Depthbuffer::Depthbuffer):
2227         (gl::Depthbuffer::~Depthbuffer):
2228         (gl::Stencilbuffer::Stencilbuffer):
2229         (gl::Stencilbuffer::~Stencilbuffer):
2230         * src/libGLESv2/Renderbuffer.h: Added.
2231         (gl::RenderbufferInterface::~RenderbufferInterface):
2232         * src/libGLESv2/ResourceManager.cpp: Added.
2233         (gl::ResourceManager::ResourceManager):
2234         (gl::ResourceManager::~ResourceManager):
2235         (gl::ResourceManager::addRef):
2236         (gl::ResourceManager::release):
2237         (gl::ResourceManager::createBuffer):
2238         (gl::ResourceManager::createShader):
2239         (gl::ResourceManager::createProgram):
2240         (gl::ResourceManager::createTexture):
2241         (gl::ResourceManager::createRenderbuffer):
2242         (gl::ResourceManager::deleteBuffer):
2243         (gl::ResourceManager::deleteShader):
2244         (gl::ResourceManager::deleteProgram):
2245         (gl::ResourceManager::deleteTexture):
2246         (gl::ResourceManager::deleteRenderbuffer):
2247         (gl::ResourceManager::getBuffer):
2248         (gl::ResourceManager::getShader):
2249         (gl::ResourceManager::getTexture):
2250         (gl::ResourceManager::getProgram):
2251         (gl::ResourceManager::getRenderbuffer):
2252         (gl::ResourceManager::setRenderbuffer):
2253         (gl::ResourceManager::checkBufferAllocation):
2254         (gl::ResourceManager::checkTextureAllocation):
2255         (gl::ResourceManager::checkRenderbufferAllocation):
2256         * src/libGLESv2/ResourceManager.h: Added.
2257         * src/libGLESv2/Shader.cpp: Added.
2258         (gl::Shader::Shader):
2259         (gl::Shader::~Shader):
2260         (gl::Shader::getHandle):
2261         (gl::Shader::setSource):
2262         (gl::Shader::getInfoLogLength):
2263         (gl::Shader::getInfoLog):
2264         (gl::Shader::getSourceLength):
2265         (gl::Shader::getTranslatedSourceLength):
2266         (gl::Shader::getSourceImpl):
2267         (gl::Shader::getSource):
2268         (gl::Shader::getTranslatedSource):
2269         (gl::Shader::getUniforms):
2270         (gl::Shader::isCompiled):
2271         (gl::Shader::getHLSL):
2272         (gl::Shader::addRef):
2273         (gl::Shader::release):
2274         (gl::Shader::getRefCount):
2275         (gl::Shader::isFlaggedForDeletion):
2276         (gl::Shader::flagForDeletion):
2277         (gl::Shader::initializeCompiler):
2278         (gl::Shader::releaseCompiler):
2279         (gl::Shader::parseVaryings):
2280         (gl::Shader::resetVaryingsRegisterAssignment):
2281         (gl::Shader::uncompile):
2282         (gl::Shader::compileToHLSL):
2283         (gl::Shader::parseType):
2284         (gl::Shader::compareVarying):
2285         (gl::VertexShader::VertexShader):
2286         (gl::VertexShader::~VertexShader):
2287         (gl::VertexShader::getType):
2288         (gl::VertexShader::uncompile):
2289         (gl::VertexShader::compile):
2290         (gl::VertexShader::getSemanticIndex):
2291         (gl::VertexShader::parseAttributes):
2292         (gl::FragmentShader::FragmentShader):
2293         (gl::FragmentShader::~FragmentShader):
2294         (gl::FragmentShader::getType):
2295         (gl::FragmentShader::compile):
2296         * src/libGLESv2/Shader.h: Added.
2297         (gl::Varying::Varying):
2298         (gl::Attribute::Attribute):
2299         * src/libGLESv2/Texture.cpp: Added.
2300         (gl::Texture::Texture):
2301         (gl::Texture::~Texture):
2302         (gl::Texture::setMinFilter):
2303         (gl::Texture::setMagFilter):
2304         (gl::Texture::setWrapS):
2305         (gl::Texture::setWrapT):
2306         (gl::Texture::setMaxAnisotropy):
2307         (gl::Texture::setUsage):
2308         (gl::Texture::getMinFilter):
2309         (gl::Texture::getMagFilter):
2310         (gl::Texture::getWrapS):
2311         (gl::Texture::getWrapT):
2312         (gl::Texture::getMaxAnisotropy):
2313         (gl::Texture::getLodOffset):
2314         (gl::Texture::getSamplerState):
2315         (gl::Texture::getUsage):
2316         (gl::Texture::isMipmapFiltered):
2317         (gl::Texture::setImage):
2318         (gl::Texture::setCompressedImage):
2319         (gl::Texture::subImage):
2320         (gl::Texture::subImageCompressed):
2321         (gl::Texture::getNativeTexture):
2322         (gl::Texture::hasDirtyImages):
2323         (gl::Texture::resetDirty):
2324         (gl::Texture::getTextureSerial):
2325         (gl::Texture::getRenderTargetSerial):
2326         (gl::Texture::isImmutable):
2327         (gl::Texture::creationLevels):
2328         (gl::Texture2D::Texture2D):
2329         (gl::Texture2D::~Texture2D):
2330         (gl::Texture2D::addProxyRef):
2331         (gl::Texture2D::releaseProxy):
2332         (gl::Texture2D::getTarget):
2333         (gl::Texture2D::getWidth):
2334         (gl::Texture2D::getHeight):
2335         (gl::Texture2D::getInternalFormat):
2336         (gl::Texture2D::getActualFormat):
2337         (gl::Texture2D::redefineImage):
2338         (gl::Texture2D::setImage):
2339         (gl::Texture2D::bindTexImage):
2340         (gl::Texture2D::releaseTexImage):
2341         (gl::Texture2D::setCompressedImage):
2342         (gl::Texture2D::commitRect):
2343         (gl::Texture2D::subImage):
2344         (gl::Texture2D::subImageCompressed):
2345         (gl::Texture2D::copyImage):
2346         (gl::Texture2D::copySubImage):
2347         (gl::Texture2D::storage):
2348         (gl::Texture2D::isSamplerComplete):
2349         (gl::Texture2D::isMipmapComplete):
2350         (gl::Texture2D::isCompressed):
2351         (gl::Texture2D::isDepth):
2352         (gl::Texture2D::createTexture):
2353         (gl::Texture2D::updateTexture):
2354         (gl::Texture2D::convertToRenderTarget):
2355         (gl::Texture2D::generateMipmaps):
2356         (gl::Texture2D::getRenderbuffer):
2357         (gl::Texture2D::getRenderTarget):
2358         (gl::Texture2D::getDepthStencil):
2359         (gl::Texture2D::levelCount):
2360         (gl::Texture2D::getStorage):
2361         (gl::TextureCubeMap::TextureCubeMap):
2362         (gl::TextureCubeMap::~TextureCubeMap):
2363         (gl::TextureCubeMap::addProxyRef):
2364         (gl::TextureCubeMap::releaseProxy):
2365         (gl::TextureCubeMap::getTarget):
2366         (gl::TextureCubeMap::getWidth):
2367         (gl::TextureCubeMap::getHeight):
2368         (gl::TextureCubeMap::getInternalFormat):
2369         (gl::TextureCubeMap::getActualFormat):
2370         (gl::TextureCubeMap::setImagePosX):
2371         (gl::TextureCubeMap::setImageNegX):
2372         (gl::TextureCubeMap::setImagePosY):
2373         (gl::TextureCubeMap::setImageNegY):
2374         (gl::TextureCubeMap::setImagePosZ):
2375         (gl::TextureCubeMap::setImageNegZ):
2376         (gl::TextureCubeMap::setCompressedImage):
2377         (gl::TextureCubeMap::commitRect):
2378         (gl::TextureCubeMap::subImage):
2379         (gl::TextureCubeMap::subImageCompressed):
2380         (gl::TextureCubeMap::isSamplerComplete):
2381         (gl::TextureCubeMap::isCubeComplete):
2382         (gl::TextureCubeMap::isMipmapCubeComplete):
2383         (gl::TextureCubeMap::isCompressed):
2384         (gl::TextureCubeMap::createTexture):
2385         (gl::TextureCubeMap::updateTexture):
2386         (gl::TextureCubeMap::convertToRenderTarget):
2387         (gl::TextureCubeMap::setImage):
2388         (gl::TextureCubeMap::faceIndex):
2389         (gl::TextureCubeMap::redefineImage):
2390         (gl::TextureCubeMap::copyImage):
2391         (gl::TextureCubeMap::copySubImage):
2392         (gl::TextureCubeMap::storage):
2393         (gl::TextureCubeMap::generateMipmaps):
2394         (gl::TextureCubeMap::getRenderbuffer):
2395         (gl::TextureCubeMap::getRenderTarget):
2396         (gl::TextureCubeMap::levelCount):
2397         (gl::TextureCubeMap::getStorage):
2398         * src/libGLESv2/Texture.h: Added.
2399         * src/libGLESv2/Uniform.cpp: Added.
2400         (gl::Uniform::Uniform):
2401         (gl::Uniform::~Uniform):
2402         (gl::Uniform::isArray):
2403         (gl::Uniform::elementCount):
2404         * src/libGLESv2/Uniform.h: Added.
2405         * src/libGLESv2/angletypes.h: Added.
2406         * src/libGLESv2/constants.h: Added.
2407         * src/libGLESv2/libGLESv2.cpp: Added.
2408         (validImageSize):
2409         (checkTextureFormatType):
2410         (validateSubImageParams2D):
2411         (validateSubImageParamsCube):
2412         (validReadFormatType):
2413         * src/libGLESv2/libGLESv2.def: Added.
2414         * src/libGLESv2/libGLESv2.rc: Added.
2415         * src/libGLESv2/libGLESv2.vcxproj: Added.
2416         * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
2417         * src/libGLESv2/main.cpp: Added.
2418         (DllMain):
2419         (gl::makeCurrent):
2420         (gl::getContext):
2421         (gl::getNonLostContext):
2422         (gl::getDisplay):
2423         (gl::error):
2424         * src/libGLESv2/main.h: Added.
2425         (gl::error):
2426         * src/libGLESv2/mathutil.h: Added.
2427         (gl::Vector4::Vector4):
2428         (gl::isPow2):
2429         (gl::log2):
2430         (gl::ceilPow2):
2431         (gl::clamp):
2432         (gl::clamp01):
2433         (gl::unorm):
2434         (gl::supportsSSE2):
2435         (gl::float32ToFloat16):
2436         (rx::Range::Range):
2437         * src/libGLESv2/precompiled.cpp: Added.
2438         * src/libGLESv2/precompiled.h: Added.
2439         * src/libGLESv2/renderer: Added.
2440         * src/libGLESv2/renderer/Blit.cpp: Added.
2441         (rx::Blit::Blit):
2442         (rx::Blit::~Blit):
2443         (rx::Blit::initGeometry):
2444         (rx::Blit::setShader):
2445         (rx::Blit::setVertexShader):
2446         (rx::Blit::setPixelShader):
2447         (rx::Blit::getSurfaceRect):
2448         (rx::Blit::boxFilter):
2449         (rx::Blit::copy):
2450         (rx::Blit::formatConvert):
2451         (rx::Blit::setFormatConvertShaders):
2452         (rx::Blit::copySurfaceToTexture):
2453         (rx::Blit::setViewport):
2454         (rx::Blit::setCommonBlitState):
2455         (rx::Blit::render):
2456         (rx::Blit::saveState):
2457         (rx::Blit::restoreState):
2458         * src/libGLESv2/renderer/Blit.h: Added.
2459         * src/libGLESv2/renderer/BufferStorage.cpp: Added.
2460         (rx::BufferStorage::BufferStorage):
2461         (rx::BufferStorage::~BufferStorage):
2462         (rx::BufferStorage::getSerial):
2463         (rx::BufferStorage::updateSerial):
2464         (rx::BufferStorage::markBufferUsage):
2465         * src/libGLESv2/renderer/BufferStorage.h: Added.
2466         * src/libGLESv2/renderer/BufferStorage11.cpp: Added.
2467         (rx::BufferStorage11::BufferStorage11):
2468         (rx::BufferStorage11::~BufferStorage11):
2469         (rx::BufferStorage11::makeBufferStorage11):
2470         (rx::BufferStorage11::getData):
2471         (rx::BufferStorage11::setData):
2472         (rx::BufferStorage11::clear):
2473         (rx::BufferStorage11::getSize):
2474         (rx::BufferStorage11::supportsDirectBinding):
2475         (rx::BufferStorage11::markBufferUsage):
2476         (rx::BufferStorage11::getBuffer):
2477         * src/libGLESv2/renderer/BufferStorage11.h: Added.
2478         * src/libGLESv2/renderer/BufferStorage9.cpp: Added.
2479         (rx::BufferStorage9::BufferStorage9):
2480         (rx::BufferStorage9::~BufferStorage9):
2481         (rx::BufferStorage9::makeBufferStorage9):
2482         (rx::BufferStorage9::getData):
2483         (rx::BufferStorage9::setData):
2484         (rx::BufferStorage9::clear):
2485         (rx::BufferStorage9::getSize):
2486         (rx::BufferStorage9::supportsDirectBinding):
2487         * src/libGLESv2/renderer/BufferStorage9.h: Added.
2488         * src/libGLESv2/renderer/Fence11.cpp: Added.
2489         (rx::Fence11::Fence11):
2490         (rx::Fence11::~Fence11):
2491         (rx::Fence11::isFence):
2492         (rx::Fence11::setFence):
2493         (rx::Fence11::testFence):
2494         (rx::Fence11::finishFence):
2495         (rx::Fence11::getFenceiv):
2496         * src/libGLESv2/renderer/Fence11.h: Added.
2497         * src/libGLESv2/renderer/Fence9.cpp: Added.
2498         (rx::Fence9::Fence9):
2499         (rx::Fence9::~Fence9):
2500         (rx::Fence9::isFence):
2501         (rx::Fence9::setFence):
2502         (rx::Fence9::testFence):
2503         (rx::Fence9::finishFence):
2504         (rx::Fence9::getFenceiv):
2505         * src/libGLESv2/renderer/Fence9.h: Added.
2506         * src/libGLESv2/renderer/FenceImpl.h: Added.
2507         (rx::FenceImpl::FenceImpl):
2508         (rx::FenceImpl::~FenceImpl):
2509         (rx::FenceImpl::setStatus):
2510         (rx::FenceImpl::getStatus):
2511         (rx::FenceImpl::setCondition):
2512         (rx::FenceImpl::getCondition):
2513         * src/libGLESv2/renderer/Image.cpp: Added.
2514         (rx::Image::Image):
2515         (rx::Image::loadAlphaDataToBGRA):
2516         (rx::Image::loadAlphaDataToNative):
2517         (rx::Image::loadAlphaFloatDataToRGBA):
2518         (rx::Image::loadAlphaHalfFloatDataToRGBA):
2519         (rx::Image::loadLuminanceDataToNativeOrBGRA):
2520         (rx::Image::loadLuminanceFloatDataToRGBA):
2521         (rx::Image::loadLuminanceFloatDataToRGB):
2522         (rx::Image::loadLuminanceHalfFloatDataToRGBA):
2523         (rx::Image::loadLuminanceAlphaDataToNativeOrBGRA):
2524         (rx::Image::loadLuminanceAlphaFloatDataToRGBA):
2525         (rx::Image::loadLuminanceAlphaHalfFloatDataToRGBA):
2526         (rx::Image::loadRGBUByteDataToBGRX):
2527         (rx::Image::loadRGBUByteDataToRGBA):
2528         (rx::Image::loadRGB565DataToBGRA):
2529         (rx::Image::loadRGB565DataToRGBA):
2530         (rx::Image::loadRGBFloatDataToRGBA):
2531         (rx::Image::loadRGBFloatDataToNative):
2532         (rx::Image::loadRGBHalfFloatDataToRGBA):
2533         (rx::Image::loadRGBAUByteDataToBGRA):
2534         (rx::Image::loadRGBAUByteDataToNative):
2535         (rx::Image::loadRGBA4444DataToBGRA):
2536         (rx::Image::loadRGBA4444DataToRGBA):
2537         (rx::Image::loadRGBA5551DataToBGRA):
2538         (rx::Image::loadRGBA5551DataToRGBA):
2539         (rx::Image::loadRGBAFloatDataToRGBA):
2540         (rx::Image::loadRGBAHalfFloatDataToRGBA):
2541         (rx::Image::loadBGRADataToBGRA):
2542         * src/libGLESv2/renderer/Image.h: Added.
2543         (rx::Image::~Image):
2544         (rx::Image::getWidth):
2545         (rx::Image::getHeight):
2546         (rx::Image::getInternalFormat):
2547         (rx::Image::getActualFormat):
2548         (rx::Image::markDirty):
2549         (rx::Image::markClean):
2550         (rx::Image::setManagedSurface):
2551         * src/libGLESv2/renderer/Image11.cpp: Added.
2552         (rx::Image11::Image11):
2553         (rx::Image11::~Image11):
2554         (rx::Image11::makeImage11):
2555         (rx::Image11::generateMipmap):
2556         (rx::Image11::isDirty):
2557         (rx::Image11::updateSurface):
2558         (rx::Image11::redefine):
2559         (rx::Image11::isRenderableFormat):
2560         (rx::Image11::getDXGIFormat):
2561         (rx::Image11::loadData):
2562         (rx::Image11::loadCompressedData):
2563         (rx::Image11::copy):
2564         (rx::Image11::getStagingTexture):
2565         (rx::Image11::getStagingSubresource):
2566         (rx::Image11::createStagingTexture):
2567         (rx::Image11::map):
2568         (rx::Image11::unmap):
2569         * src/libGLESv2/renderer/Image11.h: Added.
2570         * src/libGLESv2/renderer/Image9.cpp: Added.
2571         (rx::Image9::Image9):
2572         (rx::Image9::~Image9):
2573         (rx::Image9::generateMip):
2574         (rx::Image9::makeImage9):
2575         (rx::Image9::generateMipmap):
2576         (rx::Image9::copyLockableSurfaces):
2577         (rx::Image9::redefine):
2578         (rx::Image9::createSurface):
2579         (rx::Image9::lock):
2580         (rx::Image9::unlock):
2581         (rx::Image9::isRenderableFormat):
2582         (rx::Image9::getD3DFormat):
2583         (rx::Image9::getSurface):
2584         (rx::Image9::setManagedSurface):
2585         (rx::Image9::updateSurface):
2586         (rx::Image9::loadData):
2587         (rx::Image9::loadCompressedData):
2588         (rx::Image9::copy):
2589         * src/libGLESv2/renderer/Image9.h: Added.
2590         (rx::Image9::isDirty):
2591         * src/libGLESv2/renderer/ImageSSE2.cpp: Added.
2592         (rx::Image::loadRGBAUByteDataToBGRASSE2):
2593         (rx::Image::loadAlphaDataToBGRASSE2):
2594         * src/libGLESv2/renderer/IndexBuffer.cpp: Added.
2595         (rx::IndexBuffer::IndexBuffer):
2596         (rx::IndexBuffer::~IndexBuffer):
2597         (rx::IndexBuffer::getSerial):
2598         (rx::IndexBuffer::updateSerial):
2599         (rx::IndexBufferInterface::IndexBufferInterface):
2600         (rx::IndexBufferInterface::~IndexBufferInterface):
2601         (rx::IndexBufferInterface::getIndexType):
2602         (rx::IndexBufferInterface::getBufferSize):
2603         (rx::IndexBufferInterface::getSerial):
2604         (rx::IndexBufferInterface::mapBuffer):
2605         (rx::IndexBufferInterface::unmapBuffer):
2606         (rx::IndexBufferInterface::getIndexBuffer):
2607         (rx::IndexBufferInterface::getWritePosition):
2608         (rx::IndexBufferInterface::setWritePosition):
2609         (rx::IndexBufferInterface::discard):
2610         (rx::IndexBufferInterface::setBufferSize):
2611         (rx::StreamingIndexBufferInterface::StreamingIndexBufferInterface):
2612         (rx::StreamingIndexBufferInterface::~StreamingIndexBufferInterface):
2613         (rx::StreamingIndexBufferInterface::reserveBufferSpace):
2614         (rx::StaticIndexBufferInterface::StaticIndexBufferInterface):
2615         (rx::StaticIndexBufferInterface::~StaticIndexBufferInterface):
2616         (rx::StaticIndexBufferInterface::reserveBufferSpace):
2617         (rx::StaticIndexBufferInterface::lookupRange):
2618         (rx::StaticIndexBufferInterface::addRange):
2619         * src/libGLESv2/renderer/IndexBuffer.h: Added.
2620         (rx::StaticIndexBufferInterface::IndexRange::operator<):
2621         * src/libGLESv2/renderer/IndexBuffer11.cpp: Added.
2622         (rx::IndexBuffer11::IndexBuffer11):
2623         (rx::IndexBuffer11::~IndexBuffer11):
2624         (rx::IndexBuffer11::initialize):
2625         (rx::IndexBuffer11::makeIndexBuffer11):
2626         (rx::IndexBuffer11::mapBuffer):
2627         (rx::IndexBuffer11::unmapBuffer):
2628         (rx::IndexBuffer11::getIndexType):
2629         (rx::IndexBuffer11::getBufferSize):
2630         (rx::IndexBuffer11::setSize):
2631         (rx::IndexBuffer11::discard):
2632         (rx::IndexBuffer11::getIndexFormat):
2633         (rx::IndexBuffer11::getBuffer):
2634         * src/libGLESv2/renderer/IndexBuffer11.h: Added.
2635         * src/libGLESv2/renderer/IndexBuffer9.cpp: Added.
2636         (rx::IndexBuffer9::IndexBuffer9):
2637         (rx::IndexBuffer9::~IndexBuffer9):
2638         (rx::IndexBuffer9::initialize):
2639         (rx::IndexBuffer9::makeIndexBuffer9):
2640         (rx::IndexBuffer9::mapBuffer):
2641         (rx::IndexBuffer9::unmapBuffer):
2642         (rx::IndexBuffer9::getIndexType):
2643         (rx::IndexBuffer9::getBufferSize):
2644         (rx::IndexBuffer9::setSize):
2645         (rx::IndexBuffer9::discard):
2646         (rx::IndexBuffer9::getIndexFormat):
2647         (rx::IndexBuffer9::getBuffer):
2648         * src/libGLESv2/renderer/IndexBuffer9.h: Added.
2649         * src/libGLESv2/renderer/IndexDataManager.cpp: Added.
2650         (rx::IndexDataManager::IndexDataManager):
2651         (rx::IndexDataManager::~IndexDataManager):
2652         (rx::indexTypeSize):
2653         (rx::convertIndices):
2654         (rx::computeRange):
2655         (rx::IndexDataManager::prepareIndexData):
2656         (rx::IndexDataManager::getCountingIndices):
2657         * src/libGLESv2/renderer/IndexDataManager.h: Added.
2658         * src/libGLESv2/renderer/InputLayoutCache.cpp: Added.
2659         (rx::InputLayoutCache::InputLayoutCache):
2660         (rx::InputLayoutCache::~InputLayoutCache):
2661         (rx::InputLayoutCache::initialize):
2662         (rx::InputLayoutCache::clear):
2663         (rx::InputLayoutCache::applyVertexBuffers):
2664         (rx::InputLayoutCache::hashInputLayout):
2665         (rx::InputLayoutCache::compareInputLayouts):
2666         * src/libGLESv2/renderer/InputLayoutCache.h: Added.
2667         * src/libGLESv2/renderer/Query11.cpp: Added.
2668         (rx::Query11::Query11):
2669         (rx::Query11::~Query11):
2670         (rx::Query11::begin):
2671         (rx::Query11::end):
2672         (rx::Query11::getResult):
2673         (rx::Query11::isResultAvailable):
2674         (rx::Query11::testQuery):
2675         * src/libGLESv2/renderer/Query11.h: Added.
2676         * src/libGLESv2/renderer/Query9.cpp: Added.
2677         (rx::Query9::Query9):
2678         (rx::Query9::~Query9):
2679         (rx::Query9::begin):
2680         (rx::Query9::end):
2681         (rx::Query9::getResult):
2682         (rx::Query9::isResultAvailable):
2683         (rx::Query9::testQuery):
2684         * src/libGLESv2/renderer/Query9.h: Added.
2685         * src/libGLESv2/renderer/QueryImpl.h: Added.
2686         (rx::QueryImpl::QueryImpl):
2687         (rx::QueryImpl::~QueryImpl):
2688         (rx::QueryImpl::getType):
2689         * src/libGLESv2/renderer/RenderStateCache.cpp: Added.
2690         (rx::RenderStateCache::RenderStateCache):
2691         (rx::RenderStateCache::~RenderStateCache):
2692         (rx::RenderStateCache::initialize):
2693         (rx::RenderStateCache::clear):
2694         (rx::RenderStateCache::hashBlendState):
2695         (rx::RenderStateCache::compareBlendStates):
2696         (rx::RenderStateCache::getBlendState):
2697         (rx::RenderStateCache::hashRasterizerState):
2698         (rx::RenderStateCache::compareRasterizerStates):
2699         (rx::RenderStateCache::getRasterizerState):
2700         (rx::RenderStateCache::hashDepthStencilState):
2701         (rx::RenderStateCache::compareDepthStencilStates):
2702         (rx::RenderStateCache::getDepthStencilState):
2703         (rx::RenderStateCache::hashSamplerState):
2704         (rx::RenderStateCache::compareSamplerStates):
2705         (rx::RenderStateCache::getSamplerState):
2706         * src/libGLESv2/renderer/RenderStateCache.h: Added.
2707         * src/libGLESv2/renderer/RenderTarget.h: Added.
2708         (rx::RenderTarget::RenderTarget):
2709         (rx::RenderTarget::~RenderTarget):
2710         (rx::RenderTarget::getWidth):
2711         (rx::RenderTarget::getHeight):
2712         (rx::RenderTarget::getInternalFormat):
2713         (rx::RenderTarget::getActualFormat):
2714         (rx::RenderTarget::getSamples):
2715         * src/libGLESv2/renderer/RenderTarget11.cpp: Added.
2716         (rx::getRTVSubresourceIndex):
2717         (rx::getDSVSubresourceIndex):
2718         (rx::RenderTarget11::RenderTarget11):
2719         (rx::RenderTarget11::~RenderTarget11):
2720         (rx::RenderTarget11::makeRenderTarget11):
2721         (rx::RenderTarget11::getTexture):
2722         (rx::RenderTarget11::getRenderTargetView):
2723         (rx::RenderTarget11::getDepthStencilView):
2724         (rx::RenderTarget11::getShaderResourceView):
2725         (rx::RenderTarget11::getSubresourceIndex):
2726         * src/libGLESv2/renderer/RenderTarget11.h: Added.
2727         * src/libGLESv2/renderer/RenderTarget9.cpp: Added.
2728         (rx::RenderTarget9::RenderTarget9):
2729         (rx::RenderTarget9::~RenderTarget9):
2730         (rx::RenderTarget9::makeRenderTarget9):
2731         (rx::RenderTarget9::getSurface):
2732         * src/libGLESv2/renderer/RenderTarget9.h: Added.
2733         * src/libGLESv2/renderer/Renderer.cpp: Added.
2734         (rx::Renderer::Renderer):
2735         (rx::Renderer::~Renderer):
2736         (rx::Renderer::initializeCompiler):
2737         (rx::Renderer::compileToBinary):
2738         * src/libGLESv2/renderer/Renderer.h: Added.
2739         (getComparableOSVersion):
2740         (rx::Renderer::getVertexTextureSupport):
2741         * src/libGLESv2/renderer/Renderer11.cpp: Added.
2742         (rx::Renderer11::Renderer11):
2743         (rx::Renderer11::~Renderer11):
2744         (rx::Renderer11::makeRenderer11):
2745         (rx::Renderer11::initialize):
2746         (rx::Renderer11::initializeDevice):
2747         (rx::Renderer11::generateConfigs):
2748         (rx::Renderer11::deleteConfigs):
2749         (rx::Renderer11::sync):
2750         (rx::Renderer11::createSwapChain):
2751         (rx::Renderer11::setSamplerState):
2752         (rx::Renderer11::setTexture):
2753         (rx::Renderer11::setRasterizerState):
2754         (rx::Renderer11::setBlendState):
2755         (rx::Renderer11::setDepthStencilState):
2756         (rx::Renderer11::setScissorRectangle):
2757         (rx::Renderer11::setViewport):
2758         (rx::Renderer11::applyPrimitiveType):
2759         (rx::Renderer11::applyRenderTarget):
2760         (rx::Renderer11::applyVertexBuffer):
2761         (rx::Renderer11::applyIndexBuffer):
2762         (rx::Renderer11::drawArrays):
2763         (rx::Renderer11::drawElements):
2764         (rx::Renderer11::drawLineLoop):
2765         (rx::Renderer11::drawTriangleFan):
2766         (rx::Renderer11::applyShaders):
2767         (rx::Renderer11::applyUniforms):
2768         (rx::Renderer11::clear):
2769         (rx::Renderer11::maskedClear):
2770         (rx::Renderer11::markAllStateDirty):
2771         (rx::Renderer11::releaseDeviceResources):
2772         (rx::Renderer11::notifyDeviceLost):
2773         (rx::Renderer11::isDeviceLost):
2774         (rx::Renderer11::testDeviceLost):
2775         (rx::Renderer11::testDeviceResettable):
2776         (rx::Renderer11::release):
2777         (rx::Renderer11::resetDevice):
2778         (rx::Renderer11::getAdapterVendor):
2779         (rx::Renderer11::getRendererDescription):
2780         (rx::Renderer11::getAdapterIdentifier):
2781         (rx::Renderer11::getBGRATextureSupport):
2782         (rx::Renderer11::getDXT1TextureSupport):
2783         (rx::Renderer11::getDXT3TextureSupport):
2784         (rx::Renderer11::getDXT5TextureSupport):
2785         (rx::Renderer11::getDepthTextureSupport):
2786         (rx::Renderer11::getFloat32TextureSupport):
2787         (rx::Renderer11::getFloat16TextureSupport):
2788         (rx::Renderer11::getLuminanceTextureSupport):
2789         (rx::Renderer11::getLuminanceAlphaTextureSupport):
2790         (rx::Renderer11::getTextureFilterAnisotropySupport):
2791         (rx::Renderer11::getTextureMaxAnisotropy):
2792         (rx::Renderer11::getEventQuerySupport):
2793         (rx::Renderer11::getViewportBounds):
2794         (rx::Renderer11::getMaxVertexTextureImageUnits):
2795         (rx::Renderer11::getMaxCombinedTextureImageUnits):
2796         (rx::Renderer11::getReservedVertexUniformVectors):
2797         (rx::Renderer11::getReservedFragmentUniformVectors):
2798         (rx::Renderer11::getMaxVertexUniformVectors):
2799         (rx::Renderer11::getMaxFragmentUniformVectors):
2800         (rx::Renderer11::getMaxVaryingVectors):
2801         (rx::Renderer11::getNonPower2TextureSupport):
2802         (rx::Renderer11::getOcclusionQuerySupport):
2803         (rx::Renderer11::getInstancingSupport):
2804         (rx::Renderer11::getShareHandleSupport):
2805         (rx::Renderer11::getDerivativeInstructionSupport):
2806         (rx::Renderer11::getPostSubBufferSupport):
2807         (rx::Renderer11::getMajorShaderModel):
2808         (rx::Renderer11::getMinorShaderModel):
2809         (rx::Renderer11::getMaxPointSize):
2810         (rx::Renderer11::getMaxViewportDimension):
2811         (rx::Renderer11::getMaxTextureWidth):
2812         (rx::Renderer11::getMaxTextureHeight):
2813         (rx::Renderer11::get32BitIndexSupport):
2814         (rx::Renderer11::getMinSwapInterval):
2815         (rx::Renderer11::getMaxSwapInterval):
2816         (rx::Renderer11::getMaxSupportedSamples):
2817         (rx::Renderer11::getNearestSupportedSamples):
2818         (rx::Renderer11::getMaxRenderTargets):
2819         (rx::Renderer11::copyToRenderTarget):
2820         (rx::Renderer11::copyImage):
2821         (rx::Renderer11::copyTexture):
2822         (rx::Renderer11::unapplyRenderTargets):
2823         (rx::Renderer11::setOneTimeRenderTarget):
2824         (rx::Renderer11::createRenderTarget):
2825         (rx::Renderer11::loadExecutable):
2826         (rx::Renderer11::compileToExecutable):
2827         (rx::Renderer11::createVertexBuffer):
2828         (rx::Renderer11::createIndexBuffer):
2829         (rx::Renderer11::createBufferStorage):
2830         (rx::Renderer11::createQuery):
2831         (rx::Renderer11::createFence):
2832         (rx::Renderer11::getRenderTargetResource):
2833         (rx::Renderer11::blitRect):
2834         (rx::Renderer11::readPixels):
2835         (rx::Renderer11::createImage):
2836         (rx::Renderer11::generateMipmap):
2837         (rx::Renderer11::createTextureStorage2D):
2838         (rx::Renderer11::createTextureStorageCube):
2839         (rx::getFastPixelCopySize):
2840         (rx::readPixelColor):
2841         (rx::writePixelColor):
2842         (rx::Renderer11::readTextureData):
2843         (rx::Renderer11::blitRenderbufferRect):
2844         (rx::Renderer11::resolveMultisampledTexture):
2845         (rx::Renderer11::getLUID):
2846         * src/libGLESv2/renderer/Renderer11.h: Added.
2847         (rx::Renderer11::getDevice):
2848         (rx::Renderer11::getDeviceContext):
2849         (rx::Renderer11::getDxgiFactory):
2850         * src/libGLESv2/renderer/Renderer9.cpp: Added.
2851         (rx::Renderer9::Renderer9):
2852         (rx::Renderer9::~Renderer9):
2853         (rx::Renderer9::makeRenderer9):
2854         (rx::Renderer9::initialize):
2855         (rx::Renderer9::initializeDevice):
2856         (rx::Renderer9::getDefaultPresentParameters):
2857         (rx::Renderer9::generateConfigs):
2858         (rx::Renderer9::deleteConfigs):
2859         (rx::Renderer9::startScene):
2860         (rx::Renderer9::endScene):
2861         (rx::Renderer9::sync):
2862         (rx::Renderer9::createSwapChain):
2863         (rx::Renderer9::allocateEventQuery):
2864         (rx::Renderer9::freeEventQuery):
2865         (rx::Renderer9::createVertexShader):
2866         (rx::Renderer9::createPixelShader):
2867         (rx::Renderer9::createVertexBuffer):
2868         (rx::Renderer9::createIndexBuffer):
2869         (rx::Renderer9::createBufferStorage):
2870         (rx::Renderer9::createQuery):
2871         (rx::Renderer9::createFence):
2872         (rx::Renderer9::setSamplerState):
2873         (rx::Renderer9::setTexture):
2874         (rx::Renderer9::setRasterizerState):
2875         (rx::Renderer9::setBlendState):
2876         (rx::Renderer9::setDepthStencilState):
2877         (rx::Renderer9::setScissorRectangle):
2878         (rx::Renderer9::setViewport):
2879         (rx::Renderer9::applyPrimitiveType):
2880         (rx::Renderer9::getNullColorbuffer):
2881         (rx::Renderer9::applyRenderTarget):
2882         (rx::Renderer9::applyVertexBuffer):
2883         (rx::Renderer9::applyIndexBuffer):
2884         (rx::Renderer9::drawArrays):
2885         (rx::Renderer9::drawElements):
2886         (rx::Renderer9::drawLineLoop):
2887         (rx::drawPoints):
2888         (rx::Renderer9::drawIndexedPoints):
2889         (rx::Renderer9::applyShaders):
2890         (rx::Renderer9::applyUniforms):
2891         (rx::Renderer9::applyUniformnfv):
2892         (rx::Renderer9::applyUniformniv):
2893         (rx::Renderer9::applyUniformnbv):
2894         (rx::Renderer9::clear):
2895         (rx::Renderer9::markAllStateDirty):
2896         (rx::Renderer9::releaseDeviceResources):
2897         (rx::Renderer9::notifyDeviceLost):
2898         (rx::Renderer9::isDeviceLost):
2899         (rx::Renderer9::testDeviceLost):
2900         (rx::Renderer9::testDeviceResettable):
2901         (rx::Renderer9::resetDevice):
2902         (rx::Renderer9::getAdapterVendor):
2903         (rx::Renderer9::getRendererDescription):
2904         (rx::Renderer9::getAdapterIdentifier):
2905         (rx::Renderer9::getMultiSampleSupport):
2906         (rx::Renderer9::getBGRATextureSupport):
2907         (rx::Renderer9::getDXT1TextureSupport):
2908         (rx::Renderer9::getDXT3TextureSupport):
2909         (rx::Renderer9::getDXT5TextureSupport):
2910         (rx::Renderer9::getDepthTextureSupport):
2911         (rx::Renderer9::getFloat32TextureSupport):
2912         (rx::Renderer9::getFloat16TextureSupport):
2913         (rx::Renderer9::getLuminanceTextureSupport):
2914         (rx::Renderer9::getLuminanceAlphaTextureSupport):
2915         (rx::Renderer9::getTextureFilterAnisotropySupport):
2916         (rx::Renderer9::getTextureMaxAnisotropy):
2917         (rx::Renderer9::getEventQuerySupport):
2918         (rx::Renderer9::getMaxVertexTextureImageUnits):
2919         (rx::Renderer9::getMaxCombinedTextureImageUnits):
2920         (rx::Renderer9::getReservedVertexUniformVectors):
2921         (rx::Renderer9::getReservedFragmentUniformVectors):
2922         (rx::Renderer9::getMaxVertexUniformVectors):
2923         (rx::Renderer9::getMaxFragmentUniformVectors):
2924         (rx::Renderer9::getMaxVaryingVectors):
2925         (rx::Renderer9::getNonPower2TextureSupport):
2926         (rx::Renderer9::getOcclusionQuerySupport):
2927         (rx::Renderer9::getInstancingSupport):
2928         (rx::Renderer9::getShareHandleSupport):
2929         (rx::Renderer9::getDerivativeInstructionSupport):
2930         (rx::Renderer9::getPostSubBufferSupport):
2931         (rx::Renderer9::getMajorShaderModel):
2932         (rx::Renderer9::getMaxPointSize):
2933         (rx::Renderer9::getMaxViewportDimension):
2934         (rx::Renderer9::getMaxTextureWidth):
2935         (rx::Renderer9::getMaxTextureHeight):
2936         (rx::Renderer9::get32BitIndexSupport):
2937         (rx::Renderer9::getCapsDeclTypes):
2938         (rx::Renderer9::getMinSwapInterval):
2939         (rx::Renderer9::getMaxSwapInterval):
2940         (rx::Renderer9::getMaxSupportedSamples):
2941         (rx::Renderer9::getNearestSupportedSamples):
2942         (rx::Renderer9::getMaxRenderTargets):
2943         (rx::Renderer9::ConvertTextureInternalFormat):
2944         (rx::Renderer9::copyToRenderTarget):
2945         (rx::Renderer9::getBufferPool):
2946         (rx::Renderer9::copyImage):
2947         (rx::Renderer9::blitRect):
2948         (rx::Renderer9::readPixels):
2949         (rx::Renderer9::createRenderTarget):
2950         (rx::Renderer9::loadExecutable):
2951         (rx::Renderer9::compileToExecutable):
2952         (rx::Renderer9::boxFilter):
2953         (rx::Renderer9::getTexturePool):
2954         (rx::Renderer9::createImage):
2955         (rx::Renderer9::generateMipmap):
2956         (rx::Renderer9::createTextureStorage2D):
2957         (rx::Renderer9::createTextureStorageCube):
2958         (rx::Renderer9::getLUID):
2959         * src/libGLESv2/renderer/Renderer9.h: Added.
2960         (rx::Renderer9::getDevice):
2961         * src/libGLESv2/renderer/ShaderCache.h: Added.
2962         (rx::ShaderCache::ShaderCache):
2963         (rx::ShaderCache::~ShaderCache):
2964         (rx::ShaderCache::initialize):
2965         (rx::ShaderCache::create):
2966         (rx::ShaderCache::clear):
2967         (rx::ShaderCache::createShader):
2968         * src/libGLESv2/renderer/ShaderExecutable.h: Added.
2969         (rx::ShaderExecutable::ShaderExecutable):
2970         (rx::ShaderExecutable::~ShaderExecutable):
2971         (rx::ShaderExecutable::getFunction):
2972         (rx::ShaderExecutable::getLength):
2973         * src/libGLESv2/renderer/ShaderExecutable11.cpp: Added.
2974         (rx::ShaderExecutable11::ShaderExecutable11):
2975         (rx::ShaderExecutable11::~ShaderExecutable11):
2976         (rx::ShaderExecutable11::makeShaderExecutable11):
2977         (rx::ShaderExecutable11::getVertexShader):
2978         (rx::ShaderExecutable11::getPixelShader):
2979         (rx::ShaderExecutable11::getGeometryShader):
2980         (rx::ShaderExecutable11::getConstantBuffer):
2981         * src/libGLESv2/renderer/ShaderExecutable11.h: Added.
2982         * src/libGLESv2/renderer/ShaderExecutable9.cpp: Added.
2983         (rx::ShaderExecutable9::ShaderExecutable9):
2984         (rx::ShaderExecutable9::~ShaderExecutable9):
2985         (rx::ShaderExecutable9::makeShaderExecutable9):
2986         (rx::ShaderExecutable9::getVertexShader):
2987         (rx::ShaderExecutable9::getPixelShader):
2988         * src/libGLESv2/renderer/ShaderExecutable9.h: Added.
2989         * src/libGLESv2/renderer/SwapChain.h: Added.
2990         (rx::SwapChain::SwapChain):
2991         (rx::SwapChain::~SwapChain):
2992         (rx::SwapChain::getShareHandle):
2993         * src/libGLESv2/renderer/SwapChain11.cpp: Added.
2994         (rx::SwapChain11::SwapChain11):
2995         (rx::SwapChain11::~SwapChain11):
2996         (rx::SwapChain11::release):
2997         (rx::SwapChain11::releaseOffscreenTexture):
2998         (rx::SwapChain11::resetOffscreenTexture):
2999         (rx::SwapChain11::resize):
3000         (rx::SwapChain11::reset):
3001         (rx::SwapChain11::initPassThroughResources):
3002         (rx::SwapChain11::swapRect):
3003         (rx::SwapChain11::getOffscreenTexture):
3004         (rx::SwapChain11::getRenderTarget):
3005         (rx::SwapChain11::getRenderTargetShaderResource):
3006         (rx::SwapChain11::getDepthStencil):
3007         (rx::SwapChain11::getDepthStencilTexture):
3008         (rx::SwapChain11::makeSwapChain11):
3009         (rx::SwapChain11::recreate):
3010         * src/libGLESv2/renderer/SwapChain11.h: Added.
3011         (rx::SwapChain11::getWidth):
3012         (rx::SwapChain11::getHeight):
3013         * src/libGLESv2/renderer/SwapChain9.cpp: Added.
3014         (rx::SwapChain9::SwapChain9):
3015         (rx::SwapChain9::~SwapChain9):
3016         (rx::SwapChain9::release):
3017         (rx::convertInterval):
3018         (rx::SwapChain9::resize):
3019         (rx::SwapChain9::reset):
3020         (rx::SwapChain9::swapRect):
3021         (rx::SwapChain9::getRenderTarget):
3022         (rx::SwapChain9::getDepthStencil):
3023         (rx::SwapChain9::getOffscreenTexture):
3024         (rx::SwapChain9::makeSwapChain9):
3025         (rx::SwapChain9::recreate):
3026         * src/libGLESv2/renderer/SwapChain9.h: Added.
3027         * src/libGLESv2/renderer/TextureStorage.cpp: Added.
3028         (rx::TextureStorageInterface::TextureStorageInterface):
3029         (rx::TextureStorageInterface::~TextureStorageInterface):
3030         (rx::TextureStorageInterface::isRenderTarget):
3031         (rx::TextureStorageInterface::isManaged):
3032         (rx::TextureStorageInterface::getTextureSerial):
3033         (rx::TextureStorageInterface::issueTextureSerial):
3034         (rx::TextureStorageInterface::getLodOffset):
3035         (rx::TextureStorageInterface::levelCount):
3036         (rx::TextureStorageInterface2D::TextureStorageInterface2D):
3037         (rx::TextureStorageInterface2D::~TextureStorageInterface2D):
3038         (rx::TextureStorageInterface2D::getRenderTarget):
3039         (rx::TextureStorageInterface2D::generateMipmap):
3040         (rx::TextureStorageInterface2D::getRenderTargetSerial):
3041         (rx::TextureStorageInterfaceCube::TextureStorageInterfaceCube):
3042         (rx::TextureStorageInterfaceCube::~TextureStorageInterfaceCube):
3043         (rx::TextureStorageInterfaceCube::getRenderTarget):
3044         (rx::TextureStorageInterfaceCube::generateMipmap):
3045         (rx::TextureStorageInterfaceCube::getRenderTargetSerial):
3046         * src/libGLESv2/renderer/TextureStorage.h: Added.
3047         (rx::TextureStorage::TextureStorage):
3048         (rx::TextureStorage::~TextureStorage):
3049         (rx::TextureStorageInterface::getStorageInstance):
3050         * src/libGLESv2/renderer/TextureStorage11.cpp: Added.
3051         (rx::TextureStorage11::TextureStorage11):
3052         (rx::TextureStorage11::~TextureStorage11):
3053         (rx::TextureStorage11::makeTextureStorage11):
3054         (rx::TextureStorage11::GetTextureBindFlags):
3055         (rx::TextureStorage11::IsTextureFormatRenderable):
3056         (rx::TextureStorage11::getBindFlags):
3057         (rx::TextureStorage11::getBaseTexture):
3058         (rx::TextureStorage11::getLodOffset):
3059         (rx::TextureStorage11::isRenderTarget):
3060         (rx::TextureStorage11::isManaged):
3061         (rx::TextureStorage11::levelCount):
3062         (rx::TextureStorage11::getSubresourceIndex):
3063         (rx::TextureStorage11::updateSubresourceLevel):
3064         (rx::TextureStorage11::generateMipmapLayer):
3065         (rx::TextureStorage11_2D::TextureStorage11_2D):
3066         (rx::TextureStorage11_2D::~TextureStorage11_2D):
3067         (rx::TextureStorage11_2D::makeTextureStorage11_2D):
3068         (rx::TextureStorage11_2D::getRenderTarget):
3069         (rx::TextureStorage11_2D::getSRV):
3070         (rx::TextureStorage11_2D::generateMipmap):
3071         (rx::TextureStorage11_Cube::TextureStorage11_Cube):
3072         (rx::TextureStorage11_Cube::~TextureStorage11_Cube):
3073         (rx::TextureStorage11_Cube::makeTextureStorage11_Cube):
3074         (rx::TextureStorage11_Cube::getRenderTarget):
3075         (rx::TextureStorage11_Cube::getSRV):
3076         (rx::TextureStorage11_Cube::generateMipmap):
3077         * src/libGLESv2/renderer/TextureStorage11.h: Added.
3078         (rx::TextureStorage11::getRenderTarget):
3079         (rx::TextureStorage11::generateMipmap):
3080         * src/libGLESv2/renderer/TextureStorage9.cpp: Added.
3081         (rx::TextureStorage9::TextureStorage9):
3082         (rx::TextureStorage9::~TextureStorage9):
3083         (rx::TextureStorage9::makeTextureStorage9):
3084         (rx::TextureStorage9::GetTextureUsage):
3085         (rx::TextureStorage9::IsTextureFormatRenderable):
3086         (rx::TextureStorage9::isRenderTarget):
3087         (rx::TextureStorage9::isManaged):
3088         (rx::TextureStorage9::getPool):
3089         (rx::TextureStorage9::getUsage):
3090         (rx::TextureStorage9::getLodOffset):
3091         (rx::TextureStorage9::levelCount):
3092         (rx::TextureStorage9_2D::TextureStorage9_2D):
3093         (rx::TextureStorage9_2D::~TextureStorage9_2D):
3094         (rx::TextureStorage9_2D::makeTextureStorage9_2D):
3095         (rx::TextureStorage9_2D::getSurfaceLevel):
3096         (rx::TextureStorage9_2D::getRenderTarget):
3097         (rx::TextureStorage9_2D::generateMipmap):
3098         (rx::TextureStorage9_2D::getBaseTexture):
3099         (rx::TextureStorage9_2D::initializeRenderTarget):
3100         (rx::TextureStorage9_Cube::TextureStorage9_Cube):
3101         (rx::TextureStorage9_Cube::~TextureStorage9_Cube):
3102         (rx::TextureStorage9_Cube::makeTextureStorage9_Cube):
3103         (rx::TextureStorage9_Cube::getCubeMapSurface):
3104         (rx::TextureStorage9_Cube::getRenderTarget):
3105         (rx::TextureStorage9_Cube::generateMipmap):
3106         (rx::TextureStorage9_Cube::getBaseTexture):
3107         (rx::TextureStorage9_Cube::initializeRenderTarget):
3108         * src/libGLESv2/renderer/TextureStorage9.h: Added.
3109         (rx::TextureStorage9::getRenderTarget):
3110         (rx::TextureStorage9::generateMipmap):
3111         * src/libGLESv2/renderer/VertexBuffer.cpp: Added.
3112         (rx::VertexBuffer::VertexBuffer):
3113         (rx::VertexBuffer::~VertexBuffer):
3114         (rx::VertexBuffer::updateSerial):
3115         (rx::VertexBuffer::getSerial):
3116         (rx::VertexBufferInterface::VertexBufferInterface):
3117         (rx::VertexBufferInterface::~VertexBufferInterface):
3118         (rx::VertexBufferInterface::getSerial):
3119         (rx::VertexBufferInterface::getBufferSize):
3120         (rx::VertexBufferInterface::setBufferSize):
3121         (rx::VertexBufferInterface::getWritePosition):
3122         (rx::VertexBufferInterface::setWritePosition):
3123         (rx::VertexBufferInterface::discard):
3124         (rx::VertexBufferInterface::storeVertexAttributes):
3125         (rx::VertexBufferInterface::storeRawData):
3126         (rx::VertexBufferInterface::reserveVertexSpace):
3127         (rx::VertexBufferInterface::reserveRawDataSpace):
3128         (rx::VertexBufferInterface::getVertexBuffer):
3129         (rx::StreamingVertexBufferInterface::StreamingVertexBufferInterface):
3130         (rx::StreamingVertexBufferInterface::~StreamingVertexBufferInterface):
3131         (rx::StreamingVertexBufferInterface::reserveSpace):
3132         (rx::StaticVertexBufferInterface::StaticVertexBufferInterface):
3133         (rx::StaticVertexBufferInterface::~StaticVertexBufferInterface):
3134         (rx::StaticVertexBufferInterface::lookupAttribute):
3135         (rx::StaticVertexBufferInterface::reserveSpace):
3136         (rx::StaticVertexBufferInterface::storeVertexAttributes):
3137         * src/libGLESv2/renderer/VertexBuffer.h: Added.
3138         * src/libGLESv2/renderer/VertexBuffer11.cpp: Added.
3139         (rx::VertexBuffer11::VertexBuffer11):
3140         (rx::VertexBuffer11::~VertexBuffer11):
3141         (rx::VertexBuffer11::initialize):
3142         (rx::VertexBuffer11::makeVertexBuffer11):
3143         (rx::VertexBuffer11::storeVertexAttributes):
3144         (rx::VertexBuffer11::storeRawData):
3145         (rx::VertexBuffer11::getSpaceRequired):
3146         (rx::VertexBuffer11::requiresConversion):
3147         (rx::VertexBuffer11::getBufferSize):
3148         (rx::VertexBuffer11::setBufferSize):
3149         (rx::VertexBuffer11::discard):
3150         (rx::VertexBuffer11::getVertexSize):
3151         (rx::VertexBuffer11::getDXGIFormat):
3152         (rx::VertexBuffer11::getBuffer):
3153         (rx::copyVertexData):
3154         (rx::copyFixedVertexData):
3155         (rx::copyToFloatVertexData):
3156         (rx::VertexBuffer11::getVertexConversion):
3157         * src/libGLESv2/renderer/VertexBuffer11.h: Added.
3158         * src/libGLESv2/renderer/VertexBuffer9.cpp: Added.
3159         (rx::VertexBuffer9::VertexBuffer9):
3160         (rx::VertexBuffer9::~VertexBuffer9):
3161         (rx::VertexBuffer9::initialize):
3162         (rx::VertexBuffer9::makeVertexBuffer9):
3163         (rx::VertexBuffer9::storeVertexAttributes):
3164         (rx::VertexBuffer9::storeRawData):
3165         (rx::VertexBuffer9::getSpaceRequired):
3166         (rx::VertexBuffer9::requiresConversion):
3167         (rx::VertexBuffer9::getVertexSize):
3168         (rx::VertexBuffer9::getDeclType):
3169         (rx::VertexBuffer9::getBufferSize):
3170         (rx::VertexBuffer9::setBufferSize):
3171         (rx::VertexBuffer9::discard):
3172         (rx::VertexBuffer9::getBuffer):
3173         (rx::VertexBuffer9::initializeTranslations):
3174         (rx::VertexBuffer9::typeIndex):
3175         (rx::VertexBuffer9::formatConverter):
3176         (rx::VertexBuffer9::spaceRequired):
3177         * src/libGLESv2/renderer/VertexBuffer9.h: Added.
3178         * src/libGLESv2/renderer/VertexDataManager.cpp: Added.
3179         (rx::elementsInBuffer):
3180         (rx::VertexDataManager::VertexDataManager):
3181         (rx::VertexDataManager::~VertexDataManager):
3182         (rx::directStoragePossible):
3183         (rx::VertexDataManager::prepareVertexData):
3184         * src/libGLESv2/renderer/VertexDataManager.h: Added.
3185         * src/libGLESv2/renderer/VertexDeclarationCache.cpp: Added.
3186         (rx::VertexDeclarationCache::VertexDeclarationCache):
3187         (rx::VertexDeclarationCache::~VertexDeclarationCache):
3188         (rx::VertexDeclarationCache::applyDeclaration):
3189         (rx::VertexDeclarationCache::markStateDirty):
3190         * src/libGLESv2/renderer/VertexDeclarationCache.h: Added.
3191         * src/libGLESv2/renderer/generatemip.h: Added.
3192         (rx::L8::average):
3193         (rx::A8L8::average):
3194         (rx::A8R8G8B8::average):
3195         (rx::A16B16G16R16F::average):
3196         (rx::R16F::average):
3197         (rx::R16G16F::average):
3198         (rx::A32B32G32R32F::average):
3199         (rx::R32F::average):
3200         (rx::R32G32F::average):
3201         (rx::R32G32B32F::average):
3202         (rx::GenerateMip):
3203         * src/libGLESv2/renderer/renderer11_utils.cpp: Added.
3204         (gl_d3d11::ConvertBlendFunc):
3205         (gl_d3d11::ConvertBlendOp):
3206         (gl_d3d11::ConvertColorMask):
3207         (gl_d3d11::ConvertCullMode):
3208         (gl_d3d11::ConvertComparison):
3209         (gl_d3d11::ConvertDepthMask):
3210         (gl_d3d11::ConvertStencilMask):
3211         (gl_d3d11::ConvertStencilOp):
3212         (gl_d3d11::ConvertFilter):
3213         (gl_d3d11::ConvertTextureWrap):
3214         (gl_d3d11::ConvertMinLOD):
3215         (gl_d3d11::ConvertMaxLOD):
3216         (d3d11_gl::ConvertBackBufferFormat):
3217         (d3d11_gl::ConvertDepthStencilFormat):
3218         (d3d11_gl::ConvertRenderbufferFormat):
3219         (d3d11_gl::ConvertTextureInternalFormat):
3220         (gl_d3d11::ConvertRenderbufferFormat):
3221         (gl_d3d11::ConvertTextureFormat):
3222         (d3d11::SetPositionTexCoordVertex):
3223         (d3d11::SetPositionDepthColorVertex):
3224         (d3d11::ComputePixelSizeBits):
3225         (d3d11::ComputeBlockSizeBits):
3226         (d3d11::IsCompressed):
3227         (d3d11::GetTextureFormatDimensionAlignment):
3228         (d3d11::IsDepthStencilFormat):
3229         (d3d11::GetDepthTextureFormat):
3230         (d3d11::GetDepthShaderResourceFormat):
3231         (d3d11::SetDebugName):
3232         * src/libGLESv2/renderer/renderer11_utils.h: Added.
3233         (d3d11::isDeviceLostError):
3234         * src/libGLESv2/renderer/renderer9_utils.cpp: Added.
3235         (gl_d3d9::ConvertComparison):
3236         (gl_d3d9::ConvertColor):
3237         (gl_d3d9::ConvertBlendFunc):
3238         (gl_d3d9::ConvertBlendOp):
3239         (gl_d3d9::ConvertStencilOp):
3240         (gl_d3d9::ConvertTextureWrap):
3241         (gl_d3d9::ConvertCullMode):
3242         (gl_d3d9::ConvertCubeFace):
3243         (gl_d3d9::ConvertColorMask):
3244         (gl_d3d9::ConvertMagFilter):
3245         (gl_d3d9::ConvertMinFilter):
3246         (gl_d3d9::ConvertRenderbufferFormat):
3247         (gl_d3d9::GetMultisampleTypeFromSamples):
3248         (d3d9_gl::GetStencilSize):
3249         (d3d9_gl::GetAlphaSize):
3250         (d3d9_gl::GetSamplesFromMultisampleType):
3251         (d3d9_gl::IsFormatChannelEquivalent):
3252         (d3d9_gl::ConvertBackBufferFormat):
3253         (d3d9_gl::ConvertDepthStencilFormat):
3254         (d3d9_gl::ConvertRenderTargetFormat):
3255         (d3d9_gl::GetEquivalentFormat):
3256         (d3d9::IsCompressedFormat):
3257         (d3d9::ComputeRowSize):
3258         * src/libGLESv2/renderer/renderer9_utils.h: Added.
3259         (d3d9::isDeviceLostError):
3260         * src/libGLESv2/renderer/shaders: Added.
3261         * src/libGLESv2/renderer/shaders/Blit.ps: Added.
3262         * src/libGLESv2/renderer/shaders/Blit.vs: Added.
3263         * src/libGLESv2/renderer/shaders/Clear11.hlsl: Added.
3264         * src/libGLESv2/renderer/shaders/Passthrough11.hlsl: Added.
3265         * src/libGLESv2/renderer/shaders/compiled: Added.
3266         * src/libGLESv2/renderer/shaders/compiled/clear11vs.h: Added.
3267         * src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h: Added.
3268         * src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h: Added.
3269         * src/libGLESv2/renderer/shaders/compiled/componentmaskps.h: Added.
3270         * src/libGLESv2/renderer/shaders/compiled/flipyvs.h: Added.
3271         * src/libGLESv2/renderer/shaders/compiled/luminanceps.h: Added.
3272         * src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h: Added.
3273         * src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h: Added.
3274         * src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h: Added.
3275         * src/libGLESv2/renderer/shaders/compiled/passthroughps.h: Added.
3276         * src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h: Added.
3277         * src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h: Added.
3278         * src/libGLESv2/renderer/shaders/compiled/standardvs.h: Added.
3279         * src/libGLESv2/renderer/shaders/generate_shaders.bat: Added.
3280         * src/libGLESv2/renderer/vertexconversion.h: Added.
3281         (rx::Identity::convert):
3282         (rx::Cast::convert):
3283         (rx::Normalize::convert):
3284         (rx::FixedToFloat::convert):
3285         (rx::SimpleDefaultValues::zero):
3286         (rx::SimpleDefaultValues::one):
3287         (rx::NormalizedDefaultValues::zero):
3288         (rx::NormalizedDefaultValues::one):
3289         (rx::VertexDataConverter::convertArray):
3290         (rx::VertexDataConverter::pointerAddBytes):
3291         (rx::VertexDataConverter::copyComponent):
3292         * src/libGLESv2/resource.h: Added.
3293         * src/libGLESv2/utilities.cpp: Added.
3294         (gl::UniformComponentCount):
3295         (gl::UniformComponentType):
3296         (gl::UniformComponentSize):
3297         (gl::UniformInternalSize):
3298         (gl::UniformExternalSize):
3299         (gl::VariableRowCount):
3300         (gl::VariableColumnCount):
3301         (gl::AllocateFirstFreeBits):
3302         (gl::ComputePitch):
3303         (gl::ComputeCompressedPitch):
3304         (gl::ComputeCompressedSize):
3305         (gl::IsCompressed):
3306         (gl::IsDepthTexture):
3307         (gl::IsStencilTexture):
3308         (gl::MakeValidSize):
3309         (gl::ComputePixelSize):
3310         (gl::IsCubemapTextureTarget):
3311         (gl::IsInternalTextureTarget):
3312         (gl::ConvertSizedInternalFormat):
3313         (gl::ExtractFormat):
3314         (gl::ExtractType):
3315         (gl::IsColorRenderable):
3316         (gl::IsDepthRenderable):
3317         (gl::IsStencilRenderable):
3318         (gl::IsFloat32Format):
3319         (gl::IsFloat16Format):
3320         (gl::GetAlphaSize):
3321         (gl::GetRedSize):
3322         (gl::GetGreenSize):
3323         (gl::GetBlueSize):
3324         (gl::GetDepthSize):
3325         (gl::GetStencilSize):
3326         (gl::IsTriangleMode):
3327         (getTempPath):
3328         (writeFile):
3329         * src/libGLESv2/utilities.h: Added.
3330         * src/third_party/murmurhash: Added.
3331         * src/third_party/murmurhash/LICENSE: Added.
3332         * src/third_party/murmurhash/MurmurHash3.cpp: Added, replaced tabs with spaces.
3333         (rotl32):
3334         (rotl64):
3335         (getblock):
3336         (fmix):
3337         (MurmurHash3_x86_32):
3338         (MurmurHash3_x86_128):
3339         (MurmurHash3_x64_128):
3340         * src/third_party/murmurhash/MurmurHash3.h: Added, replaced tabs with spaces.
3341
3342 2013-07-20  Dean Jackson  <dino@apple.com>
3343
3344         Updated ANGLE is leaking like a sieve
3345         https://bugs.webkit.org/show_bug.cgi?id=118939
3346
3347         Rollout 152863, r152821, r152929 and r152755.
3348
3349         * ANGLE.plist:
3350         * ANGLE.xcodeproj/project.pbxproj:
3351         * DerivedSources.make: Removed.
3352         * GNUmakefile.am:
3353         * Target.pri:
3354         * include/GLSLANG/ShaderLang.h:
3355         * src/compiler/BaseTypes.h:
3356         (getQualifierString):
3357         * src/compiler/Common.h:
3358         (EncodeSourceLoc):
3359         (DecodeSourceLoc):
3360         * src/compiler/Compiler.cpp:
3361         (TCompiler::TCompiler):
3362         (TCompiler::Init):
3363         (TCompiler::compile):
3364         (TCompiler::detectRecursion):
3365         * src/compiler/ConstantUnion.h:
3366         (ConstantUnion::ConstantUnion):
3367         * src/compiler/DetectCallDepth.cpp: Removed.
3368         * src/compiler/DetectRecursion.cpp: Added.
3369         (DetectRecursion::FunctionNode::FunctionNode):
3370         (DetectRecursion::FunctionNode::getName):
3371         (DetectRecursion::FunctionNode::addCallee):
3372         (DetectRecursion::FunctionNode::detectRecursion):
3373         (DetectRecursion::DetectRecursion):
3374         (DetectRecursion::~DetectRecursion):
3375         (DetectRecursion::visitAggregate):
3376         (DetectRecursion::detectRecursion):
3377         (DetectRecursion::findFunctionByName):
3378         * src/compiler/DetectRecursion.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/DetectCallDepth.h.
3379         * src/compiler/Diagnostics.cpp:
3380         (TDiagnostics::writeInfo):
3381         * src/compiler/ForLoopUnroll.cpp:
3382         (ForLoopUnroll::evaluateIntConstant):
3383         * src/compiler/InfoSink.cpp:
3384         (TInfoSinkBase::prefix):
3385         (TInfoSinkBase::location):
3386         (TInfoSinkBase::message):
3387         * src/compiler/InfoSink.h:
3388         * src/compiler/Initialize.cpp:
3389         (BuiltInFunctionsCommon):
3390         (BuiltInFunctionsVertex):
3391         (TBuiltIns::initialize):
3392         (IdentifyBuiltIns):
3393         (InitExtensionBehavior):
3394         * src/compiler/Intermediate.cpp:
3395         (TIntermediate::addSymbol):
3396         (TIntermediate::addBinaryMath):
3397         (TIntermediate::addAssign):
3398         (TIntermediate::addIndex):
3399         (TIntermediate::addUnaryMath):
3400         (TIntermediate::setAggregateOperator):
3401         (TIntermediate::addConversion):
3402         (TIntermediate::growAggregate):
3403         (TIntermediate::makeAggregate):
3404         (TIntermediate::addSelection):
3405         (TIntermediate::addComma):
3406         (TIntermediate::addConstantUnion):
3407         (TIntermediate::addSwizzle):
3408         (TIntermediate::addLoop):
3409         (TIntermediate::addBranch):
3410         (TIntermUnary::promote):
3411         (TIntermBinary::promote):
3412         (CompareStruct):
3413         (CompareStructure):
3414         (TIntermConstantUnion::fold):
3415         (TIntermediate::promoteConstantUnion):
3416         * src/compiler/OutputGLSL.cpp:
3417         (TOutputGLSL::writeVariablePrecision):
3418         * src/compiler/OutputGLSL.h: