[ANGLE] Use of uninitialized memory in ArrayBoundsClamper
[WebKit-https.git] / Source / ThirdParty / ANGLE / ChangeLog
1 2012-12-18  Max Vujovic  <mvujovic@adobe.com>
2
3         [ANGLE] Use of uninitialized memory in ArrayBoundsClamper
4         https://bugs.webkit.org/show_bug.cgi?id=105218
5
6         Reviewed by Dean Jackson.
7
8         TIntermBinary::addIndexClamp is uninitialized when the compile flag 
9         SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase. 
10         CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS 
11         flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
12         that causes a shader to fail compilation at the WebGL level.
13
14         * src/compiler/intermediate.h:
15         (TIntermBinary::TIntermBinary):
16
17 2012-10-29  Anders Carlsson  <andersca@apple.com>
18
19         Build WebKit as C++11 on Mac
20         https://bugs.webkit.org/show_bug.cgi?id=100720
21
22         Reviewed by Daniel Bates.
23
24         * Configurations/Base.xcconfig:
25         Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
26
27 2012-10-28  Mark Rowe  <mrowe@apple.com>
28
29         Simplify Xcode configuration settings that used to vary between OS versions.
30
31         Reviewed by Dan Bernstein.
32
33         * Configurations/Base.xcconfig:
34         * Configurations/DebugRelease.xcconfig:
35
36 2012-10-28  Mark Rowe  <mrowe@apple.com>
37
38         Remove references to unsupported OS and Xcode versions.
39
40         Reviewed by Anders Carlsson.
41
42         * Configurations/Base.xcconfig:
43         * Configurations/CompilerVersion.xcconfig: Removed.
44         * Configurations/DebugRelease.xcconfig:
45
46 2012-10-27  Dan Bernstein  <mitz@apple.com>
47
48         REAL_PLATFORM_NAME build setting is no longer needed
49         https://bugs.webkit.org/show_bug.cgi?id=100587
50
51         Reviewed by Mark Rowe.
52
53         Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
54         to PLATFORM_NAME.
55
56         * Configurations/Base.xcconfig:
57         * Configurations/CompilerVersion.xcconfig:
58
59 2012-10-18  Dean Jackson  <dino@apple.com>
60
61         Shader translator needs option to clamp uniform array accesses in vertex shaders
62         https://bugs.webkit.org/show_bug.cgi?id=98977
63         https://code.google.com/p/angleproject/issues/detail?id=49
64
65         Reviewed by Alok Priyadarshi and Ken Russell.
66
67         WebGL does not allow GLSL code to index a uniform array outside its bounds. Add a
68         flag to the ANGLE compiler to insert clamp statements around such indexing.
69         Since it is possible to access vec2/3/4 and mat2/3/4 components by array indexing,
70         they must be similarly clamped.
71
72         Unfortunately, it is currently not possible to always determine that the indexing is
73         operating on a uniform variable. For example, suppose we have "uniform mat4 a". ANGLE
74         is currently not able to tell us that the rvalue of "a[0]" is a uniform, just that
75         it has a size of 4. Therefore, the clamping is done on all indirect array indexing.
76
77         This will have a performance impact. Future enhancements may be able to determine
78         cases where the clamping is not necessary. Currently only direct indexing is skipped
79         (i.e. looking up a value using a constant index).
80
81         The clamp insertion is only performed on the GLSL output. Direct3D already guarantees
82         that out-of-bounds uniform array access returns a zero value.
83
84         * ANGLE.xcodeproj/project.pbxproj:
85         * Target.pri:
86         * include/GLSLANG/ShaderLang.h: New compiler option.
87         * src/compiler/ArrayBoundsClamper.cpp: Added.
88         (ArrayBoundsClamper::ArrayBoundsClamper):
89         (ArrayBoundsClamper::OutputClampingFunctionDefinition): Injects a clamping function for integers into GLSL source.
90         (ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping): Examines the AST looking for non-direct array indexing.
91         * src/compiler/ArrayBoundsClamper.h: Added.
92         (ArrayBoundsClamper):
93         (ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
94         (ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded): Marks the object as needing to output the clamping function.
95         (ArrayBoundsClamper::Cleanup): Resets the state so that subsequent runs start fresh.
96         * src/compiler/Compiler.cpp:
97         (TCompiler::compile): Run the clamping code if the compile option was set.
98         (TCompiler::clearResults):
99         (TCompiler::getArrayBoundsClamper):
100         * src/compiler/OutputGLSLBase.cpp:
101         (TOutputGLSLBase::visitBinary): If the expression has been flagged, insert an appropriate "clamp" statement.
102         * src/compiler/ShHandle.h:
103         (TCompiler):
104         * src/compiler/TranslatorESSL.cpp:
105         (TranslatorESSL::translate):
106         * src/compiler/TranslatorGLSL.cpp:
107         (TranslatorGLSL::translate):
108         * src/compiler/intermOut.cpp:
109         (TType::getCompleteString): Add array size to intermediate tree output.
110         * src/compiler/intermediate.h:
111         (TIntermBinary::setAddIndexClamp): New flag for indicating a binary expression needs clamping.
112         (TIntermBinary::getAddIndexClamp):
113         (TIntermBinary):
114
115 2012-09-13  Mark Rowe  <mrowe@apple.com>
116
117         <rdar://problem/12255720> Fix the build with newer Clang
118
119         Reviewed by Sam Weinig.
120         
121         Clang generates a warning about the inclusion of trailing commas on the final enum item as it's apparently
122         a C++11 extension. Remove them.
123         
124         * src/compiler/BaseTypes.h:
125         * src/compiler/ExtensionBehavior.h:
126         * src/compiler/ParseHelper.cpp:
127         (TParseContext::parseVectorFields):
128         * src/compiler/intermediate.h:
129
130 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
131
132         [Qt] The ANGLE build on Windows breaks with GnuWin32's flex because it is too old
133         https://bugs.webkit.org/show_bug.cgi?id=96359
134
135         Reviewed by Tor Arne Vestbø.
136
137         GnuWin32's flex is 2.5.4 and that is too old for ANGLE's preprocessor
138         lexer. The only viable alternative I could find on Windows that provides
139         binaries is the winflexbison distribution (http://sourceforge.net/projects/winflexbison/),
140         so let's use that one instead.
141
142         * DerivedSources.pri:
143
144 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
145
146         [Qt] Build on Windows requires bison/flex in PATH
147         https://bugs.webkit.org/show_bug.cgi?id=96358
148
149         Reviewed by Tor Arne Vestbø.
150
151         Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise
152         the PATH prepend trick will break because it generates a command line along the lines of
153         (set PATH="...") && with just that trailing ampersand pair.
154
155         * DerivedSources.pri:
156
157 2012-09-10  Dean Jackson  <dino@apple.com>
158
159         [Apple] Install plist for Apple Open Source build system
160         https://bugs.webkit.org/show_bug.cgi?id=96345
161
162         Reviewed by Mark Rowe.
163
164         Apple's build system requires a couple of files that describe where
165         the 3rd party Open Source library came from, and what license it
166         uses. These files are copied into /usr/local when the project is
167         being installed.
168
169         * ANGLE.plist: Added.
170         * ANGLE.txt: Added.
171         * ANGLE.xcodeproj/project.pbxproj:
172
173 2012-09-06  Andras Becsi  <andras.becsi@nokia.com>
174
175         [ANGLE] Fix the build with gcc 4.7
176         https://bugs.webkit.org/show_bug.cgi?id=95989
177
178         Reviewed by Csaba Osztrogonác.
179
180         The build fails because of a bogus warning about the auto-generated
181         pplval variable. Unfortunately the warning is called -Wuninitialized
182         in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
183         ignore unknown pragmas not to break the build with compilers that do
184         not recognize these options.
185
186         * src/compiler/preprocessor/new/ExpressionParser.y:
187
188 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
189
190         [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
191         https://bugs.webkit.org/show_bug.cgi?id=95965
192
193         Reviewed by Tor Arne Vestbø.
194
195         Add build rules to build ANGLE as a static library for the Qt port.
196
197         * ANGLE.pri: Added.
198         * ANGLE.pro: Added.
199         * DerivedSources.pri: Added.
200         * Target.pri: Added.
201
202 2012-08-24  Joshua Netterfield  <jnetterfield@rim.com>
203
204         [CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
205         https://bugs.webkit.org/show_bug.cgi?id=94736
206         http://code.google.com/p/angleproject/issues/detail?id=360
207
208         Reviewed by George Staikos.
209
210         When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
211         newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
212         the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
213         mNewFunctionName. This results in undefined behaviour in visitAggregate.
214
215         This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
216         sanitization.
217
218         * src/compiler/RenameFunction.h:
219         (RenameFunction::visitAggregate):
220         (RenameFunction):
221
222 2012-07-18  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
223
224         [Qt] Buildfix after r122870.
225         https://bugs.webkit.org/show_bug.cgi?id=89039
226
227         Reviewed by Csaba Osztrogonác
228
229         * src/compiler/preprocessor/new/MacroExpander.cpp:
230         (pp::MacroExpander::ungetToken):
231
232 2012-07-17  Max Vujovic  <mvujovic@adobe.com>
233
234         Update ANGLE in WebKit
235         https://bugs.webkit.org/show_bug.cgi?id=89039
236
237         Reviewed by Dean Jackson and Mark Rowe.
238
239         Update ANGLE to r1170, with the following modifications:
240
241         (1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
242         glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
243         2.3. The changes have been contributed back to ANGLE in r1224.
244
245         (2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
246         in r1223.
247
248         (3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
249         Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
250
251         With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
252         in ANGLE under different folders. This caused problems on the QT build when their object
253         files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
254         DiagnosticBase.cpp avoids this conflict. The same situation occurred with
255         DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
256         updates.
257
258         (4) Add the following lines to glslang.y and ExpressionParser.y:
259         #define YYENABLE_NLS 0
260         #define YYLTYPE_IS_TRIVIAL 1
261
262         Bison 2.3 doesn't first check that these macros are defined before reading their value,
263         which causes the QT build to fail.
264
265         We work around this issue in the same way in CSSGrammar.y.
266
267         I will work on contributing this change back to ANGLE.
268
269         * ANGLE.xcodeproj/project.pbxproj:
270         * include/GLES2/gl2ext.h:
271         * include/GLSLANG/ShaderLang.h:
272         * src/build_angle.xcodeproj/project.pbxproj:
273         * src/common/angleutils.h:
274         * src/common/debug.cpp:
275         (gl):
276         (gl::output):
277         (gl::trace):
278         (gl::perfActive):
279         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
280         (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
281         * src/common/version.h:
282         * src/compiler/BuiltInFunctionEmulator.cpp:
283         (BuiltInFunctionEmulator::IdentifyFunction):
284         * src/compiler/BuiltInFunctionEmulator.h:
285         * src/compiler/Compiler.cpp:
286         (isWebGLBasedSpec):
287         (TCompiler::compile):
288         (TCompiler::rewriteCSSShader):
289         (TCompiler::enforceTimingRestrictions):
290         (TCompiler::enforceFragmentShaderTimingRestrictions):
291         (TCompiler::enforceVertexShaderTimingRestrictions):
292         * src/compiler/DetectDiscontinuity.cpp: Added.
293         (sh::DetectLoopDiscontinuity::traverse):
294         (sh):
295         (sh::DetectLoopDiscontinuity::visitBranch):
296         (sh::DetectLoopDiscontinuity::visitAggregate):
297         (sh::containsLoopDiscontinuity):
298         (sh::DetectGradientOperation::traverse):
299         (sh::DetectGradientOperation::visitUnary):
300         (sh::DetectGradientOperation::visitAggregate):
301         (sh::containsGradientOperation):
302         * src/compiler/DetectDiscontinuity.h: Added.
303         (sh):
304         (DetectLoopDiscontinuity):
305         (DetectGradientOperation):
306         * src/compiler/Diagnostics.cpp: Added.
307         (TDiagnostics::TDiagnostics):
308         (TDiagnostics::~TDiagnostics):
309         (TDiagnostics::writeInfo):
310         (TDiagnostics::writeDebug):
311         (TDiagnostics::print):
312         * src/compiler/Diagnostics.h: Added.
313         (TDiagnostics):
314         (TDiagnostics::infoSink):
315         * src/compiler/DirectiveHandler.cpp: Added.
316         (getBehavior):
317         (TDirectiveHandler::TDirectiveHandler):
318         (TDirectiveHandler::~TDirectiveHandler):
319         (TDirectiveHandler::handleError):
320         (TDirectiveHandler::handlePragma):
321         (TDirectiveHandler::handleExtension):
322         (TDirectiveHandler::handleVersion):
323         * src/compiler/DirectiveHandler.h: Added.
324         (TDirectiveHandler):
325         (TDirectiveHandler::pragma):
326         (TDirectiveHandler::extensionBehavior):
327         * src/compiler/ExtensionBehavior.h:
328         (getBehaviorString):
329         * src/compiler/Initialize.cpp:
330         (BuiltInConstants):
331         (TBuiltIns::initialize):
332         (IdentifyBuiltIns):
333         * src/compiler/InitializeParseContext.cpp: Added.
334         (InitializeParseContextIndex):
335         (FreeParseContextIndex):
336         (InitializeGlobalParseContext):
337         (FreeParseContext):
338         (GetGlobalParseContext):
339         * src/compiler/InitializeParseContext.h:
340         (TThreadParseContextRec):
341         * src/compiler/Intermediate.cpp:
342         (TIntermediate::addSelection):
343         * src/compiler/MapLongVariableNames.cpp:
344         * src/compiler/OutputHLSL.cpp:
345         (sh::str):
346         (sh::OutputHLSL::OutputHLSL):
347         (sh::OutputHLSL::~OutputHLSL):
348         (sh::OutputHLSL::output):
349         (sh::OutputHLSL::header):
350         (sh::OutputHLSL::visitBinary):
351         (sh::OutputHLSL::visitUnary):
352         (sh::OutputHLSL::visitAggregate):
353         (sh::OutputHLSL::visitSelection):
354         (sh::OutputHLSL::visitLoop):
355         (sh::OutputHLSL::traverseStatements):
356         (sh):
357         (sh::OutputHLSL::handleExcessiveLoop):
358         (sh::OutputHLSL::typeString):
359         (sh::OutputHLSL::addConstructor):
360         (sh::OutputHLSL::decorateField):
361         * src/compiler/OutputHLSL.h:
362         (sh):
363         (OutputHLSL):
364         * src/compiler/ParseHelper.cpp:
365         (TParseContext::parseVectorFields):
366         (TParseContext::parseMatrixFields):
367         (TParseContext::error):
368         (TParseContext::warning):
369         (TParseContext::trace):
370         (TParseContext::assignError):
371         (TParseContext::unaryOpError):
372         (TParseContext::binaryOpError):
373         (TParseContext::precisionErrorCheck):
374         (TParseContext::lValueErrorCheck):
375         (TParseContext::constErrorCheck):
376         (TParseContext::integerErrorCheck):
377         (TParseContext::globalErrorCheck):
378         (TParseContext::reservedErrorCheck):
379         (TParseContext::constructorErrorCheck):
380         (TParseContext::voidErrorCheck):
381         (TParseContext::boolErrorCheck):
382         (TParseContext::samplerErrorCheck):
383         (TParseContext::structQualifierErrorCheck):
384         (TParseContext::parameterSamplerErrorCheck):
385         (TParseContext::arraySizeErrorCheck):
386         (TParseContext::arrayQualifierErrorCheck):
387         (TParseContext::arrayTypeErrorCheck):
388         (TParseContext::arrayErrorCheck):
389         (TParseContext::arraySetMaxSize):
390         (TParseContext::nonInitConstErrorCheck):
391         (TParseContext::nonInitErrorCheck):
392         (TParseContext::paramErrorCheck):
393         (TParseContext::extensionErrorCheck):
394         (TParseContext::supportsExtension):
395         (TParseContext::handleExtensionDirective):
396         (TParseContext::handlePragmaDirective):
397         (TParseContext::findFunction):
398         (TParseContext::executeInitializer):
399         (TParseContext::constructBuiltIn):
400         (TParseContext::constructStruct):
401         (TParseContext::addConstVectorNode):
402         (TParseContext::addConstMatrixNode):
403         (TParseContext::addConstArrayNode):
404         (TParseContext::addConstStruct):
405         (TParseContext::enterStructDeclaration):
406         (TParseContext::structNestingErrorCheck):
407         (PaParseStrings):
408         * src/compiler/ParseHelper.h:
409         (TParseContext::TParseContext):
410         (TParseContext):
411         (TParseContext::infoSink):
412         (TParseContext::extensionBehavior):
413         (TParseContext::pragma):
414         * src/compiler/PoolAlloc.cpp:
415         (TAllocation::checkGuardBlock):
416         * src/compiler/Pragma.h: Added.
417         (TPragma):
418         (TPragma::TPragma):
419         * src/compiler/RenameFunction.h: Added.
420         (RenameFunction):
421         (RenameFunction::RenameFunction):
422         (RenameFunction::visitAggregate):
423         * src/compiler/ShHandle.h:
424         (TCompiler):
425         * src/compiler/ShaderLang.cpp:
426         (getVariableInfo):
427         * src/compiler/SymbolTable.cpp:
428         (TType::buildMangledName):
429         * src/compiler/TranslatorHLSL.cpp:
430         * src/compiler/UnfoldSelect.cpp: Removed.
431         * src/compiler/UnfoldSelect.h: Removed.
432         * src/compiler/UnfoldShortCircuit.cpp: Added.
433         (sh::UnfoldShortCircuit::UnfoldShortCircuit):
434         (sh):
435         (sh::UnfoldShortCircuit::traverse):
436         (sh::UnfoldShortCircuit::visitBinary):
437         (sh::UnfoldShortCircuit::visitSelection):
438         (sh::UnfoldShortCircuit::visitLoop):
439         (sh::UnfoldShortCircuit::getNextTemporaryIndex):
440         * src/compiler/UnfoldShortCircuit.h: Added.
441         (sh):
442         (UnfoldShortCircuit):
443         * src/compiler/ValidateLimitations.cpp:
444         * src/compiler/debug.cpp:
445         * src/compiler/depgraph: Added.
446         * src/compiler/depgraph/DependencyGraph.cpp: Added.
447         (TDependencyGraph::TDependencyGraph):
448         (TDependencyGraph::~TDependencyGraph):
449         (TDependencyGraph::createArgument):
450         (TDependencyGraph::createFunctionCall):
451         (TDependencyGraph::getOrCreateSymbol):
452         (TDependencyGraph::createSelection):
453         (TDependencyGraph::createLoop):
454         (TDependencyGraph::createLogicalOp):
455         (TGraphLogicalOp::getOpString):
456         * src/compiler/depgraph/DependencyGraph.h: Added.
457         (TGraphNode):
458         (TGraphNode::TGraphNode):
459         (TGraphNode::~TGraphNode):
460         (TGraphParentNode):
461         (TGraphParentNode::TGraphParentNode):
462         (TGraphParentNode::~TGraphParentNode):
463         (TGraphParentNode::addDependentNode):
464         (TGraphArgument):
465         (TGraphArgument::TGraphArgument):
466         (TGraphArgument::~TGraphArgument):
467         (TGraphArgument::getIntermFunctionCall):
468         (TGraphArgument::getArgumentNumber):
469         (TGraphFunctionCall):
470         (TGraphFunctionCall::TGraphFunctionCall):
471         (TGraphFunctionCall::~TGraphFunctionCall):
472         (TGraphFunctionCall::getIntermFunctionCall):
473         (TGraphSymbol):
474         (TGraphSymbol::TGraphSymbol):
475         (TGraphSymbol::~TGraphSymbol):
476         (TGraphSymbol::getIntermSymbol):
477         (TGraphSelection):
478         (TGraphSelection::TGraphSelection):
479         (TGraphSelection::~TGraphSelection):
480         (TGraphSelection::getIntermSelection):
481         (TGraphLoop):
482         (TGraphLoop::TGraphLoop):
483         (TGraphLoop::~TGraphLoop):
484         (TGraphLoop::getIntermLoop):
485         (TGraphLogicalOp):
486         (TGraphLogicalOp::TGraphLogicalOp):
487         (TGraphLogicalOp::~TGraphLogicalOp):
488         (TGraphLogicalOp::getIntermLogicalOp):
489         (TDependencyGraph):
490         (TDependencyGraph::begin):
491         (TDependencyGraph::end):
492         (TDependencyGraph::beginSamplerSymbols):
493         (TDependencyGraph::endSamplerSymbols):
494         (TDependencyGraph::beginUserDefinedFunctionCalls):
495         (TDependencyGraph::endUserDefinedFunctionCalls):
496         (TDependencyGraphTraverser):
497         (TDependencyGraphTraverser::TDependencyGraphTraverser):
498         (TDependencyGraphTraverser::visitSymbol):
499         (TDependencyGraphTraverser::visitArgument):
500         (TDependencyGraphTraverser::visitFunctionCall):
501         (TDependencyGraphTraverser::visitSelection):
502         (TDependencyGraphTraverser::visitLoop):
503         (TDependencyGraphTraverser::visitLogicalOp):
504         (TDependencyGraphTraverser::getDepth):
505         (TDependencyGraphTraverser::incrementDepth):
506         (TDependencyGraphTraverser::decrementDepth):
507         (TDependencyGraphTraverser::clearVisited):
508         (TDependencyGraphTraverser::markVisited):
509         (TDependencyGraphTraverser::isVisited):
510         * src/compiler/depgraph/DependencyGraphBuilder.cpp: Added.
511         (TDependencyGraphBuilder::build):
512         (TDependencyGraphBuilder::visitAggregate):
513         (TDependencyGraphBuilder::visitFunctionDefinition):
514         (TDependencyGraphBuilder::visitFunctionCall):
515         (TDependencyGraphBuilder::visitAggregateChildren):
516         (TDependencyGraphBuilder::visitSymbol):
517         (TDependencyGraphBuilder::visitBinary):
518         (TDependencyGraphBuilder::visitAssignment):
519         (TDependencyGraphBuilder::visitLogicalOp):
520         (TDependencyGraphBuilder::visitBinaryChildren):
521         (TDependencyGraphBuilder::visitSelection):
522         (TDependencyGraphBuilder::visitLoop):
523         (TDependencyGraphBuilder::connectMultipleNodesToSingleNode):
524         * src/compiler/depgraph/DependencyGraphBuilder.h: Added.
525         (TDependencyGraphBuilder):
526         (TNodeSetStack):
527         (TDependencyGraphBuilder::TNodeSetStack::TNodeSetStack):
528         (TDependencyGraphBuilder::TNodeSetStack::~TNodeSetStack):
529         (TDependencyGraphBuilder::TNodeSetStack::getTopSet):
530         (TDependencyGraphBuilder::TNodeSetStack::pushSet):
531         (TDependencyGraphBuilder::TNodeSetStack::popSet):
532         (TDependencyGraphBuilder::TNodeSetStack::popSetIntoNext):
533         (TDependencyGraphBuilder::TNodeSetStack::insertIntoTopSet):
534         (TDependencyGraphBuilder::TNodeSetStack::clear):
535         (TNodeSetMaintainer):
536         (TDependencyGraphBuilder::TNodeSetMaintainer::TNodeSetMaintainer):
537         (TDependencyGraphBuilder::TNodeSetMaintainer::~TNodeSetMaintainer):
538         (TNodeSetPropagatingMaintainer):
539         (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::TNodeSetPropagatingMaintainer):
540         (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::~TNodeSetPropagatingMaintainer):
541         (TLeftmostSymbolMaintainer):
542         (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::TLeftmostSymbolMaintainer):
543         (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::~TLeftmostSymbolMaintainer):
544         (TDependencyGraphBuilder::TDependencyGraphBuilder):
545         (TDependencyGraphBuilder::build):
546         * src/compiler/depgraph/DependencyGraphOutput.cpp: Added.
547         (TDependencyGraphOutput::outputIndentation):
548         (TDependencyGraphOutput::visitArgument):
549         (TDependencyGraphOutput::visitFunctionCall):
550         (TDependencyGraphOutput::visitSymbol):
551         (TDependencyGraphOutput::visitSelection):
552         (TDependencyGraphOutput::visitLoop):
553         (TDependencyGraphOutput::visitLogicalOp):
554         (TDependencyGraphOutput::outputAllSpanningTrees):
555         * src/compiler/depgraph/DependencyGraphOutput.h: Added.
556         (TDependencyGraphOutput):
557         (TDependencyGraphOutput::TDependencyGraphOutput):
558         * src/compiler/depgraph/DependencyGraphTraverse.cpp: Added.
559         (TGraphNode::traverse):
560         (TGraphParentNode::traverse):
561         (TGraphArgument::traverse):
562         (TGraphFunctionCall::traverse):
563         (TGraphSymbol::traverse):
564         (TGraphSelection::traverse):
565         (TGraphLoop::traverse):
566         (TGraphLogicalOp::traverse):
567         * src/compiler/glslang.h:
568         * src/compiler/glslang.l:
569         * src/compiler/glslang.y:
570         * src/compiler/glslang_lex.cpp:
571         (yy_buffer_state):
572         (yyguts_t):
573         (yy_get_previous_state):
574         (yy_try_NUL_trans):
575         (input):
576         (yyensure_buffer_stack):
577         (yy_scan_bytes):
578         (yyget_leng):
579         (string_input):
580         (yyerror):
581         (glslang_finalize):
582         (glslang_scan):
583         * src/compiler/glslang_tab.cpp:
584         * src/compiler/intermediate.h:
585         (TIntermAggregate::TIntermAggregate):
586         (TIntermAggregate::~TIntermAggregate):
587         (TIntermAggregate::isUserDefined):
588         (TIntermAggregate):
589         (TIntermTraverser::~TIntermTraverser):
590         * src/compiler/osinclude.h:
591         * src/compiler/preprocessor/atom.c:
592         (FindHashLoc):
593         (PrintAtomTable):
594         * src/compiler/preprocessor/cpp.c:
595         (CPPpragma):
596         (readCPPline):
597         (PredefineIntMacro):
598         (MacroExpand):
599         * src/compiler/preprocessor/cpp.h:
600         * src/compiler/preprocessor/memory.h:
601         * src/compiler/preprocessor/new: Added properties allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs and allow-tabs.
602         * src/compiler/preprocessor/new/Context.cpp: Removed.
603         * src/compiler/preprocessor/new/Context.h: Removed.
604         * src/compiler/preprocessor/new/Diagnostics.h: Added.
605         (pp):
606         (Diagnostics):
607         * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Added.
608         (pp):
609         (pp::Diagnostics::~Diagnostics):
610         (pp::Diagnostics::report):
611         (pp::Diagnostics::severity):
612         * src/compiler/preprocessor/new/DirectiveHandler.h: Added.
613         (pp):
614         (DirectiveHandler):
615         * src/compiler/preprocessor/new/DirectiveHandlerBase.cpp: Added.
616         (pp):
617         (pp::DirectiveHandler::~DirectiveHandler):
618         * src/compiler/preprocessor/new/DirectiveParser.cpp: Added.
619         (getDirective):
620         (isConditionalDirective):
621         (isEOD):
622         (skipUntilEOD):
623         (isMacroNameReserved):
624         (isMacroPredefined):
625         (pp):
626         (DefinedParser):
627         (pp::DefinedParser::DefinedParser):
628         (pp::DefinedParser::lex):
629         (pp::DirectiveParser::DirectiveParser):
630         (pp::DirectiveParser::lex):
631         (pp::DirectiveParser::parseDirective):
632         (pp::DirectiveParser::parseDefine):
633         (pp::DirectiveParser::parseUndef):
634         (pp::DirectiveParser::parseIf):
635         (pp::DirectiveParser::parseIfdef):
636         (pp::DirectiveParser::parseIfndef):
637         (pp::DirectiveParser::parseElse):
638         (pp::DirectiveParser::parseElif):
639         (pp::DirectiveParser::parseEndif):
640         (pp::DirectiveParser::parseError):
641         (pp::DirectiveParser::parsePragma):
642         (pp::DirectiveParser::parseExtension):
643         (pp::DirectiveParser::parseVersion):
644         (pp::DirectiveParser::parseLine):
645         (pp::DirectiveParser::skipping):
646         (pp::DirectiveParser::parseConditionalIf):
647         (pp::DirectiveParser::parseExpressionIf):
648         (pp::DirectiveParser::parseExpressionIfdef):
649         * src/compiler/preprocessor/new/DirectiveParser.h: Added.
650         (pp):
651         (DirectiveParser):
652         (ConditionalBlock):
653         (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
654         * src/compiler/preprocessor/new/ExpressionParser.cpp: Added.
655         (yysyntax_error):
656         (yylex):
657         (yyerror):
658         (pp):
659         (pp::ExpressionParser::ExpressionParser):
660         (pp::ExpressionParser::parse):
661         * src/compiler/preprocessor/new/ExpressionParser.h: Added.
662         (pp):
663         (ExpressionParser):
664         * src/compiler/preprocessor/new/ExpressionParser.y: Added.
665         * src/compiler/preprocessor/new/Input.cpp: Added property allow-tabs.
666         (pp::Input::Input):
667         (pp::Input::read):
668         * src/compiler/preprocessor/new/Input.h: Added property allow-tabs.
669         (pp):
670         (Input):
671         (pp::Input::count):
672         (pp::Input::string):
673         (pp::Input::length):
674         (Location):
675         (pp::Input::Location::Location):
676         (pp::Input::readLoc):
677         * src/compiler/preprocessor/new/Lexer.cpp: Added.
678         (pp):
679         (pp::Lexer::~Lexer):
680         * src/compiler/preprocessor/new/Lexer.h: Added.
681         (pp):
682         (Lexer):
683         * src/compiler/preprocessor/new/Macro.cpp: Added property allow-tabs.
684         (pp::Macro::equals):
685         * src/compiler/preprocessor/new/Macro.h: Added property allow-tabs.
686         (pp):
687         (pp::Macro::Macro):
688         (Macro):
689         * src/compiler/preprocessor/new/MacroExpander.cpp: Added.
690         (pp):
691         (TokenLexer):
692         (pp::TokenLexer::TokenLexer):
693         (pp::TokenLexer::lex):
694         (pp::MacroExpander::MacroExpander):
695         (pp::MacroExpander::~MacroExpander):
696         (pp::MacroExpander::lex):
697         (pp::MacroExpander::getToken):
698         (pp::MacroExpander::ungetToken):
699         (pp::MacroExpander::isNextTokenLeftParen):
700         (pp::MacroExpander::pushMacro):
701         (pp::MacroExpander::popMacro):
702         (pp::MacroExpander::expandMacro):
703         (pp::MacroExpander::collectMacroArgs):
704         (pp::MacroExpander::replaceMacroParams):
705         * src/compiler/preprocessor/new/MacroExpander.h: Added.
706         (pp):
707         (MacroExpander):
708         (MacroContext):
709         (pp::MacroExpander::MacroContext::MacroContext):
710         (pp::MacroExpander::MacroContext::empty):
711         (pp::MacroExpander::MacroContext::get):
712         (pp::MacroExpander::MacroContext::unget):
713         * src/compiler/preprocessor/new/Preprocessor.cpp: Added property allow-tabs.
714         (PreprocessorImpl):
715         (pp::PreprocessorImpl::PreprocessorImpl):
716         (pp):
717         (pp::Preprocessor::Preprocessor):
718         (pp::Preprocessor::~Preprocessor):
719         (pp::Preprocessor::init):
720         (pp::Preprocessor::predefineMacro):
721         (pp::Preprocessor::lex):
722         * src/compiler/preprocessor/new/Preprocessor.h: Added property allow-tabs.
723         (pp):
724         (Preprocessor):
725         * src/compiler/preprocessor/new/SourceLocation.h: Added.
726         (pp):
727         (pp::SourceLocation::SourceLocation):
728         (SourceLocation):
729         (pp::SourceLocation::equals):
730         (pp::operator==):
731         (pp::operator!=):
732         * src/compiler/preprocessor/new/Token.cpp: Added property allow-tabs.
733         (pp::Token::reset):
734         (pp::Token::equals):
735         (pp::Token::setAtStartOfLine):
736         (pp::Token::setHasLeadingSpace):
737         (pp):
738         (pp::Token::setExpansionDisabled):
739         (pp::operator<<):
740         * src/compiler/preprocessor/new/Token.h: Added property allow-tabs.
741         (pp::Token::Token):
742         (Token):
743         (pp::Token::atStartOfLine):
744         (pp::Token::hasLeadingSpace):
745         (pp::Token::expansionDisabled):
746         (pp::operator==):
747         (pp):
748         (pp::operator!=):
749         * src/compiler/preprocessor/new/Tokenizer.cpp: Added.
750         (yy_buffer_state):
751         (yy_trans_info):
752         (yyguts_t):
753         (yy_get_previous_state):
754         (yy_try_NUL_trans):
755         (input):
756         (pprestart):
757         (pp_switch_to_buffer):
758         (pp_load_buffer_state):
759         (pp_create_buffer):
760         (pp_delete_buffer):
761         (pp_init_buffer):
762         (pp_flush_buffer):
763         (pppush_buffer_state):
764         (pppop_buffer_state):
765         (ppensure_buffer_stack):
766         (pp_scan_buffer):
767         (pp_scan_string):
768         (pp_scan_bytes):
769         (yy_fatal_error):
770         (ppget_extra):
771         (ppget_lineno):
772         (ppget_column):
773         (ppget_in):
774         (ppget_out):
775         (ppget_leng):
776         (ppget_text):
777         (ppset_extra):
778         (ppset_lineno):
779         (ppset_column):
780         (ppset_in):
781         (ppset_out):
782         (ppget_debug):
783         (ppset_debug):
784         (ppget_lval):
785         (ppset_lval):
786         (ppget_lloc):
787         (ppset_lloc):
788         (pplex_init):
789         (pplex_init_extra):
790         (yy_init_globals):
791         (pplex_destroy):
792         (yy_flex_strncpy):
793         (yy_flex_strlen):
794         (ppalloc):
795         (pprealloc):
796         (ppfree):
797         (pp):
798         (pp::Tokenizer::Tokenizer):
799         (pp::Tokenizer::~Tokenizer):
800         (pp::Tokenizer::init):
801         (pp::Tokenizer::setFileNumber):
802         (pp::Tokenizer::setLineNumber):
803         (pp::Tokenizer::lex):
804         (pp::Tokenizer::initScanner):
805         (pp::Tokenizer::destroyScanner):
806         * src/compiler/preprocessor/new/Tokenizer.h: Added.
807         (pp):
808         (Tokenizer):
809         (Context):
810         * src/compiler/preprocessor/new/Tokenizer.l: Added.
811         * src/compiler/preprocessor/new/generate_parser.sh: Added property allow-tabs.
812         * src/compiler/preprocessor/new/pp.l: Removed.
813         * src/compiler/preprocessor/new/pp.y: Removed.
814         * src/compiler/preprocessor/new/pp_lex.cpp: Removed.
815         * src/compiler/preprocessor/new/pp_tab.cpp: Removed.
816         * src/compiler/preprocessor/new/pp_tab.h: Removed.
817         * src/compiler/preprocessor/new/pp_utils.h: Added.
818         * src/compiler/preprocessor/new/preprocessor.vcproj: Added.
819         * src/compiler/preprocessor/new/stl_utils.h: Removed.
820         * src/compiler/preprocessor/new/token_type.h: Removed.
821         * src/compiler/preprocessor/preprocess.h:
822         * src/compiler/preprocessor/scanner.c:
823         (InitScannerInput):
824         * src/compiler/preprocessor/scanner.h:
825         * src/compiler/preprocessor/symbols.h:
826         * src/compiler/preprocessor/tokens.c:
827         (ReadToken):
828         (DumpTokenStream):
829         * src/compiler/preprocessor/tokens.h:
830         * src/compiler/timing: Added.
831         * src/compiler/timing/RestrictFragmentShaderTiming.cpp: Added.
832         (RestrictFragmentShaderTiming::RestrictFragmentShaderTiming):
833         (RestrictFragmentShaderTiming::enforceRestrictions):
834         (RestrictFragmentShaderTiming::validateUserDefinedFunctionCallUsage):
835         (RestrictFragmentShaderTiming::beginError):
836         (RestrictFragmentShaderTiming::isSamplingOp):
837         (RestrictFragmentShaderTiming::visitArgument):
838         (RestrictFragmentShaderTiming::visitSelection):
839         (RestrictFragmentShaderTiming::visitLoop):
840         (RestrictFragmentShaderTiming::visitLogicalOp):
841         * src/compiler/timing/RestrictFragmentShaderTiming.h: Added.
842         (RestrictFragmentShaderTiming):
843         (RestrictFragmentShaderTiming::numErrors):
844         * src/compiler/timing/RestrictVertexShaderTiming.cpp: Added.
845         (RestrictVertexShaderTiming::visitSymbol):
846         * src/compiler/timing/RestrictVertexShaderTiming.h: Added.
847         (RestrictVertexShaderTiming):
848         (RestrictVertexShaderTiming::RestrictVertexShaderTiming):
849         (RestrictVertexShaderTiming::enforceRestrictions):
850         (RestrictVertexShaderTiming::numErrors):
851         * src/libEGL/Display.cpp:
852         (egl):
853         (egl::Display::getDepthTextureSupport):
854         (egl::Display::getTexturePool):
855         * src/libEGL/Display.h:
856         (Display):
857         * src/libEGL/Surface.cpp:
858         (egl::Surface::Surface):
859         (egl::Surface::release):
860         (egl::Surface::resetSwapChain):
861         (egl::Surface::swapRect):
862         (egl):
863         (egl::Surface::swap):
864         (egl::Surface::postSubBuffer):
865         * src/libEGL/Surface.h:
866         (Surface):
867         * src/libEGL/libEGL.cpp:
868         * src/libGLESv2/Context.cpp:
869         (gl::Context::makeCurrent):
870         (gl::Context::markDxUniformsDirty):
871         (gl):
872         (gl::Context::getIntegerv):
873         (gl::Context::getQueryParameterInfo):
874         (gl::Context::applyRenderTarget):
875         (gl::Context::applyState):
876         (gl::Context::applyShaders):
877         (gl::Context::applyTextures):
878         (gl::Context::readPixels):
879         (gl::Context::clear):
880         (gl::Context::drawArrays):
881         (gl::Context::drawElements):
882         (gl::Context::supportsDepthTextures):
883         (gl::Context::initExtensionString):
884         (gl::Context::blitFramebuffer):
885         (gl::VertexDeclarationCache::applyDeclaration):
886         * src/libGLESv2/Context.h:
887         (Context):
888         * src/libGLESv2/Framebuffer.cpp:
889         (gl::Framebuffer::~Framebuffer):
890         (gl):
891         (gl::Framebuffer::getNullColorbuffer):
892         (gl::Framebuffer::completeness):
893         * src/libGLESv2/Framebuffer.h:
894         (Framebuffer):
895         * src/libGLESv2/Program.cpp:
896         (gl):
897         (gl::AttributeBindings::AttributeBindings):
898         (gl::AttributeBindings::~AttributeBindings):
899         (gl::InfoLog::InfoLog):
900         (gl::InfoLog::~InfoLog):
901         (gl::InfoLog::getLength):
902         (gl::InfoLog::getLog):
903         (gl::InfoLog::appendSanitized):
904         (gl::InfoLog::append):
905         (gl::InfoLog::reset):
906         (gl::Program::Program):
907         (gl::Program::~Program):
908         (gl::Program::attachShader):
909         (gl::Program::detachShader):
910         (gl::Program::getAttachedShadersCount):
911         (gl::AttributeBindings::bindAttributeLocation):
912         (gl::Program::bindAttributeLocation):
913         (gl::Program::link):
914         (gl::AttributeBindings::getAttributeBinding):
915         (gl::Program::unlink):
916         (gl::Program::getProgramBinary):
917         (gl::Program::setProgramBinary):
918         (gl::Program::getInfoLogLength):
919         (gl::Program::getInfoLog):
920         (gl::Program::getActiveAttribute):
921         (gl::Program::getActiveAttributeCount):
922         (gl::Program::getActiveAttributeMaxLength):
923         (gl::Program::getActiveUniform):
924         (gl::Program::getActiveUniformCount):
925         (gl::Program::getActiveUniformMaxLength):
926         (gl::Program::validate):
927         (gl::Program::isValidated):
928         * src/libGLESv2/Program.h:
929         (gl):
930         (AttributeBindings):
931         (InfoLog):
932         (Program):
933         * src/libGLESv2/ProgramBinary.cpp: Added.
934         (gl::str):
935         (gl):
936         (gl::Uniform::Uniform):
937         (gl::Uniform::~Uniform):
938         (gl::Uniform::isArray):
939         (gl::UniformLocation::UniformLocation):
940         (gl::ProgramBinary::ProgramBinary):
941         (gl::ProgramBinary::~ProgramBinary):
942         (gl::ProgramBinary::getPixelShader):
943         (gl::ProgramBinary::getVertexShader):
944         (gl::ProgramBinary::getAttributeLocation):
945         (gl::ProgramBinary::getSemanticIndex):
946         (gl::ProgramBinary::getUsedSamplerRange):
947         (gl::ProgramBinary::getSamplerMapping):
948         (gl::ProgramBinary::getSamplerTextureType):
949         (gl::ProgramBinary::getUniformLocation):
950         (gl::ProgramBinary::setUniform1fv):
951         (gl::ProgramBinary::setUniform2fv):
952         (gl::ProgramBinary::setUniform3fv):
953         (gl::ProgramBinary::setUniform4fv):
954         (gl::transposeMatrix):
955         (gl::ProgramBinary::setUniformMatrix2fv):
956         (gl::ProgramBinary::setUniformMatrix3fv):
957         (gl::ProgramBinary::setUniformMatrix4fv):
958         (gl::ProgramBinary::setUniform1iv):
959         (gl::ProgramBinary::setUniform2iv):
960         (gl::ProgramBinary::setUniform3iv):
961         (gl::ProgramBinary::setUniform4iv):
962         (gl::ProgramBinary::getUniformfv):
963         (gl::ProgramBinary::getUniformiv):
964         (gl::ProgramBinary::dirtyAllUniforms):
965         (gl::ProgramBinary::applyUniforms):
966         (gl::ProgramBinary::compileToBinary):
967         (gl::ProgramBinary::packVaryings):
968         (gl::ProgramBinary::linkVaryings):
969         (gl::ProgramBinary::link):
970         (gl::ProgramBinary::linkAttributes):
971         (gl::ProgramBinary::linkUniforms):
972         (gl::ProgramBinary::defineUniform):
973         (gl::ProgramBinary::createUniform):
974         (gl::ProgramBinary::decorateAttribute):
975         (gl::ProgramBinary::undecorateUniform):
976         (gl::ProgramBinary::applyUniformnbv):
977         (gl::ProgramBinary::applyUniformnfv):
978         (gl::ProgramBinary::applyUniform1iv):
979         (gl::ProgramBinary::applyUniform2iv):
980         (gl::ProgramBinary::applyUniform3iv):
981         (gl::ProgramBinary::applyUniform4iv):
982         (gl::ProgramBinary::applyUniformniv):
983         (gl::ProgramBinary::isValidated):
984         (gl::ProgramBinary::getActiveAttribute):
985         (gl::ProgramBinary::getActiveAttributeCount):
986         (gl::ProgramBinary::getActiveAttributeMaxLength):
987         (gl::ProgramBinary::getActiveUniform):
988         (gl::ProgramBinary::getActiveUniformCount):
989         (gl::ProgramBinary::getActiveUniformMaxLength):
990         (gl::ProgramBinary::validate):
991         (gl::ProgramBinary::validateSamplers):
992         (gl::ProgramBinary::getDxDepthRangeLocation):
993         (gl::ProgramBinary::getDxDepthLocation):
994         (gl::ProgramBinary::getDxCoordLocation):
995         (gl::ProgramBinary::getDxHalfPixelSizeLocation):
996         (gl::ProgramBinary::getDxFrontCCWLocation):
997         (gl::ProgramBinary::getDxPointsOrLinesLocation):
998         * src/libGLESv2/ProgramBinary.h: Added.
999         (gl):
1000         (Uniform):
1001         (gl::Uniform::RegisterInfo::RegisterInfo):
1002         (RegisterInfo):
1003         (gl::Uniform::RegisterInfo::set):
1004         (UniformLocation):
1005         (ProgramBinary):
1006         (Sampler):
1007         * src/libGLESv2/Renderbuffer.cpp:
1008         (gl):
1009         (gl::RenderbufferTexture2D::RenderbufferTexture2D):
1010         (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
1011         (gl::RenderbufferTexture2D::addProxyRef):
1012         (gl::RenderbufferTexture2D::releaseProxy):
1013         (gl::RenderbufferTexture2D::getRenderTarget):
1014         (gl::RenderbufferTexture2D::getDepthStencil):
1015         (gl::RenderbufferTexture2D::getWidth):
1016         (gl::RenderbufferTexture2D::getHeight):
1017         (gl::RenderbufferTexture2D::getInternalFormat):
1018         (gl::RenderbufferTexture2D::getD3DFormat):
1019         (gl::RenderbufferTexture2D::getSamples):
1020         (gl::RenderbufferTexture2D::getSerial):
1021         (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
1022         (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
1023         (gl::RenderbufferTextureCubeMap::addProxyRef):
1024         (gl::RenderbufferTextureCubeMap::releaseProxy):
1025         (gl::RenderbufferTextureCubeMap::getRenderTarget):
1026         (gl::RenderbufferTextureCubeMap::getDepthStencil):
1027         (gl::RenderbufferTextureCubeMap::getWidth):
1028         (gl::RenderbufferTextureCubeMap::getHeight):
1029         (gl::RenderbufferTextureCubeMap::getInternalFormat):
1030         (gl::RenderbufferTextureCubeMap::getD3DFormat):
1031         (gl::RenderbufferTextureCubeMap::getSamples):
1032         (gl::RenderbufferTextureCubeMap::getSerial):
1033         (gl::DepthStencilbuffer::getDepthStencil):
1034         * src/libGLESv2/Renderbuffer.h:
1035         (gl):
1036         (RenderbufferTexture2D):
1037         (RenderbufferTextureCubeMap):
1038         * src/libGLESv2/Shader.cpp:
1039         (gl::Shader::getInfoLog):
1040         (gl::Shader::getSourceImpl):
1041         * src/libGLESv2/Shader.h:
1042         (Shader):
1043         (VertexShader):
1044         * src/libGLESv2/Texture.cpp:
1045         (gl::ConvertTextureFormatType):
1046         (gl::IsTextureFormatRenderable):
1047         (gl::GetTextureUsage):
1048         (gl):
1049         (gl::Image::createSurface):
1050         (gl::Image::updateSurface):
1051         (gl::Image::loadData):
1052         (gl::Image::loadAlphaData):
1053         (gl::Image::loadAlphaDataSSE2):
1054         (gl::Image::loadAlphaFloatData):
1055         (gl::Image::loadAlphaHalfFloatData):
1056         (gl::Image::loadLuminanceData):
1057         (gl::Image::loadLuminanceFloatData):
1058         (gl::Image::loadLuminanceHalfFloatData):
1059         (gl::Image::loadLuminanceAlphaData):
1060         (gl::Image::loadLuminanceAlphaFloatData):
1061         (gl::Image::loadLuminanceAlphaHalfFloatData):
1062         (gl::Image::loadRGBUByteData):
1063         (gl::Image::loadRGB565Data):
1064         (gl::Image::loadRGBFloatData):
1065         (gl::Image::loadRGBHalfFloatData):
1066         (gl::Image::loadRGBAUByteDataSSE2):
1067         (gl::Image::loadRGBAUByteData):
1068         (gl::Image::loadRGBA4444Data):
1069         (gl::Image::loadRGBA5551Data):
1070         (gl::Image::loadRGBAFloatData):
1071         (gl::Image::loadRGBAHalfFloatData):
1072         (gl::Image::loadBGRAData):
1073         (gl::Image::loadCompressedData):
1074         (gl::Image::copy):
1075         (gl::TextureStorage::TextureStorage):
1076         (gl::TextureStorage::isRenderTarget):
1077         (gl::TextureStorage::getUsage):
1078         (gl::Texture::setImage):
1079         (gl::Texture::setCompressedImage):
1080         (gl::Texture::subImage):
1081         (gl::Texture::subImageCompressed):
1082         (gl::TextureStorage2D::TextureStorage2D):
1083         (gl::Texture2D::getInternalFormat):
1084         (gl::Texture2D::getD3DFormat):
1085         (gl::Texture2D::copyImage):
1086         (gl::Texture2D::copySubImage):
1087         (gl::Texture2D::storage):
1088         (gl::Texture2D::isSamplerComplete):
1089         (gl::Texture2D::isCompressed):
1090         (gl::Texture2D::isDepth):
1091         (gl::Texture2D::createTexture):
1092         (gl::Texture2D::convertToRenderTarget):
1093         (gl::Texture2D::getRenderbuffer):
1094         (gl::Texture2D::getRenderTarget):
1095         (gl::Texture2D::getDepthStencil):
1096         (gl::TextureStorageCubeMap::TextureStorageCubeMap):
1097         (gl::TextureCubeMap::getWidth):
1098         (gl::TextureCubeMap::getHeight):
1099         (gl::TextureCubeMap::getInternalFormat):
1100         (gl::TextureCubeMap::getD3DFormat):
1101         (gl::TextureCubeMap::isSamplerComplete):
1102         (gl::TextureCubeMap::isCompressed):
1103         (gl::TextureCubeMap::createTexture):
1104         (gl::TextureCubeMap::convertToRenderTarget):
1105         (gl::TextureCubeMap::copyImage):
1106         (gl::TextureCubeMap::copySubImage):
1107         (gl::TextureCubeMap::storage):
1108         (gl::TextureCubeMap::getRenderbuffer):
1109         * src/libGLESv2/Texture.h:
1110         (Image):
1111         (TextureStorage):
1112         (Texture):
1113         (TextureStorage2D):
1114         (Texture2D):
1115         (TextureStorageCubeMap):
1116         (TextureCubeMap):
1117         * src/libGLESv2/VertexDataManager.cpp:
1118         (gl::VertexDataManager::prepareVertexData):
1119         * src/libGLESv2/libGLESv2.cpp:
1120         (checkTextureFormatType):
1121         (validateSubImageParams2D):
1122         (validateSubImageParamsCube):
1123         * src/libGLESv2/libGLESv2.vcproj:
1124         * src/libGLESv2/mathutil.h:
1125         (gl):
1126         * src/libGLESv2/utilities.cpp:
1127         (gl::IsDepthTexture):
1128         (gl):
1129         (gl::ComputePixelSize):
1130         (gl::ExtractFormat):
1131         (gl::ExtractType):
1132         (es2dx::ConvertCubeFace):
1133         (es2dx::ConvertRenderbufferFormat):
1134         (dx2es::GetStencilSize):
1135         (dx2es::GetDepthSize):
1136         (dx2es::IsDepthTextureFormat):
1137         (dx2es):
1138         (dx2es::IsStencilTextureFormat):
1139         (dx2es::ConvertDepthStencilFormat):
1140         * src/libGLESv2/utilities.h:
1141         (gl):
1142         (dx2es):
1143
1144 2012-07-11  Mark Rowe  <mrowe@apple.com>
1145
1146         <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
1147
1148         Reviewed by Dan Bernstein.
1149
1150         The deployment target is already set to the version that we're targeting, and it's that setting
1151         which determines which functionality from the SDK is available to us.
1152
1153         * Configurations/Base.xcconfig:
1154
1155 2012-06-22  Joshua Netterfield  <jnetterfield@rim.com>
1156
1157         [BlackBerry] Sanitize GLSL code using ANGLE.
1158
1159         BlackBerry port does not sanitize GLSL code with ANGLE
1160         https://bugs.webkit.org/show_bug.cgi?id=89583
1161
1162         Reviewed by Rob Buis.
1163
1164         * src/compiler/osinclude.h: Recognises QNX as POSIX
1165
1166 2012-03-26  Dean Jackson  <dino@apple.com>
1167
1168         Update ANGLE in WebKit
1169         https://bugs.webkit.org/show_bug.cgi?id=81717
1170
1171         Reviewed by Kenneth Russell.
1172
1173         Update angleproject to r1009. Synced the source directory
1174         between the angle repository and WebKit. Ran the OS X Lion
1175         version of Bison over the glslang.l input which generates
1176         a slightly different output than angle provided.
1177
1178         * include/EGL/eglext.h:
1179         * include/GLES2/gl2ext.h:
1180         * include/GLSLANG/ShaderLang.h:
1181         * src/common/RefCountObject.cpp: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.cpp.
1182         (RefCountObject::RefCountObject):
1183         (RefCountObject::~RefCountObject):
1184         (RefCountObject::addRef):
1185         (RefCountObject::release):
1186         (RefCountObjectBindingPointer::set):
1187         * src/common/RefCountObject.h: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.h.
1188         (RefCountObject):
1189         (RefCountObject::id):
1190         (RefCountObjectBindingPointer):
1191         (RefCountObjectBindingPointer::RefCountObjectBindingPointer):
1192         (RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
1193         (RefCountObjectBindingPointer::get):
1194         (RefCountObjectBindingPointer::id):
1195         (RefCountObjectBindingPointer::operator ! ):
1196         (BindingPointer):
1197         (BindingPointer::set):
1198         (BindingPointer::get):
1199         (BindingPointer::operator -> ):
1200         * src/common/debug.cpp:
1201         (gl::output):
1202         * src/common/version.h:
1203         * src/compiler/BaseTypes.h:
1204         * src/compiler/Compiler.cpp:
1205         (TCompiler::TCompiler):
1206         (TCompiler::~TCompiler):
1207         (TCompiler::mapLongVariableNames):
1208         * src/compiler/ConstantUnion.h:
1209         (ConstantUnion::ConstantUnion):
1210         (ConstantUnion::operator==):
1211         (ConstantUnion::operator>):
1212         (ConstantUnion::operator<):
1213         * src/compiler/Intermediate.cpp:
1214         (TIntermConstantUnion::fold):
1215         * src/compiler/MapLongVariableNames.cpp:
1216         (LongNameMap::LongNameMap):
1217         (LongNameMap::~LongNameMap):
1218         (LongNameMap::GetInstance):
1219         (LongNameMap::Release):
1220         (LongNameMap::Find):
1221         (LongNameMap::Insert):
1222         (LongNameMap::Size):
1223         (MapLongVariableNames::MapLongVariableNames):
1224         (MapLongVariableNames::visitSymbol):
1225         (MapLongVariableNames::mapGlobalLongName):
1226         * src/compiler/MapLongVariableNames.h:
1227         (LongNameMap):
1228         (MapLongVariableNames):
1229         * src/compiler/OutputHLSL.cpp:
1230         (sh::OutputHLSL::OutputHLSL):
1231         (sh::OutputHLSL::header):
1232         (sh::OutputHLSL::visitSymbol):
1233         (sh::OutputHLSL::visitUnary):
1234         (sh::OutputHLSL::visitAggregate):
1235         (sh::OutputHLSL::visitLoop):
1236         (sh::OutputHLSL::handleExcessiveLoop):
1237         (sh::OutputHLSL::typeString):
1238         (sh::OutputHLSL::addConstructor):
1239         (sh::OutputHLSL::decorateUniform):
1240         * src/compiler/OutputHLSL.h:
1241         (OutputHLSL):
1242         * src/compiler/PoolAlloc.cpp:
1243         (TAllocation::checkGuardBlock):
1244         * src/compiler/ShHandle.h:
1245         (TCompiler):
1246         * src/compiler/SymbolTable.cpp:
1247         * src/compiler/SymbolTable.h:
1248         (TSymbolTable):
1249         (TSymbolTable::getOuterLevel):
1250         * src/compiler/VariableInfo.cpp:
1251         (getVariableDataType):
1252         * src/compiler/glslang.l:
1253         * src/compiler/glslang.y:
1254         * src/compiler/glslang_lex.cpp:
1255         (yy_buffer_state):
1256         (yyguts_t):
1257         (input):
1258         (yyensure_buffer_stack):
1259         (yy_scan_bytes):
1260         (yyget_leng):
1261         * src/compiler/glslang_tab.cpp:
1262         * src/compiler/osinclude.h:
1263         * src/compiler/preprocessor/cpp.c:
1264         * src/compiler/preprocessor/memory.c:
1265         * src/compiler/preprocessor/new/Context.cpp: Added.
1266         (isMacroNameReserved):
1267         (pp):
1268         (pp::Context::Context):
1269         (pp::Context::~Context):
1270         (pp::Context::init):
1271         (pp::Context::process):
1272         (pp::Context::defineMacro):
1273         (pp::Context::undefineMacro):
1274         (pp::Context::isMacroDefined):
1275         (pp::Context::reset):
1276         (pp::Context::defineBuiltInMacro):
1277         * src/compiler/preprocessor/new/Context.h: Added.
1278         (pp):
1279         (Context):
1280         (pp::Context::lexer):
1281         (pp::Context::output):
1282         * src/compiler/preprocessor/new/Input.cpp: Added.
1283         (pp):
1284         (pp::Input::Input):
1285         (pp::Input::eof):
1286         (pp::Input::read):
1287         (pp::Input::getChar):
1288         (pp::Input::peekChar):
1289         (pp::Input::switchToNextString):
1290         (pp::Input::isStringEmpty):
1291         (pp::Input::stringLength):
1292         * src/compiler/preprocessor/new/Input.h: Added.
1293         (pp):
1294         (Input):
1295         (pp::Input::error):
1296         (pp::Input::stringIndex):
1297         * src/compiler/preprocessor/new/Macro.cpp: Added.
1298         (pp):
1299         (pp::Macro::Macro):
1300         (pp::Macro::~Macro):
1301         * src/compiler/preprocessor/new/Macro.h: Added.
1302         (pp):
1303         (Macro):
1304         (pp::Macro::type):
1305         (pp::Macro::identifier):
1306         (pp::Macro::parameters):
1307         (pp::Macro::replacements):
1308         * src/compiler/preprocessor/new/Preprocessor.cpp: Added.
1309         (pp):
1310         (pp::Preprocessor::Preprocessor):
1311         (pp::Preprocessor::~Preprocessor):
1312         (pp::Preprocessor::init):
1313         (pp::Preprocessor::process):
1314         (pp::Preprocessor::reset):
1315         * src/compiler/preprocessor/new/Preprocessor.h: Added.
1316         (pp):
1317         (Preprocessor):
1318         (pp::Preprocessor::begin):
1319         (pp::Preprocessor::end):
1320         * src/compiler/preprocessor/new/Token.cpp: Added.
1321         (pp):
1322         (pp::Token::encodeLocation):
1323         (pp::Token::decodeLocation):
1324         (pp::Token::Token):
1325         (pp::Token::~Token):
1326         (pp::operator<<):
1327         * src/compiler/preprocessor/new/Token.h: Added.
1328         (pp):
1329         (Token):
1330         (pp::Token::location):
1331         (pp::Token::type):
1332         (pp::Token::value):
1333         * src/compiler/preprocessor/new/generate_parser.sh: Added.
1334         * src/compiler/preprocessor/new/pp.l: Added.
1335         * src/compiler/preprocessor/new/pp.y: Added.
1336         * src/compiler/preprocessor/new/pp_lex.cpp: Added.
1337         (yy_buffer_state):
1338         (yy_trans_info):
1339         (yyguts_t):
1340         (yy_get_previous_state):
1341         (yy_try_NUL_trans):
1342         (input):
1343         (pprestart):
1344         (pp_switch_to_buffer):
1345         (pp_load_buffer_state):
1346         (pp_create_buffer):
1347         (pp_delete_buffer):
1348         (pp_init_buffer):
1349         (pp_flush_buffer):
1350         (pppush_buffer_state):
1351         (pppop_buffer_state):
1352         (ppensure_buffer_stack):
1353         (pp_scan_buffer):
1354         (pp_scan_string):
1355         (pp_scan_bytes):
1356         (yy_push_state):
1357         (yy_pop_state):
1358         (yy_top_state):
1359         (yy_fatal_error):
1360         (ppget_extra):
1361         (ppget_lineno):
1362         (ppget_column):
1363         (ppget_in):
1364         (ppget_out):
1365         (ppget_leng):
1366         (ppget_text):
1367         (ppset_extra):
1368         (ppset_lineno):
1369         (ppset_column):
1370         (ppset_in):
1371         (ppset_out):
1372         (ppget_debug):
1373         (ppset_debug):
1374         (ppget_lval):
1375         (ppset_lval):
1376         (ppget_lloc):
1377         (ppset_lloc):
1378         (pplex_init):
1379         (pplex_init_extra):
1380         (yy_init_globals):
1381         (pplex_destroy):
1382         (yy_flex_strncpy):
1383         (yy_flex_strlen):
1384         (ppalloc):
1385         (pprealloc):
1386         (ppfree):
1387         (extractMacroName):
1388         (pp):
1389         (pp::Context::readInput):
1390         (pp::Context::initLexer):
1391         (pp::Context::destroyLexer):
1392         * src/compiler/preprocessor/new/pp_tab.cpp: Added.
1393         (YYLTYPE):
1394         (yysyntax_error):
1395         (yyerror):
1396         (pushConditionalBlock):
1397         (popConditionalBlock):
1398         (pp::Context::parse):
1399         * src/compiler/preprocessor/new/pp_tab.h: Added.
1400         (YYLTYPE):
1401         * src/compiler/preprocessor/new/stl_utils.h: Added.
1402         (pp):
1403         (Delete):
1404         (pp::Delete::operator()):
1405         (DeleteSecond):
1406         (pp::DeleteSecond::operator()):
1407         * src/compiler/preprocessor/new/token_type.h: Added.
1408         * src/compiler/preprocessor/scanner.c:
1409         (yylex_CPP):
1410         * src/compiler/preprocessor/symbols.c:
1411         * src/compiler/preprocessor/tokens.c:
1412         * src/libEGL/Config.cpp:
1413         (egl::ConfigSet::getConfigs):
1414         * src/libEGL/Display.cpp:
1415         (egl::Display::initialize):
1416         (egl::Display::terminate):
1417         (egl::Display::restoreLostDevice):
1418         (egl::Display::sync):
1419         (egl):
1420         (egl::Display::allocateEventQuery):
1421         (egl::Display::freeEventQuery):
1422         (egl::Display::getFloat32TextureSupport):
1423         (egl::Display::getFloat16TextureSupport):
1424         (egl::Display::getEventQuerySupport):
1425         (egl::Display::initExtensionString):
1426         (egl::Display::shareHandleSupported):
1427         (egl::Display::getOcclusionQuerySupport):
1428         (egl::Display::getInstancingSupport):
1429         * src/libEGL/Display.h:
1430         (Display):
1431         (egl::Display::isD3d9ExDevice):
1432         * src/libEGL/Surface.cpp:
1433         (egl::Surface::resetSwapChain):
1434         * src/libEGL/libEGL.cpp:
1435         * src/libEGL/libEGL.vcproj:
1436         * src/libGLESv2/Blit.cpp:
1437         (gl::Blit::setCommonBlitState):
1438         * src/libGLESv2/Buffer.h:
1439         (Buffer):
1440         * src/libGLESv2/Context.cpp:
1441         (gl::Context::Context):
1442         (gl::Context::~Context):
1443         (gl::Context::makeCurrent):
1444         (gl::Context::getActiveQuery):
1445         (gl):
1446         (gl::Context::createFence):
1447         (gl::Context::createQuery):
1448         (gl::Context::deleteQuery):
1449         (gl::Context::beginQuery):
1450         (gl::Context::endQuery):
1451         (gl::Context::getQuery):
1452         (gl::Context::applyVertexBuffer):
1453         (gl::Context::applyIndexBuffer):
1454         (gl::Context::readPixels):
1455         (gl::Context::clear):
1456         (gl::Context::drawArrays):
1457         (gl::Context::drawElements):
1458         (gl::Context::sync):
1459         (gl::Context::drawLineLoop):
1460         (gl::Context::supportsOcclusionQueries):
1461         (gl::Context::supportsInstancing):
1462         (gl::Context::setVertexAttribDivisor):
1463         (gl::Context::initExtensionString):
1464         (gl::VertexDeclarationCache::applyDeclaration):
1465         (gl::VertexDeclarationCache::markStateDirty):
1466         * src/libGLESv2/Context.h:
1467         (gl):
1468         (gl::VertexAttribute::VertexAttribute):
1469         (State):
1470         (VertexDeclarationCache):
1471         (Context):
1472         * src/libGLESv2/Fence.cpp:
1473         (gl::Fence::Fence):
1474         (gl::Fence::~Fence):
1475         (gl::Fence::setFence):
1476         * src/libGLESv2/Fence.h:
1477         (egl):
1478         (Fence):
1479         * src/libGLESv2/Framebuffer.cpp:
1480         (gl::Framebuffer::lookupRenderbuffer):
1481         (gl::Framebuffer::detachTexture):
1482         (gl::Framebuffer::completeness):
1483         * src/libGLESv2/Framebuffer.h:
1484         * src/libGLESv2/IndexDataManager.cpp:
1485         (gl::IndexDataManager::IndexDataManager):
1486         (gl::IndexDataManager::~IndexDataManager):
1487         (gl::computeRange):
1488         (gl::IndexDataManager::prepareIndexData):
1489         (gl::IndexDataManager::getCountingIndices):
1490         (gl):
1491         * src/libGLESv2/IndexDataManager.h:
1492         (IndexDataManager):
1493         * src/libGLESv2/Program.cpp:
1494         (gl::Program::getUniformLocation):
1495         (gl::Program::setUniform1fv):
1496         (gl::Program::setUniform2fv):
1497         (gl::Program::setUniform3fv):
1498         (gl::Program::setUniform4fv):
1499         (gl::Program::setUniform1iv):
1500         (gl::Program::setUniform2iv):
1501         (gl::Program::setUniform3iv):
1502         (gl::Program::setUniform4iv):
1503         (gl::Program::packVaryings):
1504         (gl::Program::linkVaryings):
1505         (gl::Program::defineUniform):
1506         (gl::Program::createUniform):
1507         (gl::Program::applyUniformnbv):
1508         (gl::Program::applyUniform1iv):
1509         (gl::Program::applyUniform2iv):
1510         (gl::Program::applyUniform3iv):
1511         (gl::Program::applyUniform4iv):
1512         (gl::Program::getInfoLog):
1513         * src/libGLESv2/Program.h:
1514         (Program):
1515         * src/libGLESv2/Query.cpp: Added.
1516         (gl):
1517         (gl::Query::Query):
1518         (gl::Query::~Query):
1519         (gl::Query::begin):
1520         (gl::Query::end):
1521         (gl::Query::getResult):
1522         (gl::Query::isResultAvailable):
1523         (gl::Query::getType):
1524         (gl::Query::testQuery):
1525         * src/libGLESv2/Query.h: Added.
1526         (gl):
1527         (Query):
1528         * src/libGLESv2/Renderbuffer.cpp:
1529         (gl):
1530         (gl::RenderbufferInterface::addProxyRef):
1531         (gl::RenderbufferInterface::releaseProxy):
1532         (gl::RenderbufferTexture::RenderbufferTexture):
1533         (gl::RenderbufferTexture::~RenderbufferTexture):
1534         (gl::RenderbufferTexture::addProxyRef):
1535         (gl::RenderbufferTexture::releaseProxy):
1536         (gl::Renderbuffer::addRef):
1537         (gl::Renderbuffer::release):
1538         * src/libGLESv2/Renderbuffer.h:
1539         (gl):
1540         (RenderbufferInterface):
1541         (RenderbufferTexture):
1542         (Renderbuffer):
1543         * src/libGLESv2/Shader.cpp:
1544         (gl::Shader::Shader):
1545         (gl::Shader::getInfoLog):
1546         (gl::Shader::getSourceImpl):
1547         (gl):
1548         (gl::Shader::initializeCompiler):
1549         (gl::Shader::parseVaryings):
1550         (gl::Shader::uncompile):
1551         (gl::Shader::compileToHLSL):
1552         (gl::VertexShader::uncompile):
1553         (gl::VertexShader::compile):
1554         (gl::VertexShader::parseAttributes):
1555         (gl::FragmentShader::compile):
1556         * src/libGLESv2/Shader.h:
1557         (Shader):
1558         (VertexShader):
1559         * src/libGLESv2/Texture.cpp:
1560         (gl::Texture2D::Texture2D):
1561         (gl::Texture2D::~Texture2D):
1562         (gl):
1563         (gl::Texture2D::addProxyRef):
1564         (gl::Texture2D::releaseProxy):
1565         (gl::Texture2D::getRenderbuffer):
1566         (gl::TextureCubeMap::TextureCubeMap):
1567         (gl::TextureCubeMap::~TextureCubeMap):
1568         (gl::TextureCubeMap::addProxyRef):
1569         (gl::TextureCubeMap::releaseProxy):
1570         (gl::TextureCubeMap::isSamplerComplete):
1571         (gl::TextureCubeMap::convertToRenderTarget):
1572         (gl::TextureCubeMap::getRenderbuffer):
1573         * src/libGLESv2/Texture.h:
1574         (Texture):
1575         (Texture2D):
1576         (TextureCubeMap):
1577         * src/libGLESv2/VertexDataManager.cpp:
1578         (gl::VertexDataManager::writeAttributeData):
1579         (gl::VertexDataManager::prepareVertexData):
1580         (gl::VertexDataManager::spaceRequired):
1581         (gl):
1582         * src/libGLESv2/VertexDataManager.h:
1583         (TranslatedAttribute):
1584         (VertexDataManager):
1585         * src/libGLESv2/libGLESv2.cpp:
1586         * src/libGLESv2/libGLESv2.def:
1587         * src/libGLESv2/libGLESv2.vcproj:
1588         * src/libGLESv2/utilities.cpp:
1589         (gl::IsInternalTextureTarget):
1590         * src/libGLESv2/utilities.h:
1591         (gl):
1592
1593 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
1594
1595         Bash scripts should support LF endings only
1596         https://bugs.webkit.org/show_bug.cgi?id=79509
1597
1598         Reviewed by David Kilzer.
1599
1600         * src/compiler/generate_parser.sh: Added property svn:eol-style.
1601
1602 2012-02-21  Sam Weinig  <sam@webkit.org>
1603
1604         Attempt to fix the Snow Leopard build.
1605
1606         * Configurations/Base.xcconfig:
1607
1608 2012-02-21  Sam Weinig  <sam@webkit.org>
1609
1610         Use libc++ when building with Clang on Mac
1611         https://bugs.webkit.org/show_bug.cgi?id=78981
1612
1613         Reviewed by Dan Bernstein.
1614
1615         * Configurations/Base.xcconfig:
1616
1617 2012-01-07  Chris Marrin  <cmarrin@apple.com>
1618
1619         Fixed a warning in GTK build of ANGLE
1620
1621         Unreviewed.
1622
1623         * src/compiler/DetectRecursion.cpp:
1624         (DetectRecursion::~DetectRecursion):
1625
1626 2012-01-06  Mark Rowe  <mrowe@apple.com>
1627
1628         Regenerate a few files with a more appropriate version of bison.
1629
1630         Rubber-stamped by Dan Bernstein.
1631
1632         * src/compiler/glslang.l: Tweak the input so that it generates code that compiles without warnings.
1633         * src/compiler/glslang_lex.cpp:
1634         * src/compiler/glslang_tab.cpp:
1635         * src/compiler/glslang_tab.h:
1636
1637 2012-01-06  Chris Marrin  <cmarrin@apple.com>
1638
1639         Update ANGLE in WebKit tree
1640         https://bugs.webkit.org/show_bug.cgi?id=75753
1641
1642         Reviewed by Simon Fraser.
1643
1644         Updated ANGLE to r939. Fixed a compiler error (missing case in switch statement)
1645         and added 5 new files to xcodeproj. Other than that it is a straight copy of
1646         the files from the ANGLE repository.
1647
1648         * ANGLE.xcodeproj/project.pbxproj:
1649         * include/EGL/eglext.h:
1650         * include/EGL/eglplatform.h:
1651         * include/GLES2/gl2ext.h:
1652         * include/GLSLANG/ShaderLang.h:
1653         * src/common/debug.cpp:
1654         (gl::output):
1655         (gl::trace):
1656         (gl::perfActive):
1657         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
1658         (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
1659         * src/common/version.h:
1660         * src/compiler/BaseTypes.h:
1661         (getBasicString):
1662         * src/compiler/BuiltInFunctionEmulator.cpp: Added.
1663         (BuiltInFunctionEmulator::BuiltInFunctionEmulator):
1664         (BuiltInFunctionEmulator::SetFunctionCalled):
1665         (BuiltInFunctionEmulator::OutputEmulatedFunctionDefinition):
1666         (BuiltInFunctionEmulator::IdentifyFunction):
1667         (BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation):
1668         (BuiltInFunctionEmulator::Cleanup):
1669         (BuiltInFunctionEmulator::GetEmulatedFunctionName):
1670         * src/compiler/BuiltInFunctionEmulator.h: Added.
1671         * src/compiler/Compiler.cpp:
1672         (TCompiler::TCompiler):
1673         (TCompiler::compile):
1674         (TCompiler::clearResults):
1675         (TCompiler::detectRecursion):
1676         (TCompiler::getMappedNameMaxLength):
1677         (TCompiler::getBuiltInFunctionEmulator):
1678         * src/compiler/DetectRecursion.cpp: Added.
1679         (DetectRecursion::FunctionNode::FunctionNode):
1680         (DetectRecursion::FunctionNode::getName):
1681         (DetectRecursion::FunctionNode::addCallee):
1682         (DetectRecursion::FunctionNode::detectRecursion):
1683         (DetectRecursion::DetectRecursion):
1684         (DetectRecursion::~DetectRecursion):
1685         (DetectRecursion::visitAggregate):
1686         (DetectRecursion::detectRecursion):
1687         (DetectRecursion::findFunctionByName):
1688         * src/compiler/DetectRecursion.h: Added.
1689         * src/compiler/ExtensionBehavior.h:
1690         * src/compiler/ForLoopUnroll.cpp:
1691         (ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling):
1692         * src/compiler/ForLoopUnroll.h:
1693         * src/compiler/Initialize.cpp:
1694         (BuiltInFunctionsCommon):
1695         (BuiltInFunctionsVertex):
1696         (BuiltInFunctionsFragment):
1697         (TBuiltIns::initialize):
1698         (IdentifyBuiltIns):
1699         (InitExtensionBehavior):
1700         * src/compiler/MapLongVariableNames.cpp:
1701         (MapLongVariableNames::MapLongVariableNames):
1702         (MapLongVariableNames::visitSymbol):
1703         (MapLongVariableNames::mapVaryingLongName):
1704         * src/compiler/MapLongVariableNames.h:
1705         * src/compiler/OutputGLSLBase.cpp:
1706         (TOutputGLSLBase::visitUnary):
1707         (TOutputGLSLBase::visitAggregate):
1708         * src/compiler/OutputHLSL.cpp:
1709         (sh::OutputHLSL::OutputHLSL):
1710         (sh::OutputHLSL::header):
1711         (sh::OutputHLSL::visitSymbol):
1712         (sh::OutputHLSL::visitAggregate):
1713         (sh::OutputHLSL::visitSelection):
1714         (sh::OutputHLSL::visitLoop):
1715         (sh::OutputHLSL::handleExcessiveLoop):
1716         (sh::OutputHLSL::addConstructor):
1717         (sh::OutputHLSL::decorate):
1718         (sh::OutputHLSL::decorateUniform):
1719         * src/compiler/OutputHLSL.h:
1720         * src/compiler/ParseHelper.cpp:
1721         (TParseContext::recover):
1722         (TParseContext::reservedErrorCheck):
1723         (TParseContext::constructorErrorCheck):
1724         (TParseContext::extensionErrorCheck):
1725         (TParseContext::supportsExtension):
1726         (TParseContext::enterStructDeclaration):
1727         (TParseContext::exitStructDeclaration):
1728         (TParseContext::structNestingErrorCheck):
1729         * src/compiler/ParseHelper.h:
1730         (TParseContext::TParseContext):
1731         * src/compiler/PoolAlloc.h:
1732         (pool_allocator::pool_allocator):
1733         (pool_allocator::operator=):
1734         (pool_allocator::setAllocator):
1735         (pool_allocator::getAllocator):
1736         * src/compiler/ShHandle.h:
1737         * src/compiler/ShaderLang.cpp:
1738         (checkActiveUniformAndAttribMaxLengths):
1739         (checkMappedNameMaxLength):
1740         (getVariableInfo):
1741         (ShInitBuiltInResources):
1742         (ShGetInfo):
1743         * src/compiler/SymbolTable.cpp:
1744         (TType::computeDeepestStructNesting):
1745         * src/compiler/TranslatorESSL.cpp:
1746         (TranslatorESSL::translate):
1747         (TranslatorESSL::writeExtensionBehavior):
1748         * src/compiler/TranslatorGLSL.cpp:
1749         (TranslatorGLSL::translate):
1750         * src/compiler/Types.h:
1751         (TType::TType):
1752         (TType::copyType):
1753         (TType::setStruct):
1754         (TType::getDeepestStructNesting):
1755         * src/compiler/UnfoldSelect.cpp:
1756         (sh::UnfoldSelect::traverse):
1757         (sh::UnfoldSelect::visitSelection):
1758         (sh::UnfoldSelect::visitLoop):
1759         (sh::UnfoldSelect::getNextTemporaryIndex):
1760         * src/compiler/UnfoldSelect.h:
1761         * src/compiler/ValidateLimitations.cpp:
1762         * src/compiler/ValidateLimitations.h:
1763         * src/compiler/VariableInfo.cpp:
1764         (getVariableDataType):
1765         * src/compiler/generate_glslang_lexer.sh: Removed.
1766         * src/compiler/generate_glslang_parser.sh: Removed.
1767         * src/compiler/generate_parser.sh: Added.
1768         * src/compiler/glslang.l:
1769         * src/compiler/glslang.y:
1770         * src/compiler/glslang_lex.cpp:
1771         (yy_get_previous_state):
1772         (yy_try_NUL_trans):
1773         * src/compiler/glslang_tab.cpp:
1774         * src/compiler/glslang_tab.h:
1775         * src/compiler/intermOut.cpp:
1776         (TOutputTraverser::visitAggregate):
1777         * src/compiler/intermediate.h:
1778         (TIntermUnary::TIntermUnary):
1779         (TIntermUnary::setUseEmulatedFunction):
1780         (TIntermUnary::getUseEmulatedFunction):
1781         (TIntermAggregate::TIntermAggregate):
1782         (TIntermAggregate::setUseEmulatedFunction):
1783         (TIntermAggregate::getUseEmulatedFunction):
1784         * src/compiler/osinclude.h:
1785         * src/compiler/ossource_posix.cpp:
1786         (OS_AllocTLSIndex):
1787         (OS_SetTLSValue):
1788         (OS_FreeTLSIndex):
1789         * src/compiler/preprocessor/atom.c:
1790         (GrowAtomTable):
1791         * src/compiler/preprocessor/length_limits.h: Added.
1792         * src/compiler/preprocessor/scanner.h:
1793         * src/libEGL/Display.cpp:
1794         (egl::Display::getDisplay):
1795         (egl::Display::Display):
1796         (egl::Display::~Display):
1797         (egl::Display::initialize):
1798         (egl::Display::terminate):
1799         (egl::Display::startScene):
1800         (egl::Display::endScene):
1801         (egl::Display::createDevice):
1802         (egl::Display::initializeDevice):
1803         (egl::Display::resetDevice):
1804         (egl::Display::createWindowSurface):
1805         (egl::Display::createOffscreenSurface):
1806         (egl::Display::createContext):
1807         (egl::Display::restoreLostDevice):
1808         (egl::Display::notifyDeviceLost):
1809         (egl::Display::isDeviceLost):
1810         (egl::Display::testDeviceLost):
1811         (egl::Display::testDeviceResettable):
1812         (egl::Display::getDXT1TextureSupport):
1813         (egl::Display::getDXT3TextureSupport):
1814         (egl::Display::getDXT5TextureSupport):
1815         (egl::Display::getFloat32TextureSupport):
1816         (egl::Display::getFloat16TextureSupport):
1817         (egl::Display::getTexturePool):
1818         (egl::Display::initExtensionString):
1819         * src/libEGL/Display.h:
1820         * src/libEGL/Surface.cpp:
1821         (egl::Surface::Surface):
1822         (egl::Surface::initialize):
1823         (egl::Surface::resetSwapChain):
1824         (egl::Surface::subclassWindow):
1825         (egl::Surface::unsubclassWindow):
1826         (egl::Surface::swap):
1827         (egl::Surface::postSubBuffer):
1828         (egl::Surface::isPostSubBufferSupported):
1829         * src/libEGL/Surface.h:
1830         * src/libEGL/libEGL.cpp:
1831         * src/libEGL/libEGL.rc:
1832         * src/libEGL/libEGL.vcproj:
1833         * src/libGLESv2/Buffer.cpp:
1834         (gl::Buffer::bufferSubData):
1835         * src/libGLESv2/Context.cpp:
1836         (gl::Context::Context):
1837         (gl::Context::makeCurrent):
1838         (gl::Context::markAllStateDirty):
1839         (gl::Context::markContextLost):
1840         (gl::Context::isContextLost):
1841         (gl::Context::setPackReverseRowOrder):
1842         (gl::Context::getPackReverseRowOrder):
1843         (gl::Context::deleteProgram):
1844         (gl::Context::getDrawFramebuffer):
1845         (gl::Context::bindDrawFramebuffer):
1846         (gl::Context::useProgram):
1847         (gl::Context::setFramebufferZero):
1848         (gl::Context::getCurrentProgram):
1849         (gl::Context::getBooleanv):
1850         (gl::Context::getIntegerv):
1851         (gl::Context::getQueryParameterInfo):
1852         (gl::Context::applyRenderTarget):
1853         (gl::Context::applyState):
1854         (gl::Context::applyVertexBuffer):
1855         (gl::Context::applyIndexBuffer):
1856         (gl::Context::applyShaders):
1857         (gl::Context::applyTextures):
1858         (gl::Context::readPixels):
1859         (gl::Context::clear):
1860         (gl::Context::drawArrays):
1861         (gl::Context::drawElements):
1862         (gl::Context::sync):
1863         (gl::Context::drawClosingLine):
1864         (gl::Context::getResetStatus):
1865         (gl::Context::isResetNotificationEnabled):
1866         (gl::Context::supportsDXT1Textures):
1867         (gl::Context::supportsDXT3Textures):
1868         (gl::Context::supportsDXT5Textures):
1869         (gl::Context::supportsFloat32Textures):
1870         (gl::Context::supportsFloat32LinearFilter):
1871         (gl::Context::supportsFloat32RenderableTextures):
1872         (gl::Context::supportsFloat16Textures):
1873         (gl::Context::supportsFloat16LinearFilter):
1874         (gl::Context::supportsFloat16RenderableTextures):
1875         (gl::Context::initExtensionString):
1876         (gl::Context::initRendererString):
1877         (gl::Context::getRendererString):
1878         (gl::Context::blitFramebuffer):
1879         (gl::VertexDeclarationCache::applyDeclaration):
1880         (gl::VertexDeclarationCache::markStateDirty):
1881         * src/libGLESv2/Context.h:
1882         * src/libGLESv2/Fence.cpp:
1883         (gl::Fence::testFence):
1884         (gl::Fence::getFenceiv):
1885         * src/libGLESv2/Framebuffer.cpp:
1886         (gl::Framebuffer::setColorbuffer):
1887         (gl::Framebuffer::setDepthbuffer):
1888         (gl::Framebuffer::setStencilbuffer):
1889         (gl::Framebuffer::getColorbuffer):
1890         (gl::Framebuffer::getDepthbuffer):
1891         (gl::Framebuffer::getStencilbuffer):
1892         (gl::Framebuffer::hasStencil):
1893         (gl::Framebuffer::completeness):
1894         (gl::DefaultFramebuffer::DefaultFramebuffer):
1895         * src/libGLESv2/Framebuffer.h:
1896         * src/libGLESv2/IndexDataManager.cpp:
1897         (gl::IndexDataManager::prepareIndexData):
1898         (gl::IndexBuffer::IndexBuffer):
1899         (gl::IndexBuffer::getSerial):
1900         (gl::IndexBuffer::issueSerial):
1901         (gl::StreamingIndexBuffer::reserveSpace):
1902         (gl::StaticIndexBuffer::reserveSpace):
1903         (gl::StaticIndexBuffer::lookupRange):
1904         (gl::StaticIndexBuffer::addRange):
1905         * src/libGLESv2/IndexDataManager.h:
1906         (gl::StaticIndexBuffer::IndexRange::operator<):
1907         * src/libGLESv2/Program.cpp:
1908         (gl::Uniform::Uniform):
1909         (gl::Uniform::isArray):
1910         (gl::UniformLocation::UniformLocation):
1911         (gl::Program::Program):
1912         (gl::Program::detachShader):
1913         (gl::Program::getUsedSamplerRange):
1914         (gl::Program::getSamplerMapping):
1915         (gl::Program::getUniformLocation):
1916         (gl::Program::setUniform1fv):
1917         (gl::Program::setUniform2fv):
1918         (gl::Program::setUniform3fv):
1919         (gl::transposeMatrix):
1920         (gl::Program::setUniformMatrix2fv):
1921         (gl::Program::setUniformMatrix3fv):
1922         (gl::Program::setUniformMatrix4fv):
1923         (gl::Program::getUniformfv):
1924         (gl::Program::getUniformiv):
1925         (gl::Program::applyUniforms):
1926         (gl::Program::compileToBinary):
1927         (gl::Program::linkVaryings):
1928         (gl::Program::link):
1929         (gl::Program::defineUniform):
1930         (gl::Program::createUniform):
1931         (gl::Program::decorateAttribute):
1932         (gl::Program::undecorateUniform):
1933         (gl::Program::applyUniformnbv):
1934         (gl::Program::applyUniformnfv):
1935         (gl::Program::applyUniform1iv):
1936         (gl::Program::applyUniform2iv):
1937         (gl::Program::applyUniform3iv):
1938         (gl::Program::applyUniform4iv):
1939         (gl::Program::applyUniformniv):
1940         (gl::Program::appendToInfoLogSanitized):
1941         (gl::Program::unlink):
1942         (gl::Program::getActiveUniform):
1943         (gl::Program::getActiveUniformCount):
1944         (gl::Program::getActiveUniformMaxLength):
1945         (gl::Program::validateSamplers):
1946         (gl::Program::initializeConstantHandles):
1947         (gl::Program::getDxCoordLocation):
1948         * src/libGLESv2/Program.h:
1949         * src/libGLESv2/Renderbuffer.cpp:
1950         (gl::RenderbufferInterface::RenderbufferInterface):
1951         (gl::RenderbufferInterface::getRedSize):
1952         (gl::RenderbufferInterface::getGreenSize):
1953         (gl::RenderbufferInterface::getBlueSize):
1954         (gl::RenderbufferInterface::getAlphaSize):
1955         (gl::RenderbufferInterface::getDepthSize):
1956         (gl::RenderbufferInterface::getStencilSize):
1957         (gl::RenderbufferTexture::RenderbufferTexture):
1958         (gl::RenderbufferTexture::~RenderbufferTexture):
1959         (gl::RenderbufferTexture::getRenderTarget):
1960         (gl::RenderbufferTexture::getDepthStencil):
1961         (gl::RenderbufferTexture::getWidth):
1962         (gl::RenderbufferTexture::getHeight):
1963         (gl::RenderbufferTexture::getInternalFormat):
1964         (gl::RenderbufferTexture::getD3DFormat):
1965         (gl::RenderbufferTexture::getSamples):
1966         (gl::RenderbufferTexture::getSerial):
1967         (gl::Renderbuffer::Renderbuffer):
1968         (gl::Renderbuffer::~Renderbuffer):
1969         (gl::Renderbuffer::getRenderTarget):
1970         (gl::Renderbuffer::getDepthStencil):
1971         (gl::Renderbuffer::getWidth):
1972         (gl::Renderbuffer::getHeight):
1973         (gl::Renderbuffer::getInternalFormat):
1974         (gl::Renderbuffer::getD3DFormat):
1975         (gl::Renderbuffer::getRedSize):
1976         (gl::Renderbuffer::getGreenSize):
1977         (gl::Renderbuffer::getBlueSize):
1978         (gl::Renderbuffer::getAlphaSize):
1979         (gl::Renderbuffer::getDepthSize):
1980         (gl::Renderbuffer::getStencilSize):
1981         (gl::Renderbuffer::getSamples):
1982         (gl::Renderbuffer::getSerial):
1983         (gl::Renderbuffer::setStorage):
1984         (gl::RenderbufferStorage::getD3DFormat):
1985         (gl::RenderbufferStorage::issueCubeSerials):
1986         (gl::Colorbuffer::Colorbuffer):
1987         (gl::Colorbuffer::getRenderTarget):
1988         (gl::Depthbuffer::Depthbuffer):
1989         (gl::Stencilbuffer::Stencilbuffer):
1990         * src/libGLESv2/Renderbuffer.h:
1991         (gl::RenderbufferInterface::~RenderbufferInterface):
1992         * src/libGLESv2/Shader.cpp:
1993         (gl::Shader::getTranslatedSourceLength):
1994         (gl::Shader::getSourceImpl):
1995         (gl::Shader::getSource):
1996         (gl::Shader::getTranslatedSource):
1997         * src/libGLESv2/Shader.h:
1998         * src/libGLESv2/Texture.cpp:
1999         (gl::ConvertTextureFormatType):
2000         (gl::IsTextureFormatRenderable):
2001         (gl::Image::Image):
2002         (gl::Image::~Image):
2003         (gl::Image::redefine):
2004         (gl::Image::createSurface):
2005         (gl::Image::lock):
2006         (gl::Image::unlock):
2007         (gl::Image::isRenderableFormat):
2008         (gl::Image::getD3DFormat):
2009         (gl::Image::getSurface):
2010         (gl::Image::setManagedSurface):
2011         (gl::Image::updateSurface):
2012         (gl::Image::loadData):
2013         (gl::Image::loadAlphaData):
2014         (gl::Image::loadAlphaFloatData):
2015         (gl::Image::loadAlphaHalfFloatData):
2016         (gl::Image::loadLuminanceData):
2017         (gl::Image::loadLuminanceFloatData):
2018         (gl::Image::loadLuminanceHalfFloatData):
2019         (gl::Image::loadLuminanceAlphaData):
2020         (gl::Image::loadLuminanceAlphaFloatData):
2021         (gl::Image::loadLuminanceAlphaHalfFloatData):
2022         (gl::Image::loadRGBUByteData):
2023         (gl::Image::loadRGB565Data):
2024         (gl::Image::loadRGBFloatData):
2025         (gl::Image::loadRGBHalfFloatData):
2026         (gl::Image::loadRGBAUByteDataSSE2):
2027         (gl::Image::loadRGBAUByteData):
2028         (gl::Image::loadRGBA4444Data):
2029         (gl::Image::loadRGBA5551Data):
2030         (gl::Image::loadRGBAFloatData):
2031         (gl::Image::loadRGBAHalfFloatData):
2032         (gl::Image::loadBGRAData):
2033         (gl::Image::loadCompressedData):
2034         (gl::FlipCopyDXT1BlockFull):
2035         (gl::FlipCopyDXT1BlockHalf):
2036         (gl::FlipCopyDXT3BlockFull):
2037         (gl::FlipCopyDXT3BlockHalf):
2038         (gl::FlipCopyDXT5BlockFull):
2039         (gl::FlipCopyDXT5BlockHalf):
2040         (gl::Image::loadDXT1Data):
2041         (gl::Image::loadDXT3Data):
2042         (gl::Image::loadDXT5Data):
2043         (gl::Image::copy):
2044         (gl::TextureStorage::TextureStorage):
2045         (gl::TextureStorage::~TextureStorage):
2046         (gl::TextureStorage::isRenderTarget):
2047         (gl::TextureStorage::isManaged):
2048         (gl::TextureStorage::getPool):
2049         (gl::TextureStorage::getTextureSerial):
2050         (gl::TextureStorage::issueTextureSerial):
2051         (gl::Texture::Texture):
2052         (gl::Texture::~Texture):
2053         (gl::Texture::setMinFilter):
2054         (gl::Texture::setMagFilter):
2055         (gl::Texture::setWrapS):
2056         (gl::Texture::setWrapT):
2057         (gl::Texture::setUsage):
2058         (gl::Texture::getMinFilter):
2059         (gl::Texture::getMagFilter):
2060         (gl::Texture::getWrapS):
2061         (gl::Texture::getWrapT):
2062         (gl::Texture::getUsage):
2063         (gl::Texture::setImage):
2064         (gl::Texture::setCompressedImage):
2065         (gl::Texture::subImage):
2066         (gl::Texture::subImageCompressed):
2067         (gl::Texture::getTexture):
2068         (gl::Texture::hasDirtyParameters):
2069         (gl::Texture::hasDirtyImages):
2070         (gl::Texture::resetDirty):
2071         (gl::Texture::getTextureSerial):
2072         (gl::Texture::getRenderTargetSerial):
2073         (gl::Texture::isImmutable):
2074         (gl::Texture::creationLevels):
2075         (gl::Texture::getBlitter):
2076         (gl::Texture::copyToRenderTarget):
2077         (gl::TextureStorage2D::TextureStorage2D):
2078         (gl::TextureStorage2D::~TextureStorage2D):
2079         (gl::TextureStorage2D::getSurfaceLevel):
2080         (gl::TextureStorage2D::getBaseTexture):
2081         (gl::TextureStorage2D::getRenderTargetSerial):
2082         (gl::Texture2D::Texture2D):
2083         (gl::Texture2D::~Texture2D):
2084         (gl::Texture2D::getWidth):
2085         (gl::Texture2D::getHeight):
2086         (gl::Texture2D::getInternalFormat):
2087         (gl::Texture2D::getType):
2088         (gl::Texture2D::redefineImage):
2089         (gl::Texture2D::setImage):
2090         (gl::Texture2D::bindTexImage):
2091         (gl::Texture2D::releaseTexImage):
2092         (gl::Texture2D::setCompressedImage):
2093         (gl::Texture2D::commitRect):
2094         (gl::Texture2D::copyImage):
2095         (gl::Texture2D::copySubImage):
2096         (gl::Texture2D::storage):
2097         (gl::Texture2D::isSamplerComplete):
2098         (gl::Texture2D::isMipmapComplete):
2099         (gl::Texture2D::getBaseTexture):
2100         (gl::Texture2D::createTexture):
2101         (gl::Texture2D::updateTexture):
2102         (gl::Texture2D::convertToRenderTarget):
2103         (gl::Texture2D::generateMipmaps):
2104         (gl::Texture2D::getRenderbuffer):
2105         (gl::Texture2D::getRenderTarget):
2106         (gl::Texture2D::getStorage):
2107         (gl::TextureStorageCubeMap::TextureStorageCubeMap):
2108         (gl::TextureStorageCubeMap::~TextureStorageCubeMap):
2109         (gl::TextureStorageCubeMap::getCubeMapSurface):
2110         (gl::TextureStorageCubeMap::getBaseTexture):
2111         (gl::TextureStorageCubeMap::getRenderTargetSerial):
2112         (gl::TextureCubeMap::TextureCubeMap):
2113         (gl::TextureCubeMap::~TextureCubeMap):
2114         (gl::TextureCubeMap::getWidth):
2115         (gl::TextureCubeMap::getHeight):
2116         (gl::TextureCubeMap::getInternalFormat):
2117         (gl::TextureCubeMap::getType):
2118         (gl::TextureCubeMap::setCompressedImage):
2119         (gl::TextureCubeMap::commitRect):
2120         (gl::TextureCubeMap::subImage):
2121         (gl::TextureCubeMap::subImageCompressed):
2122         (gl::TextureCubeMap::isSamplerComplete):
2123         (gl::TextureCubeMap::isCubeComplete):
2124         (gl::TextureCubeMap::isMipmapCubeComplete):
2125         (gl::TextureCubeMap::getBaseTexture):
2126         (gl::TextureCubeMap::createTexture):
2127         (gl::TextureCubeMap::updateTexture):
2128         (gl::TextureCubeMap::convertToRenderTarget):
2129         (gl::TextureCubeMap::setImage):
2130         (gl::TextureCubeMap::redefineImage):
2131         (gl::TextureCubeMap::copyImage):
2132         (gl::TextureCubeMap::copySubImage):
2133         (gl::TextureCubeMap::storage):
2134         (gl::TextureCubeMap::generateMipmaps):
2135         (gl::TextureCubeMap::getRenderbuffer):
2136         (gl::TextureCubeMap::getRenderTarget):
2137         (gl::TextureCubeMap::getStorage):
2138         * src/libGLESv2/Texture.h:
2139         (gl::Image::markDirty):
2140         (gl::Image::markClean):
2141         (gl::Image::getWidth):
2142         (gl::Image::getHeight):
2143         (gl::Image::getFormat):
2144         (gl::Image::getType):
2145         (gl::Image::isDirty):
2146         * src/libGLESv2/VertexDataManager.cpp:
2147         (gl::elementsInBuffer):
2148         (gl::VertexDataManager::VertexDataManager):
2149         (gl::VertexDataManager::writeAttributeData):
2150         (gl::VertexDataManager::prepareVertexData):
2151         (gl::VertexBuffer::VertexBuffer):
2152         (gl::VertexBuffer::getSerial):
2153         (gl::VertexBuffer::issueSerial):
2154         (gl::StreamingVertexBuffer::reserveRequiredSpace):
2155         (gl::StaticVertexBuffer::map):
2156         (gl::StaticVertexBuffer::reserveRequiredSpace):
2157         (gl::StaticVertexBuffer::lookupAttribute):
2158         * src/libGLESv2/VertexDataManager.h:
2159         (gl::ArrayVertexBuffer::size):
2160         * src/libGLESv2/geometry/IndexDataManager.cpp: Removed.
2161         * src/libGLESv2/geometry/IndexDataManager.h: Removed.
2162         * src/libGLESv2/geometry/VertexDataManager.cpp: Removed.
2163         * src/libGLESv2/geometry/VertexDataManager.h: Removed.
2164         * src/libGLESv2/geometry/vertexconversion.h: Removed.
2165         * src/libGLESv2/libGLESv2.cpp:
2166         (validateSubImageParams):
2167         (validReadFormatType):
2168         (Extension::glBindTexImage):
2169         * src/libGLESv2/libGLESv2.def:
2170         * src/libGLESv2/libGLESv2.rc:
2171         * src/libGLESv2/libGLESv2.vcproj:
2172         * src/libGLESv2/main.cpp:
2173         (gl::getNonLostContext):
2174         (gl::checkDeviceLost):
2175         * src/libGLESv2/main.h:
2176         * src/libGLESv2/utilities.cpp:
2177         (gl::UniformExternalComponentCount):
2178         (gl::UniformInternalComponentCount):
2179         (gl::UniformComponentSize):
2180         (gl::UniformInternalSize):
2181         (gl::UniformExternalSize):
2182         (gl::ComputeCompressedSize):
2183         (gl::IsCompressed):
2184         (gl::ExtractFormat):
2185         (gl::ExtractType):
2186         (dx2es::IsFloat32Format):
2187         (dx2es::IsFloat16Format):
2188         * src/libGLESv2/utilities.h:
2189         (isDeviceLostError):
2190
2191 2011-11-11  Darin Adler  <darin@apple.com>
2192
2193         * ANGLE.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
2194         If an older Xcode downgrades this file and we have a risk of some kind of
2195         oscillating commit situation, please contact me so I know not to do this again.
2196
2197 2011-09-19  Adam Roben  <aroben@apple.com>
2198
2199         Let Xcode 4 do its thang with ANGLE.xcodeproj
2200
2201         * ANGLE.xcodeproj/project.pbxproj:
2202
2203 2011-09-13  Anders Carlsson  <andersca@apple.com>
2204
2205         Disable C++ exceptions when building with clang
2206         https://bugs.webkit.org/show_bug.cgi?id=68031
2207         <rdar://problem/9556880>
2208
2209         Reviewed by Mark Rowe.
2210
2211         * Configurations/Base.xcconfig:
2212
2213 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
2214
2215         [Qt] Build fails with strict compiler
2216         https://bugs.webkit.org/show_bug.cgi?id=67778
2217
2218         Reviewed by Csaba Osztrogonác.
2219
2220         * src/compiler/glslang_lex.cpp: Regenerate with generate_glslang_lexer.sh using a newer flex
2221         to suppress warning and fix the build when using [-Werror=unused-result]
2222
2223 2011-08-12  Mark Rowe  <mrowe@apple.com>
2224
2225         Be more forward-looking in the choice of compiler.
2226
2227         Rubber-stamped by Jon Honeycutt.
2228
2229         * Configurations/CompilerVersion.xcconfig:
2230
2231 2011-08-11  Renata Hodovan  <reni@webkit.org>
2232
2233         [Qt]Fix warnings after r92805.
2234
2235         Reviewed by Csaba Osztrogonác.
2236
2237         Control reached the end non-void functions.
2238
2239         * src/compiler/ossource_posix.cpp:
2240         (OS_AllocTLSIndex):
2241         (OS_SetTLSValue):
2242
2243 2011-08-11  Renata Hodovan  <reni@webkit.org>
2244
2245         Build fix on Qt Windows 32-bit Release/Debug after r92805.
2246
2247         Unreviewed.
2248
2249         * src/compiler/ossource_posix.cpp:
2250         (OS_FreeTLSIndex):
2251
2252 2011-08-04  Mark Rowe  <mrowe@apple.com>
2253
2254         Future-proof Xcode configuration settings.
2255
2256         * Configurations/Base.xcconfig:
2257         * Configurations/CompilerVersion.xcconfig:
2258         * Configurations/DebugRelease.xcconfig:
2259
2260 2011-06-30  Mark Rowe  <mrowe@apple.com>
2261
2262         Rubber-stamped by Dan Bernstein.
2263
2264         ANGLE shouldn't try to use internal SDKs. It doesn't need them!
2265
2266         * Configurations/Base.xcconfig:
2267
2268 2011-06-20  Zhenyao Mo  <zmo@google.com>
2269
2270         Reviewed by Kenneth Russell.
2271
2272         Update ANGLE to r696
2273         https://bugs.webkit.org/show_bug.cgi?id=56396
2274
2275         * ANGLE.xcodeproj/project.pbxproj:
2276         * include/EGL/eglext.h:
2277         * include/GLSLANG/ShaderLang.h:
2278         * src/build_angle.xcodeproj/project.pbxproj:
2279         * src/common/debug.cpp:
2280         (gl::output):
2281         (gl::trace):
2282         (gl::perfActive):
2283         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
2284         (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
2285         * src/common/debug.h:
2286         * src/common/version.h: Added.
2287         * src/compiler/CodeGenGLSL.cpp:
2288         (ConstructCompiler):
2289         * src/compiler/CodeGenHLSL.cpp:
2290         (ConstructCompiler):
2291         * src/compiler/Compiler.cpp:
2292         (TCompiler::compile):
2293         (TCompiler::mapLongVariableNames):
2294         (TCompiler::getMappedNameMaxLength):
2295         (TCompiler::getExtensionBehavior):
2296         * src/compiler/ConstantUnion.h:
2297         (ConstantUnion::operator==):
2298         (ConstantUnion::operator>):
2299         (ConstantUnion::operator<):
2300         * src/compiler/ExtensionBehavior.h:
2301         (getBehaviorString):
2302         * src/compiler/ForLoopUnroll.cpp: Added.
2303         (ForLoopUnroll::FillLoopIndexInfo):
2304         (ForLoopUnroll::Step):
2305         (ForLoopUnroll::SatisfiesLoopCondition):
2306         (ForLoopUnroll::NeedsToReplaceSymbolWithValue):
2307         (ForLoopUnroll::GetLoopIndexValue):
2308         (ForLoopUnroll::Push):
2309         (ForLoopUnroll::Pop):
2310         (ForLoopUnroll::getLoopIncrement):
2311         (ForLoopUnroll::evaluateIntConstant):
2312         * src/compiler/ForLoopUnroll.h: Added.
2313         (ForLoopUnroll::ForLoopUnroll):
2314         * src/compiler/Initialize.cpp:
2315         (BuiltInFunctionsVertex):
2316         * src/compiler/MapLongVariableNames.cpp: Added.
2317         (MapLongVariableNames::MapLongVariableNames):
2318         (MapLongVariableNames::visitSymbol):
2319         (MapLongVariableNames::visitConstantUnion):
2320         (MapLongVariableNames::visitBinary):
2321         (MapLongVariableNames::visitUnary):
2322         (MapLongVariableNames::visitSelection):
2323         (MapLongVariableNames::visitAggregate):
2324         (MapLongVariableNames::visitLoop):
2325         (MapLongVariableNames::visitBranch):
2326         (MapLongVariableNames::mapVaryingLongName):
2327         * src/compiler/MapLongVariableNames.h: Added.
2328         * src/compiler/OutputESSL.cpp: Added.
2329         (TOutputESSL::TOutputESSL):
2330         (TOutputESSL::writeVariablePrecision):
2331         * src/compiler/OutputESSL.h: Added.
2332         * src/compiler/OutputGLSL.cpp:
2333         (TOutputGLSL::TOutputGLSL):
2334         (TOutputGLSL::writeVariablePrecision):
2335         * src/compiler/OutputGLSL.h:
2336         * src/compiler/OutputGLSLBase.cpp: Added.
2337         (TOutputGLSLBase::TOutputGLSLBase):
2338         (TOutputGLSLBase::writeTriplet):
2339         (TOutputGLSLBase::writeVariableType):
2340         (TOutputGLSLBase::writeFunctionParameters):
2341         (TOutputGLSLBase::writeConstantUnion):
2342         (TOutputGLSLBase::visitSymbol):
2343         (TOutputGLSLBase::visitConstantUnion):
2344         (TOutputGLSLBase::visitBinary):
2345         (TOutputGLSLBase::visitUnary):
2346         (TOutputGLSLBase::visitSelection):
2347         (TOutputGLSLBase::visitAggregate):
2348         (TOutputGLSLBase::visitLoop):
2349         (TOutputGLSLBase::visitBranch):
2350         (TOutputGLSLBase::visitCodeBlock):
2351         * src/compiler/OutputGLSLBase.h: Added.
2352         (TOutputGLSLBase::objSink):
2353         * src/compiler/OutputHLSL.cpp:
2354         (sh::OutputHLSL::OutputHLSL):
2355         (sh::OutputHLSL::header):
2356         (sh::OutputHLSL::visitUnary):
2357         (sh::OutputHLSL::visitAggregate):
2358         (sh::OutputHLSL::visitSelection):
2359         (sh::OutputHLSL::visitLoop):
2360         (sh::OutputHLSL::visitBranch):
2361         (sh::OutputHLSL::handleExcessiveLoop):
2362         (sh::OutputHLSL::outputLineDirective):
2363         * src/compiler/OutputHLSL.h:
2364         * src/compiler/ParseHelper.cpp:
2365         (TParseContext::precisionErrorCheck):
2366         (TParseContext::constructorErrorCheck):
2367         (TParseContext::nonInitErrorCheck):
2368         * src/compiler/ParseHelper.h:
2369         (TParseContext::TParseContext):
2370         * src/compiler/ShHandle.h:
2371         * src/compiler/ShaderLang.cpp:
2372         (getVariableInfo):
2373         (ShConstructCompiler):
2374         (ShGetInfo):
2375         (ShGetActiveAttrib):
2376         (ShGetActiveUniform):
2377         * src/compiler/TranslatorESSL.cpp: Added.
2378         (TranslatorESSL::TranslatorESSL):
2379         (TranslatorESSL::translate):
2380         (TranslatorESSL::writeExtensionBehavior):
2381         * src/compiler/TranslatorESSL.h: Added.
2382         * src/compiler/ValidateLimitations.cpp:
2383         (ValidateLimitations::visitBinary):
2384         (ValidateLimitations::visitLoop):
2385         * src/compiler/ValidateLimitations.h:
2386         * src/compiler/VariableInfo.cpp:
2387         (getVariableInfo):
2388         (getBuiltInVariableInfo):
2389         (getUserDefinedVariableInfo):
2390         (CollectAttribsUniforms::visitAggregate):
2391         * src/compiler/VariableInfo.h:
2392         * src/compiler/VersionGLSL.cpp:
2393         (TVersionGLSL::visitSymbol):
2394         (TVersionGLSL::visitConstantUnion):
2395         (TVersionGLSL::visitBinary):
2396         (TVersionGLSL::visitUnary):
2397         (TVersionGLSL::visitSelection):
2398         (TVersionGLSL::visitAggregate):
2399         (TVersionGLSL::visitLoop):
2400         (TVersionGLSL::visitBranch):
2401         * src/compiler/VersionGLSL.h:
2402         * src/compiler/glslang.y:
2403         * src/compiler/glslang_tab.cpp:
2404         * src/compiler/glslang_tab.h:
2405         * src/compiler/intermediate.h:
2406         (TIntermLoop::TIntermLoop):
2407         (TIntermLoop::setUnrollFlag):
2408         (TIntermLoop::getUnrollFlag):
2409         (TIntermSymbol::TIntermSymbol):
2410         (TIntermSymbol::setId):
2411         (TIntermSymbol::setSymbol):
2412         (TIntermSymbol::getOriginalSymbol):
2413         (TIntermAggregate::TIntermAggregate):
2414         (TIntermAggregate::setEndLine):
2415         (TIntermAggregate::getEndLine):
2416         * src/compiler/preprocessor/atom.c:
2417         (AddString):
2418         * src/compiler/preprocessor/compile.h:
2419         * src/compiler/preprocessor/cpp.c:
2420         (CPPelse):
2421         (eval):
2422         (CPPif):
2423         (CPPifdef):
2424         (readCPPline):
2425         (ChkCorrectElseNesting):
2426         * src/compiler/preprocessor/cppstruct.c:
2427         (ResetPreprocessor):
2428         * src/compiler/preprocessor/scanner.c:
2429         (byte_scan):
2430         (yylex_CPP):
2431         * src/compiler/preprocessor/scanner.h:
2432         * src/libEGL/Config.cpp:
2433         (egl::Config::Config):
2434         (egl::Config::set):
2435         (egl::ConfigSet::add):
2436         (egl::ConfigSet::getConfigs):
2437         * src/libEGL/Config.h:
2438         * src/libEGL/Display.cpp:
2439         (egl::Display::Display):
2440         (egl::Display::initialize):
2441         (egl::Display::terminate):
2442         (egl::Display::getConfigAttrib):
2443         (egl::Display::createDevice):
2444         (egl::Display::createWindowSurface):
2445         (egl::Display::createOffscreenSurface):
2446         (egl::Display::createContext):
2447         (egl::Display::destroyContext):
2448         (egl::Display::isInitialized):
2449         (egl::Display::getAdapterIdentifier):
2450         (egl::Display::isDeviceLost):
2451         (egl::Display::getBufferPool):
2452         (egl::Display::initExtensionString):
2453         (egl::Display::getExtensionString):
2454         (egl::Display::getVertexTextureSupport):
2455         (egl::Display::getNonPower2TextureSupport):
2456         * src/libEGL/Display.h:
2457         (egl::Display::isD3d9ExDevice):
2458         * src/libEGL/Surface.cpp:
2459         (egl::Surface::Surface):
2460         (egl::Surface::initialize):
2461         (egl::Surface::release):
2462         (egl::Surface::resetSwapChain):
2463         (egl::SurfaceWindowProc):
2464         (egl::Surface::subclassWindow):
2465         (egl::Surface::unsubclassWindow):
2466         (egl::Surface::swap):
2467         (egl::Surface::getRenderTarget):
2468         (egl::Surface::getOffscreenTexture):
2469         (egl::Surface::getTextureFormat):
2470         (egl::Surface::getTextureTarget):
2471         (egl::Surface::setBoundTexture):
2472         (egl::Surface::getBoundTexture):
2473         (egl::Surface::getFormat):
2474         * src/libEGL/Surface.h:
2475         (egl::Surface::getShareHandle):
2476         * src/libEGL/libEGL.cpp:
2477         (validateDisplay):
2478         (validateConfig):
2479         (validateContext):
2480         (validateSurface):
2481         * src/libEGL/libEGL.rc: Added.
2482         * src/libEGL/libEGL.vcproj:
2483         * src/libEGL/main.cpp:
2484         (DllMain):
2485         * src/libEGL/main.h:
2486         * src/libEGL/resource.h: Added.
2487         * src/libGLESv2/Blit.cpp:
2488         (gl::Blit::initGeometry):
2489         (gl::Blit::copy):
2490         * src/libGLESv2/Blit.h:
2491         * src/libGLESv2/Buffer.cpp:
2492         (gl::Buffer::Buffer):
2493         (gl::Buffer::~Buffer):
2494         (gl::Buffer::bufferData):
2495         (gl::Buffer::bufferSubData):
2496         (gl::Buffer::getStaticVertexBuffer):
2497         (gl::Buffer::getStaticIndexBuffer):
2498         (gl::Buffer::invalidateStaticData):
2499         (gl::Buffer::promoteStaticUsage):
2500         * src/libGLESv2/Buffer.h:
2501         * src/libGLESv2/Context.cpp:
2502         (gl::Context::Context):
2503         (gl::Context::~Context):
2504         (gl::Context::makeCurrent):
2505         (gl::Context::markAllStateDirty):
2506         (gl::Context::setActiveSampler):
2507         (gl::Context::createFramebuffer):
2508         (gl::Context::createFence):
2509         (gl::Context::deleteFramebuffer):
2510         (gl::Context::deleteFence):
2511         (gl::Context::bindTexture2D):
2512         (gl::Context::bindTextureCubeMap):
2513         (gl::Context::getTexture2D):
2514         (gl::Context::getTextureCubeMap):
2515         (gl::Context::getSamplerTexture):
2516         (gl::Context::getIntegerv):
2517         (gl::Context::applyRenderTarget):
2518         (gl::Context::applyState):
2519         (gl::Context::applyVertexBuffer):
2520         (gl::Context::applyShaders):
2521         (gl::Context::applyTextures):
2522         (gl::Context::readPixels):
2523         (gl::Context::clear):
2524         (gl::Context::drawArrays):
2525         (gl::Context::drawElements):
2526         (gl::Context::finish):
2527         (gl::Context::flush):
2528         (gl::Context::drawClosingLine):
2529         (gl::Context::getMaximumVertexTextureImageUnits):
2530         (gl::Context::getMaximumCombinedTextureImageUnits):
2531         (gl::Context::supportsNonPower2Texture):
2532         (gl::Context::detachTexture):
2533         (gl::Context::getIncompleteTexture):
2534         (gl::Context::initExtensionString):
2535         (gl::Context::blitFramebuffer):
2536         (gl::VertexDeclarationCache::VertexDeclarationCache):
2537         (gl::VertexDeclarationCache::~VertexDeclarationCache):
2538         (gl::VertexDeclarationCache::applyDeclaration):
2539         * src/libGLESv2/Context.h:
2540         * src/libGLESv2/Framebuffer.cpp:
2541         (gl::Framebuffer::lookupRenderbuffer):
2542         (gl::Framebuffer::completeness):
2543         * src/libGLESv2/Framebuffer.h:
2544         * src/libGLESv2/HandleAllocator.cpp: Added.
2545         (gl::HandleAllocator::HandleAllocator):
2546         (gl::HandleAllocator::~HandleAllocator):
2547         (gl::HandleAllocator::setBaseHandle):
2548         (gl::HandleAllocator::allocate):
2549         (gl::HandleAllocator::release):
2550         * src/libGLESv2/HandleAllocator.h: Added.
2551         * src/libGLESv2/IndexDataManager.cpp: Added.
2552         (gl::IndexDataManager::IndexDataManager):
2553         (gl::IndexDataManager::~IndexDataManager):
2554         (gl::convertIndices):
2555         (gl::computeRange):
2556         (gl::IndexDataManager::prepareIndexData):
2557         (gl::IndexDataManager::indexSize):
2558         (gl::IndexDataManager::typeSize):
2559         (gl::IndexBuffer::IndexBuffer):
2560         (gl::IndexBuffer::~IndexBuffer):
2561         (gl::IndexBuffer::getBuffer):
2562         (gl::IndexBuffer::unmap):
2563         (gl::StreamingIndexBuffer::StreamingIndexBuffer):
2564         (gl::StreamingIndexBuffer::~StreamingIndexBuffer):
2565         (gl::StreamingIndexBuffer::map):
2566         (gl::StreamingIndexBuffer::reserveSpace):
2567         (gl::StaticIndexBuffer::StaticIndexBuffer):
2568         (gl::StaticIndexBuffer::~StaticIndexBuffer):
2569         (gl::StaticIndexBuffer::map):
2570         (gl::StaticIndexBuffer::reserveSpace):
2571         (gl::StaticIndexBuffer::lookupType):
2572         (gl::StaticIndexBuffer::lookupRange):
2573         (gl::StaticIndexBuffer::addRange):
2574         * src/libGLESv2/IndexDataManager.h: Added.
2575         (gl::IndexBuffer::size):
2576         * src/libGLESv2/Program.cpp:
2577         (gl::Program::getSemanticIndex):
2578         (gl::Program::getSamplerMapping):
2579         (gl::Program::getSamplerTextureType):
2580         (gl::Program::compileToBinary):
2581         (gl::Program::packVaryings):
2582         (gl::Program::linkVaryings):
2583         (gl::Program::link):
2584         (gl::Program::linkUniforms):
2585         (gl::Program::defineUniform):
2586         (gl::Program::applyUniform1iv):
2587         (gl::Program::appendToInfoLogSanitized):
2588         (gl::Program::unlink):
2589         (gl::Program::getActiveUniformMaxLength):
2590         (gl::Program::validate):
2591         (gl::Program::validateSamplers):
2592         * src/libGLESv2/Program.h:
2593         * src/libGLESv2/Renderbuffer.cpp:
2594         (gl::Renderbuffer::getWidth):
2595         (gl::Renderbuffer::getHeight):
2596         (gl::Renderbuffer::getInternalFormat):
2597         (gl::Renderbuffer::getRedSize):
2598         (gl::Renderbuffer::getGreenSize):
2599         (gl::Renderbuffer::getBlueSize):
2600         (gl::Renderbuffer::getAlphaSize):
2601         (gl::Renderbuffer::getDepthSize):
2602         (gl::Renderbuffer::getStencilSize):
2603         (gl::Renderbuffer::getSamples):
2604         (gl::RenderbufferStorage::RenderbufferStorage):
2605         (gl::RenderbufferStorage::getWidth):
2606         (gl::RenderbufferStorage::getHeight):
2607         (gl::RenderbufferStorage::getInternalFormat):
2608         (gl::RenderbufferStorage::getRedSize):
2609         (gl::RenderbufferStorage::getGreenSize):
2610         (gl::RenderbufferStorage::getBlueSize):
2611         (gl::RenderbufferStorage::getAlphaSize):
2612         (gl::RenderbufferStorage::getDepthSize):
2613         (gl::RenderbufferStorage::getStencilSize):
2614         (gl::RenderbufferStorage::getD3DFormat):
2615         (gl::Colorbuffer::Colorbuffer):
2616         (gl::Colorbuffer::getWidth):
2617         (gl::Colorbuffer::getHeight):
2618         (gl::Colorbuffer::getInternalFormat):
2619         (gl::Colorbuffer::getType):
2620         (gl::Colorbuffer::getD3DFormat):
2621         (gl::Colorbuffer::isColorbuffer):
2622         (gl::Colorbuffer::getRenderTarget):
2623         (gl::DepthStencilbuffer::DepthStencilbuffer):
2624         (gl::Depthbuffer::Depthbuffer):
2625         (gl::Stencilbuffer::Stencilbuffer):
2626         * src/libGLESv2/Renderbuffer.h:
2627         * src/libGLESv2/ResourceManager.cpp:
2628         (gl::ResourceManager::createBuffer):
2629         (gl::ResourceManager::createShader):
2630         (gl::ResourceManager::createProgram):
2631         (gl::ResourceManager::createTexture):
2632         (gl::ResourceManager::createRenderbuffer):
2633         (gl::ResourceManager::deleteBuffer):
2634         (gl::ResourceManager::deleteShader):
2635         (gl::ResourceManager::deleteProgram):
2636         (gl::ResourceManager::deleteTexture):
2637         (gl::ResourceManager::deleteRenderbuffer):
2638         (gl::ResourceManager::checkTextureAllocation):
2639         * src/libGLESv2/ResourceManager.h:
2640         * src/libGLESv2/Shader.cpp:
2641         (gl::Shader::Shader):
2642         (gl::Shader::compileToHLSL):
2643         * src/libGLESv2/Shader.h:
2644         * src/libGLESv2/Texture.cpp:
2645         (gl::Texture::Image::Image):
2646         (gl::Texture::Image::~Image):
2647         (gl::Texture::Image::isRenderable):
2648         (gl::Texture::Image::getD3DFormat):
2649         (gl::Texture::Texture):
2650         (gl::Texture::setMinFilter):
2651         (gl::Texture::setMagFilter):
2652         (gl::Texture::setWrapS):
2653         (gl::Texture::setWrapT):
2654         (gl::Texture::loadImageData):
2655         (gl::Texture::loadAlphaImageData):
2656         (gl::Texture::loadAlphaFloatImageData):
2657         (gl::Texture::loadAlphaHalfFloatImageData):
2658         (gl::Texture::loadLuminanceImageData):
2659         (gl::Texture::loadLuminanceFloatImageData):
2660         (gl::Texture::loadLuminanceHalfFloatImageData):
2661         (gl::Texture::loadLuminanceAlphaImageData):
2662         (gl::Texture::loadLuminanceAlphaFloatImageData):
2663         (gl::Texture::loadLuminanceAlphaHalfFloatImageData):
2664         (gl::Texture::loadRGBUByteImageData):
2665         (gl::Texture::loadRGB565ImageData):
2666         (gl::Texture::loadRGBFloatImageData):
2667         (gl::Texture::loadRGBHalfFloatImageData):
2668         (gl::Texture::loadRGBAUByteImageDataSSE2):
2669         (gl::Texture::loadRGBAUByteImageData):
2670         (gl::Texture::loadRGBA4444ImageData):
2671         (gl::Texture::loadRGBA5551ImageData):
2672         (gl::Texture::loadRGBAFloatImageData):
2673         (gl::Texture::loadRGBAHalfFloatImageData):
2674         (gl::Texture::loadBGRAImageData):
2675         (gl::Texture::loadCompressedImageData):
2676         (gl::Texture::createSurface):
2677         (gl::Texture::setImage):
2678         (gl::Texture::setCompressedImage):
2679         (gl::Texture::subImage):
2680         (gl::Texture::subImageCompressed):
2681         (gl::Texture::copyToImage):
2682         (gl::Texture::getTexture):
2683         (gl::Texture::isDirtyParameter):
2684         (gl::Texture::isDirtyImage):
2685         (gl::Texture::resetDirty):
2686         (gl::Texture::getSerial):
2687         (gl::Texture::creationLevels):
2688         (gl::Texture::levelCount):
2689         (gl::Texture::issueSerial):
2690         (gl::Texture2D::Texture2D):
2691         (gl::Texture2D::~Texture2D):
2692         (gl::Texture2D::getWidth):
2693         (gl::Texture2D::getHeight):
2694         (gl::Texture2D::getInternalFormat):
2695         (gl::Texture2D::getType):
2696         (gl::Texture2D::getD3DFormat):
2697         (gl::Texture2D::redefineTexture):
2698         (gl::Texture2D::setImage):
2699         (gl::Texture2D::bindTexImage):
2700         (gl::Texture2D::releaseTexImage):
2701         (gl::Texture2D::setCompressedImage):
2702         (gl::Texture2D::commitRect):
2703         (gl::Texture2D::copyImage):
2704         (gl::Texture2D::copySubImage):
2705         (gl::Texture2D::isComplete):
2706         (gl::Texture2D::isCompressed):
2707         (gl::Texture2D::getBaseTexture):
2708         (gl::Texture2D::createTexture):
2709         (gl::Texture2D::updateTexture):
2710         (gl::Texture2D::convertToRenderTarget):
2711         (gl::Texture2D::generateMipmaps):
2712         (gl::Texture2D::getRenderbuffer):
2713         (gl::Texture2D::getRenderTarget):
2714         (gl::TextureCubeMap::getWidth):
2715         (gl::TextureCubeMap::getHeight):
2716         (gl::TextureCubeMap::getInternalFormat):
2717         (gl::TextureCubeMap::getType):
2718         (gl::TextureCubeMap::getD3DFormat):
2719         (gl::TextureCubeMap::setImagePosX):
2720         (gl::TextureCubeMap::setImageNegX):
2721         (gl::TextureCubeMap::setImagePosY):
2722         (gl::TextureCubeMap::setImageNegY):
2723         (gl::TextureCubeMap::setImagePosZ):
2724         (gl::TextureCubeMap::setImageNegZ):
2725         (gl::TextureCubeMap::setCompressedImage):
2726         (gl::TextureCubeMap::commitRect):
2727         (gl::TextureCubeMap::isComplete):
2728         (gl::TextureCubeMap::isCompressed):
2729         (gl::TextureCubeMap::getBaseTexture):
2730         (gl::TextureCubeMap::createTexture):
2731         (gl::TextureCubeMap::updateTexture):
2732         (gl::TextureCubeMap::convertToRenderTarget):
2733         (gl::TextureCubeMap::setImage):
2734         (gl::TextureCubeMap::redefineTexture):
2735         (gl::TextureCubeMap::copyImage):
2736         (gl::TextureCubeMap::getCubeMapSurface):
2737         (gl::TextureCubeMap::copySubImage):
2738         (gl::TextureCubeMap::generateMipmaps):
2739         (gl::TextureCubeMap::getRenderbuffer):
2740         (gl::TextureCubeMap::getRenderTarget):
2741         * src/libGLESv2/Texture.h:
2742         * src/libGLESv2/VertexDataManager.cpp: Added.
2743         (gl::VertexDataManager::VertexDataManager):
2744         (gl::VertexDataManager::~VertexDataManager):
2745         (gl::VertexDataManager::writeAttributeData):
2746         (gl::VertexDataManager::prepareVertexData):
2747         (gl::VertexDataManager::spaceRequired):
2748         (gl::VertexDataManager::checkVertexCaps):
2749         (gl::VertexDataManager::typeIndex):
2750         (gl::VertexBuffer::VertexBuffer):
2751         (gl::VertexBuffer::~VertexBuffer):
2752         (gl::VertexBuffer::unmap):
2753         (gl::VertexBuffer::getBuffer):
2754         (gl::ConstantVertexBuffer::ConstantVertexBuffer):
2755         (gl::ConstantVertexBuffer::~ConstantVertexBuffer):
2756         (gl::ArrayVertexBuffer::ArrayVertexBuffer):
2757         (gl::ArrayVertexBuffer::~ArrayVertexBuffer):
2758         (gl::ArrayVertexBuffer::addRequiredSpace):
2759         (gl::ArrayVertexBuffer::addRequiredSpaceFor):
2760         (gl::StreamingVertexBuffer::StreamingVertexBuffer):
2761         (gl::StreamingVertexBuffer::~StreamingVertexBuffer):
2762         (gl::StreamingVertexBuffer::map):
2763         (gl::StreamingVertexBuffer::reserveRequiredSpace):
2764         (gl::StaticVertexBuffer::StaticVertexBuffer):
2765         (gl::StaticVertexBuffer::~StaticVertexBuffer):
2766         (gl::StaticVertexBuffer::map):
2767         (gl::StaticVertexBuffer::reserveRequiredSpace):
2768         (gl::StaticVertexBuffer::lookupAttribute):
2769         (gl::VertexDataManager::formatConverter):
2770         * src/libGLESv2/VertexDataManager.h: Added.
2771         (gl::ArrayVertexBuffer::size):
2772         (gl::VertexDataManager::dirtyCurrentValue):
2773         * src/libGLESv2/libGLESv2.cpp:
2774         (validImageSize):
2775         (Extension::glBindTexImage):
2776         * src/libGLESv2/libGLESv2.def:
2777         * src/libGLESv2/libGLESv2.rc: Added.
2778         * src/libGLESv2/libGLESv2.vcproj:
2779         * src/libGLESv2/main.cpp:
2780         (error):
2781         * src/libGLESv2/mathutil.h:
2782         (gl::clamp):
2783         (gl::clamp01):
2784         (gl::transformPixelRect):
2785         (gl::transformPixelYOffset):
2786         (gl::adjustWinding):
2787         (gl::supportsSSE2):
2788         * src/libGLESv2/resource.h: Added.
2789         * src/libGLESv2/utilities.cpp:
2790         (gl::ComputeCompressedPitch):
2791         (es2dx::ConvertCubeFace):
2792         (es2dx::ConvertPrimitiveType):
2793         (es2dx::ConvertRenderbufferFormat):
2794         (es2dx::GetMultisampleTypeFromSamples):
2795         (dx2es::GetStencilSize):
2796         (dx2es::GetAlphaSize):
2797         (dx2es::GetRedSize):
2798         (dx2es::GetGreenSize):
2799         (dx2es::GetBlueSize):
2800         (dx2es::GetDepthSize):
2801         (getTempPath):
2802         (writeFile):
2803         * src/libGLESv2/utilities.h:
2804         * src/libGLESv2/vertexconversion.h: Added.
2805         (gl::Identity::convert):
2806         (gl::Cast::convert):
2807         (gl::Normalize::convert):
2808         (gl::FixedToFloat::convert):
2809         (gl::SimpleDefaultValues::zero):
2810         (gl::SimpleDefaultValues::one):
2811         (gl::NormalizedDefaultValues::zero):
2812         (gl::NormalizedDefaultValues::one):
2813         (gl::VertexDataConverter::convertArray):
2814         (gl::VertexDataConverter::pointerAddBytes):
2815         (gl::VertexDataConverter::copyComponent):
2816
2817 2011-05-24  David Kilzer  <ddkilzer@apple.com>
2818
2819         Part 2 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
2820
2821         Reviewed by Adam Roben.
2822
2823         * Configurations/Base.xcconfig:
2824         (GCC_WARN_ABOUT_MISSING_NEWLINE): Added. Set to YES.
2825
2826 2011-05-23  David Kilzer  <ddkilzer@apple.com>
2827
2828         Part 1 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
2829
2830         Merge ANGLE upstream commit r653 for Issue 154.
2831
2832         * src/compiler/PoolAlloc.h: Added newline to end of file.
2833         * src/compiler/ShHandle.h: Ditto.
2834         * src/libEGL/Display.cpp: Ditto.
2835
2836 2011-05-16  David Kilzer  <ddkilzer@apple.com>
2837
2838         <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
2839         <rdar://problem/9446430>
2840
2841         Reviewed by Mark Rowe.
2842
2843         * Configurations/Base.xcconfig: Fixed typo.
2844
2845 2011-05-04  David Kilzer  <ddkilzer@apple.com>
2846
2847         Part 2 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
2848
2849         Reviewed by Adam Barth.
2850
2851         * Configurations/Base.xcconfig:
2852         (GCC_TREAT_WARNINGS_AS_ERRORS): Set to YES.
2853
2854 2011-05-04  David Kilzer  <ddkilzer@apple.com>
2855
2856         Part 1 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
2857
2858         Merge ANGLE upstream commits r572, r573, r574, r575.
2859
2860         This unblocks enabling -Werror on ANGLE.  Since all changes are
2861         in the upstream repository, they may be safely overwritten
2862         during the next ANGLE update.
2863
2864         * src/compiler/ConstantUnion.h:
2865         (ConstantUnion::operator==): Added a default case.
2866         * src/compiler/Intermediate.cpp:
2867         (TIntermBinary::promote): Added parentheses.
2868         * src/compiler/ParseHelper.cpp:
2869         (TParseContext::precisionErrorCheck): Added a default case.
2870         * src/compiler/PoolAlloc.cpp:
2871         (TAllocation::checkGuardBlock): Changed '%u' to '%lu' for size_t
2872         variable.  Put for loop inside #ifdef GUARD_BLOCKS/#endif macros
2873         to fix tautological-compare warning.
2874         (TAllocation::checkAllocList): Added newline to end of file.
2875
2876 2011-04-26  Dan Bernstein  <mitz@apple.com>
2877
2878         Build fix.
2879
2880         * Configurations/CompilerVersion.xcconfig:
2881
2882 2011-04-26  Dan Bernstein  <mitz@apple.com>
2883
2884         Reviewed by Mark Rowe.
2885
2886         Choose the compiler based on the Xcode version for Snow Leopard debug builds.
2887
2888         * Configurations/Base.xcconfig:
2889         * Configurations/CompilerVersion.xcconfig: Added.
2890
2891 2011-03-17  Jeff Miller  <jeffm@apple.com>
2892
2893         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
2894         
2895         *.mode*
2896         *.pbxuser
2897         *.perspective*
2898         project.xcworkspace
2899         xcuserdata
2900
2901         * ANGLE.xcodeproj: Modified property svn:ignore.
2902         * src/build_angle.xcodeproj: Modified property svn:ignore.
2903
2904 2011-01-18  Kenneth Russell  <kbr@google.com>
2905
2906         Unreviewed, Leopard build fix. Remove flex/bison targets for GLSL
2907         grammar because the generated sources are already checked in.
2908
2909         * ANGLE.xcodeproj/project.pbxproj:
2910         * src/build_angle.xcodeproj/project.pbxproj:
2911
2912 2011-01-18  Kenneth Russell  <kbr@google.com>
2913
2914         Unreviewed, release build fix. Explicitly cast away const.
2915
2916         * src/compiler/preprocessor/scanner.c:
2917         (ScanFromString):
2918
2919 2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
2920
2921         Reviewed by Kenneth Russell.
2922
2923         Updating ANGLE in WebKit to r533.
2924         https://bugs.webkit.org/show_bug.cgi?id=47194
2925
2926         * ANGLE.xcodeproj/project.pbxproj:
2927         * include/GLSLANG/ShaderLang.h:
2928         * src/common/debug.cpp:
2929         (gl::trace):
2930         * src/common/debug.h:
2931         * src/compiler/CodeGenGLSL.cpp:
2932         (ConstructCompiler):
2933         * src/compiler/CodeGenHLSL.cpp:
2934         (ConstructCompiler):
2935         * src/compiler/Common.h:
2936         (EncodeSourceLoc):
2937         (DecodeSourceLoc):
2938         * src/compiler/Compiler.cpp: Added.
2939         (TShHandleBase::TShHandleBase):
2940         (TShHandleBase::~TShHandleBase):
2941         (TCompiler::TCompiler):
2942         (TCompiler::~TCompiler):
2943         (TCompiler::Init):
2944         (TCompiler::compile):
2945         (TCompiler::InitBuiltInSymbolTable):
2946         (TCompiler::clearResults):
2947         (TCompiler::validateLimitations):
2948         (TCompiler::collectAttribsUniforms):
2949         * src/compiler/ExtensionBehavior.h: Added.
2950         * src/compiler/InfoSink.cpp:
2951         (TInfoSinkBase::location):
2952         * src/compiler/InfoSink.h:
2953         (TInfoSinkBase::size):
2954         * src/compiler/Initialize.cpp:
2955         (BuiltInFunctionsCommon):
2956         (BuiltInFunctionsVertex):
2957         (BuiltInFunctionsFragment):
2958         (StandardUniforms):
2959         (DefaultPrecisionVertex):
2960         (DefaultPrecisionFragment):
2961         (BuiltInConstants):
2962         (TBuiltIns::initialize):
2963         (IdentifyBuiltIns):
2964         (InitExtensionBehavior):
2965         * src/compiler/Initialize.h:
2966         * src/compiler/IntermTraverse.cpp:
2967         (TIntermLoop::traverse):
2968         * src/compiler/Intermediate.cpp:
2969         (getOperatorString):
2970         (TIntermediate::addBinaryMath):
2971         (TIntermediate::addLoop):
2972         (TIntermediate::postProcess):
2973         (TIntermBinary::promote):
2974         * src/compiler/OutputGLSL.cpp:
2975         (TOutputGLSL::visitUnary):
2976         (TOutputGLSL::visitLoop):
2977         * src/compiler/OutputHLSL.cpp:
2978         (sh::OutputHLSL::OutputHLSL):
2979         (sh::OutputHLSL::header):
2980         (sh::OutputHLSL::visitBinary):
2981         (sh::OutputHLSL::visitUnary):
2982         (sh::OutputHLSL::visitAggregate):
2983         (sh::OutputHLSL::visitLoop):
2984         (sh::OutputHLSL::handleExcessiveLoop):
2985         (sh::OutputHLSL::argumentString):
2986         * src/compiler/OutputHLSL.h:
2987         * src/compiler/ParseHelper.cpp:
2988         (ReportInfo):
2989         (DefineExtensionMacros):
2990         (TParseContext::error):
2991         (TParseContext::warning):
2992         (TParseContext::reservedErrorCheck):
2993         (TParseContext::constructorErrorCheck):
2994         (TParseContext::arrayQualifierErrorCheck):
2995         (TParseContext::extensionErrorCheck):
2996         (TParseContext::areAllChildConst):
2997         (PaParseStrings):
2998         * src/compiler/ParseHelper.h:
2999         (TParseContext::TParseContext):
3000         * src/compiler/PoolAlloc.cpp:
3001         (InitializeGlobalPools):
3002         (FreeGlobalPools):
3003         (SetGlobalPoolAllocator):
3004         (TPoolAllocator::TPoolAllocator):
3005         (TPoolAllocator::~TPoolAllocator):
3006         (TAllocation::checkAllocList):
3007         * src/compiler/PoolAlloc.h:
3008         * src/compiler/SearchSymbol.cpp: Added.
3009         (sh::SearchSymbol::SearchSymbol):
3010         (sh::SearchSymbol::traverse):
3011         (sh::SearchSymbol::visitSymbol):
3012         (sh::SearchSymbol::foundMatch):
3013         * src/compiler/SearchSymbol.h: Added.
3014         * src/compiler/ShHandle.h:
3015         (TCompiler::getAsCompiler):
3016         (TCompiler::getInfoSink):
3017         (TCompiler::getAttribs):
3018         (TCompiler::getUniforms):
3019         (TCompiler::getShaderType):
3020         (TCompiler::getShaderSpec):
3021         * src/compiler/ShaderLang.cpp:
3022         (getVariableMaxLength):
3023         (getVariableInfo):
3024         (ShInitBuiltInResources):
3025         (ShConstructCompiler):
3026         (ShCompile):
3027         (ShGetInfo):
3028         (ShGetInfoLog):
3029         (ShGetObjectCode):
3030         (ShGetActiveAttrib):
3031         (ShGetActiveUniform):
3032         * src/compiler/SymbolTable.cpp:
3033         (TSymbolTableLevel::relateToExtension):
3034         * src/compiler/SymbolTable.h:
3035         (TVariable::shareConstPointer):
3036         (TFunction::relateToExtension):
3037         (TFunction::getExtension):
3038         (TFunction::getParamCount):
3039         (TFunction::getParam):
3040         (TSymbolTable::getGlobalLevel):
3041         (TSymbolTable::relateToOperator):
3042         (TSymbolTable::relateToExtension):
3043         * src/compiler/TranslatorGLSL.cpp:
3044         (writeVersion):
3045         (TranslatorGLSL::TranslatorGLSL):
3046         (TranslatorGLSL::translate):
3047         * src/compiler/TranslatorGLSL.h:
3048         * src/compiler/TranslatorHLSL.cpp:
3049         (TranslatorHLSL::TranslatorHLSL):
3050         (TranslatorHLSL::translate):
3051         * src/compiler/TranslatorHLSL.h:
3052         * src/compiler/Types.h:
3053         (TType::TType):
3054         * src/compiler/UnfoldSelect.cpp:
3055         (sh::UnfoldSelect::visitSelection):
3056         * src/compiler/UnfoldSelect.h:
3057         * src/compiler/ValidateLimitations.cpp: Added.
3058         (ValidateLimitations::ValidateLimitations):
3059         (ValidateLimitations::visitSymbol):
3060         (ValidateLimitations::visitConstantUnion):
3061         (ValidateLimitations::visitBinary):
3062         (ValidateLimitations::visitUnary):
3063         (ValidateLimitations::visitSelection):
3064         (ValidateLimitations::visitAggregate):
3065         (ValidateLimitations::visitLoop):
3066         (ValidateLimitations::visitBranch):
3067         (ValidateLimitations::error):
3068         (ValidateLimitations::withinLoopBody):
3069         (ValidateLimitations::isLoopIndex):
3070         (ValidateLimitations::validateLoopType):
3071         (ValidateLimitations::validateForLoopHeader):
3072         (ValidateLimitations::validateForLoopInit):
3073         (ValidateLimitations::validateForLoopCond):
3074         (ValidateLimitations::validateForLoopExpr):
3075         (ValidateLimitations::validateFunctionCall):
3076         (ValidateLimitations::validateOperation):
3077         (ValidateLimitations::isConstExpr):
3078         (ValidateLimitations::isConstIndexExpr):
3079         (ValidateLimitations::validateIndexing):
3080         * src/compiler/ValidateLimitations.h: Added.
3081         (ValidateLimitations::numErrors):
3082         * src/compiler/VariableInfo.cpp: Added.
3083         (arrayBrackets):
3084         (getVariableDataType):
3085         (getVariableInfo):
3086         (getBuiltInVariableInfo):
3087         (getUserDefinedVariableInfo):
3088         (CollectAttribsUniforms::CollectAttribsUniforms):
3089         (CollectAttribsUniforms::visitSymbol):
3090         (CollectAttribsUniforms::visitConstantUnion):
3091         (CollectAttribsUniforms::visitBinary):
3092         (CollectAttribsUniforms::visitUnary):
3093         (CollectAttribsUniforms::visitSelection):
3094         (CollectAttribsUniforms::visitAggregate):
3095         (CollectAttribsUniforms::visitLoop):
3096         (CollectAttribsUniforms::visitBranch):
3097         * src/compiler/VariableInfo.h: Added.
3098         * src/compiler/VersionGLSL.cpp: Added.
3099         (TVersionGLSL::TVersionGLSL):
3100         (TVersionGLSL::visitSymbol):
3101         (TVersionGLSL::visitConstantUnion):
3102         (TVersionGLSL::visitBinary):
3103         (TVersionGLSL::visitUnary):
3104         (TVersionGLSL::visitSelection):
3105         (TVersionGLSL::visitAggregate):
3106         (TVersionGLSL::visitLoop):
3107         (TVersionGLSL::visitBranch):
3108         (TVersionGLSL::updateVersion):
3109         * src/compiler/VersionGLSL.h: Added.
3110         (TVersionGLSL::getVersion):
3111         * src/compiler/generate_glslang_lexer.sh: Added.
3112         * src/compiler/generate_glslang_parser.sh: Added.
3113         * src/compiler/glslang.h: Added.
3114         * src/compiler/glslang.l:
3115         * src/compiler/glslang.y:
3116         * src/compiler/glslang_lex.cpp: Added.
3117         (yy_get_next_buffer):
3118         (yy_get_previous_state):
3119         (yy_try_NUL_trans):
3120         (input):
3121         (yyrestart):
3122         (yy_switch_to_buffer):
3123         (yy_load_buffer_state):
3124         (yy_create_buffer):
3125         (yy_delete_buffer):
3126         (yy_init_buffer):
3127         (yy_flush_buffer):
3128         (yypush_buffer_state):
3129         (yypop_buffer_state):
3130         (yyensure_buffer_stack):
3131         (yy_scan_buffer):
3132         (yy_scan_string):
3133         (yy_scan_bytes):
3134         (yy_push_state):
3135         (yy_pop_state):
3136         (yy_top_state):
3137         (yy_fatal_error):
3138         (yyget_extra):
3139         (yyget_lineno):
3140         (yyget_column):
3141         (yyget_in):
3142         (yyget_out):
3143         (yyget_leng):
3144         (yyget_text):
3145         (yyset_extra):
3146         (yyset_lineno):
3147         (yyset_column):
3148         (yyset_in):
3149         (yyset_out):
3150         (yyget_debug):
3151         (yyset_debug):
3152         (yyget_lval):
3153         (yyset_lval):
3154         (yylex_init):
3155         (yylex_init_extra):
3156         (yy_init_globals):
3157         (yylex_destroy):
3158         (yy_flex_strncpy):
3159         (yy_flex_strlen):
3160         (yyalloc):
3161         (yyrealloc):
3162         (yyfree):
3163         (string_input):
3164         (check_type):
3165         (reserved_word):
3166         (yyerror):
3167         (glslang_initialize):
3168         (glslang_finalize):
3169         (glslang_scan):
3170         * src/compiler/glslang_tab.cpp: Added.
3171         (yytnamerr):
3172         (yysyntax_error):
3173         (glslang_parse):
3174         * src/compiler/glslang_tab.h: Added.
3175         * src/compiler/intermOut.cpp:
3176         (TOutputTraverser::TOutputTraverser):
3177         (OutputTreeText):
3178         (TOutputTraverser::visitSymbol):
3179         (TOutputTraverser::visitBinary):
3180         (TOutputTraverser::visitUnary):
3181         (TOutputTraverser::visitAggregate):
3182         (TOutputTraverser::visitSelection):
3183         (TOutputTraverser::visitConstantUnion):
3184         (TOutputTraverser::visitLoop):
3185         (TOutputTraverser::visitBranch):
3186         (TIntermediate::outputTree):
3187         * src/compiler/intermediate.h:
3188         (TIntermLoop::TIntermLoop):
3189         (TIntermLoop::getType):
3190         (TIntermLoop::getInit):
3191         (TIntermLoop::getCondition):
3192         (TIntermLoop::getExpression):
3193         (TIntermLoop::getBody):
3194         * src/compiler/localintermediate.h:
3195         * src/compiler/osinclude.h:
3196         (OS_GetTLSValue):
3197         * src/compiler/ossource_nspr.cpp: Added.
3198         (OS_AllocTLSIndex):
3199         (OS_SetTLSValue):
3200         (OS_FreeTLSIndex):
3201         * src/compiler/preprocessor/compile.h:
3202         * src/compiler/preprocessor/cpp.c:
3203         (CPPdefine):
3204         (CPPelse):
3205         (CPPif):
3206         (CPPifdef):
3207         (CPPerror):
3208         (CPPextension):
3209         (readCPPline):
3210         * src/compiler/preprocessor/preprocess.h:
3211         * src/compiler/preprocessor/scanner.c:
3212         (str_getch):
3213         (str_ungetch):
3214         (ScanFromString):
3215         (lFloatConst):
3216         (byte_scan):
3217         (yylex_CPP):
3218         (check_EOF):
3219         * src/compiler/preprocessor/scanner.h:
3220         * src/compiler/preprocessor/tokens.c:
3221         (RecordToken):
3222         (ReadToken):
3223         * src/compiler/tools: Removed.
3224         * src/compiler/unistd.h: Removed.
3225         * src/compiler/util.cpp: Added.
3226         (atof_dot):
3227         * src/compiler/util.h: Added.
3228         * src/libEGL/Config.cpp:
3229         (egl::Config::set):
3230         * src/libEGL/Display.cpp:
3231         (egl::Display::Display):
3232         (egl::Display::initialize):
3233         (egl::Display::terminate):
3234         (egl::Display::createDevice):
3235         (egl::Display::resetDevice):
3236         (egl::Display::createContext):
3237         (egl::Display::destroyContext):
3238         (egl::Display::getMinSwapInterval):
3239         (egl::Display::getMaxSwapInterval):
3240         (egl::Display::getDevice):
3241         (egl::Display::getFloatTextureSupport):
3242         (egl::Display::getHalfFloatTextureSupport):
3243         (egl::Display::getLuminanceTextureSupport):
3244         (egl::Display::getLuminanceAlphaTextureSupport):
3245         (egl::Display::getBufferPool):
3246         (egl::Display::getEventQuerySupport):
3247         (egl::Display::getDefaultPresentParameters):
3248         * src/libEGL/Display.h:
3249         * src/libEGL/Surface.cpp:
3250         (egl::Surface::Surface):
3251         (egl::Surface::~Surface):
3252         (egl::Surface::release):
3253         (egl::Surface::resetSwapChain):
3254         (egl::Surface::writeRecordableFlipState):
3255         (egl::Surface::restoreState):
3256         (egl::SurfaceWindowProc):
3257         (egl::Surface::subclassWindow):
3258         (egl::Surface::unsubclassWindow):
3259         (egl::Surface::checkForOutOfDateSwapChain):
3260         (egl::Surface::convertInterval):
3261         (egl::Surface::swap):
3262         (egl::Surface::getRenderTarget):
3263         (egl::Surface::setSwapInterval):
3264         * src/libEGL/Surface.h:
3265         * src/libEGL/libEGL.cpp:
3266         * src/libGLESv2/Blit.cpp:
3267         (gl::Blit::copySurfaceToTexture):
3268         (gl::Blit::setCommonBlitState):
3269         * src/libGLESv2/Buffer.cpp:
3270         (gl::Buffer::Buffer):
3271         (gl::Buffer::~Buffer):
3272         (gl::Buffer::bufferData):
3273         (gl::Buffer::bufferSubData):
3274         (gl::Buffer::getVertexBuffer):
3275         (gl::Buffer::getIndexBuffer):
3276         (gl::Buffer::invalidateStaticData):
3277         * src/libGLESv2/Buffer.h:
3278         * src/libGLESv2/Context.cpp:
3279         (gl::Context::Context):
3280         (gl::Context::~Context):
3281         (gl::Context::makeCurrent):
3282         (gl::Context::markAllStateDirty):
3283         (gl::Context::setFragmentShaderDerivativeHint):
3284         (gl::Context::setEnableVertexAttribArray):
3285         (gl::Context::getVertexAttribState):
3286         (gl::Context::getVertexAttributes):
3287         (gl::Context::createFence):
3288         (gl::Context::deleteFence):
3289         (gl::Context::bindTexture2D):
3290         (gl::Context::bindTextureCubeMap):
3291         (gl::Context::getFence):
3292         (gl::Context::getTexture2D):
3293         (gl::Context::getTextureCubeMap):
3294         (gl::Context::getSamplerTexture):
3295         (gl::Context::getBooleanv):
3296         (gl::Context::getIntegerv):
3297         (gl::Context::getQueryParameterInfo):
3298         (gl::Context::applyRenderTarget):
3299         (gl::Context::applyState):
3300         (gl::Context::lookupAttributeMapping):
3301         (gl::Context::applyVertexBuffer):
3302         (gl::Context::applyIndexBuffer):
3303         (gl::Context::readPixels):
3304         (gl::Context::clear):
3305         (gl::Context::drawArrays):
3306         (gl::Context::drawElements):
3307         (gl::Context::finish):
3308         (gl::Context::drawClosingLine):
3309         (gl::Context::getMaximumVaryingVectors):
3310         (gl::Context::getMaximumFragmentUniformVectors):
3311         (gl::Context::supportsEventQueries):
3312         (gl::Context::supportsFloatTextures):
3313         (gl::Context::supportsFloatLinearFilter):
3314         (gl::Context::supportsFloatRenderableTextures):
3315         (gl::Context::supportsHalfFloatTextures):
3316         (gl::Context::supportsHalfFloatLinearFilter):
3317         (gl::Context::supportsHalfFloatRenderableTextures):
3318         (gl::Context::getMaximumRenderbufferDimension):
3319         (gl::Context::getMaximumTextureDimension):
3320         (gl::Context::getMaximumCubeTextureDimension):
3321         (gl::Context::getMaximumTextureLevel):
3322         (gl::Context::supportsLuminanceTextures):
3323         (gl::Context::supportsLuminanceAlphaTextures):
3324         (gl::Context::supports32bitIndices):
3325         (gl::Context::getIncompleteTexture):
3326         (gl::Context::setVertexAttrib):
3327         (gl::Context::initExtensionString):
3328         (gl::Context::blitFramebuffer):
3329         * src/libGLESv2/Context.h:
3330         (gl::VertexAttribute::VertexAttribute):
3331         (gl::VertexAttribute::typeSize):
3332         (gl::VertexAttribute::stride):
3333         * src/libGLESv2/Fence.cpp: Added.
3334         (gl::Fence::Fence):
3335         (gl::Fence::~Fence):
3336         (gl::Fence::isFence):
3337         (gl::Fence::setFence):
3338         (gl::Fence::testFence):
3339         (gl::Fence::finishFence):
3340         (gl::Fence::getFenceiv):
3341         * src/libGLESv2/Fence.h: Added.
3342         * src/libGLESv2/Framebuffer.cpp:
3343         (gl::Framebuffer::completeness):
3344         (gl::DefaultFramebuffer::DefaultFramebuffer):
3345         (gl::DefaultFramebuffer::completeness):
3346         * src/libGLESv2/Program.cpp:
3347         (gl::Program::Program):
3348         (gl::Program::getSamplerMapping):
3349         (gl::Program::getUniformLocation):
3350         (gl::Program::setUniform1iv):
3351         (gl::Program::applyUniforms):
3352         (gl::Program::packVaryings):
3353         (gl::Program::linkVaryings):
3354         (gl::Program::link):
3355         (gl::Program::defineUniform):
3356         (gl::Program::createUniform):
3357         (gl::Program::applyUniform1iv):
3358         (gl::Program::resetInfoLog):
3359         (gl::Program::unlink):
3360         (gl::Program::getActiveAttribute):
3361         (gl::Program::getActiveUniform):
3362         (gl::Program::getDxDepthRangeLocation):
3363         * src/libGLESv2/Program.h:
3364         * src/libGLESv2/RefCountObject.cpp:
3365         (gl::RefCountObject::~RefCountObject):
3366         * src/libGLESv2/Renderbuffer.cpp:
3367         (gl::RenderbufferStorage::RenderbufferStorage):
3368         (gl::RenderbufferStorage::isFloatingPoint):
3369         (gl::Colorbuffer::Colorbuffer):
3370         (gl::DepthStencilbuffer::DepthStencilbuffer):
3371         * src/libGLESv2/Renderbuffer.h:
3372         * src/libGLESv2/Shader.cpp:
3373         (gl::Shader::Shader):
3374         (gl::Shader::parseVaryings):
3375         (gl::Shader::compileToHLSL):
3376         (gl::VertexShader::parseAttributes):
3377         * src/libGLESv2/Texture.cpp:
3378         (gl::Texture::Texture):
3379         (gl::Texture::isFloatingPoint):
3380         (gl::Texture::isRenderableFormat):
3381         (gl::Texture::selectFormat):
3382         (gl::Texture::loadImageData):
3383         (gl::Texture::loadAlphaFloatImageData):
3384         (gl::Texture::loadAlphaHalfFloatImageData):
3385         (gl::Texture::loadLuminanceImageData):
3386         (gl::Texture::loadLuminanceFloatImageData):
3387         (gl::Texture::loadLuminanceHalfFloatImageData):
3388         (gl::Texture::loadLuminanceAlphaImageData):
3389         (gl::Texture::loadLuminanceAlphaFloatImageData):
3390         (gl::Texture::loadLuminanceAlphaHalfFloatImageData):
3391         (gl::Texture::loadRGBFloatImageData):
3392         (gl::Texture::loadRGBHalfFloatImageData):
3393         (gl::Texture::loadRGBAFloatImageData):
3394         (gl::Texture::loadRGBAHalfFloatImageData):
3395         (gl::Texture::createSurface):
3396         (gl::Texture::setImage):
3397         (gl::Texture::setCompressedImage):
3398         (gl::Texture::subImage):
3399         (gl::Texture::subImageCompressed):
3400         (gl::Texture::copyNonRenderable):
3401         (gl::Texture::getD3DFormat):
3402         (gl::Texture::isRenderable):
3403         (gl::Texture2D::Texture2D):
3404         (gl::Texture2D::~Texture2D):
3405         (gl::Texture2D::redefineTexture):
3406         (gl::Texture2D::setImage):
3407         (gl::Texture2D::setCompressedImage):
3408         (gl::Texture2D::copyImage):
3409         (gl::Texture2D::copySubImage):
3410         (gl::Texture2D::isComplete):
3411         (gl::Texture2D::createTexture):
3412         (gl::Texture2D::convertToRenderTarget):
3413         (gl::Texture2D::generateMipmaps):
3414         (gl::Texture2D::getColorbuffer):
3415         (gl::Texture2D::getRenderTarget):
3416         (gl::TextureCubeMap::TextureCubeMap):
3417         (gl::TextureCubeMap::~TextureCubeMap):
3418         (gl::TextureCubeMap::subImage):
3419         (gl::TextureCubeMap::subImageCompressed):
3420         (gl::TextureCubeMap::isComplete):
3421         (gl::TextureCubeMap::createTexture):
3422         (gl::TextureCubeMap::convertToRenderTarget):
3423         (gl::TextureCubeMap::redefineTexture):
3424         (gl::TextureCubeMap::copyImage):
3425         (gl::TextureCubeMap::copySubImage):
3426         (gl::TextureCubeMap::generateMipmaps):
3427         (gl::TextureCubeMap::getColorbuffer):
3428         (gl::TextureCubeMap::getRenderTarget):
3429         (gl::Texture::TextureColorbufferProxy::TextureColorbufferProxy):
3430         (gl::Texture::TextureColorbufferProxy::isFloatingPoint):
3431         * src/libGLESv2/Texture.h:
3432         * src/libGLESv2/geometry/IndexDataManager.cpp:
3433         (gl::IndexDataManager::IndexDataManager):