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