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