ce4ab286877f89269278dea10983f09467831648
[WebKit-https.git] / Source / ThirdParty / ANGLE / ChangeLog
1 2013-07-18  Alex Christensen  <achristensen@apple.com>
2
3         Added previously unincluded files from ANGLE r2426 with these exceptions:
4         No gyp files are included.  No WebKit ports use them.
5         ANGLE.sln is not included.  I will not use that.
6         translator_common and translator_hlsl projects and filters are not included.
7         I will need to make a customized translator  project that uses the GLSL translator instead of the HLSL.
8         https://bugs.webkit.org/show_bug.cgi?id=118833
9
10         Reviewed by Dean Jackson.
11
12         * src/compiler/builtin_symbols.json: Added.
13         * src/compiler/generate_builtin_symbol_table.py: Added.
14         (parseBuiltin):
15         * src/libEGL: Replaced.
16         * src/libEGL/Config.cpp: Added.
17         (egl::Config::Config):
18         (egl::Config::setDefaults):
19         (egl::Config::set):
20         (egl::Config::getHandle):
21         (egl::SortConfig::SortConfig):
22         (egl::SortConfig::scanForWantedComponents):
23         (egl::SortConfig::wantedComponentsSize):
24         (egl::SortConfig::operator()):
25         (egl::ConfigSet::ConfigSet):
26         (egl::ConfigSet::add):
27         (egl::ConfigSet::size):
28         (egl::ConfigSet::getConfigs):
29         (egl::ConfigSet::get):
30         * src/libEGL/Config.h: Added.
31         * src/libEGL/Display.cpp: Added.
32         (egl::Display::getDisplay):
33         (egl::Display::Display):
34         (egl::Display::~Display):
35         (egl::Display::initialize):
36         (egl::Display::terminate):
37         (egl::Display::startScene):
38         (egl::Display::endScene):
39         (egl::Display::getConfigs):
40         (egl::Display::getConfigAttrib):
41         (egl::Display::createDevice):
42         (egl::Display::initializeDevice):
43         (egl::Display::resetDevice):
44         (egl::Display::createWindowSurface):
45         (egl::Display::createOffscreenSurface):
46         (egl::Display::createContext):
47         (egl::Display::restoreLostDevice):
48         (egl::Display::destroySurface):
49         (egl::Display::destroyContext):
50         (egl::Display::notifyDeviceLost):
51         (egl::Display::isDeviceLost):
52         (egl::Display::isInitialized):
53         (egl::Display::isValidConfig):
54         (egl::Display::isValidContext):
55         (egl::Display::isValidSurface):
56         (egl::Display::hasExistingWindowSurface):
57         (egl::Display::getMinSwapInterval):
58         (egl::Display::getMaxSwapInterval):
59         (egl::Display::getDevice):
60         (egl::Display::getDeviceCaps):
61         (egl::Display::getAdapterIdentifier):
62         (egl::Display::testDeviceLost):
63         (egl::Display::testDeviceResettable):
64         (egl::Display::sync):
65         (egl::Display::allocateEventQuery):
66         (egl::Display::freeEventQuery):
67         (egl::Display::getMultiSampleSupport):
68         (egl::Display::getDXT1TextureSupport):
69         (egl::Display::getDXT3TextureSupport):
70         (egl::Display::getDXT5TextureSupport):
71         (egl::Display::getDepthTextureSupport):
72         (egl::Display::getFloat32TextureSupport):
73         (egl::Display::getFloat16TextureSupport):
74         (egl::Display::getLuminanceTextureSupport):
75         (egl::Display::getLuminanceAlphaTextureSupport):
76         (egl::Display::getTextureFilterAnisotropySupport):
77         (egl::Display::getBufferPool):
78         (egl::Display::getTexturePool):
79         (egl::Display::getEventQuerySupport):
80         (egl::Display::getDefaultPresentParameters):
81         (egl::Display::initExtensionString):
82         (egl::Display::getExtensionString):
83         (egl::Display::initVendorString):
84         (egl::Display::getVendorString):
85         (egl::Display::shareHandleSupported):
86         (egl::Display::createVertexShader):
87         (egl::Display::compileShaderSource):
88         (egl::Display::createPixelShader):
89         (egl::Display::getVertexTextureSupport):
90         (egl::Display::getNonPower2TextureSupport):
91         (egl::Display::getOcclusionQuerySupport):
92         (egl::Display::getInstancingSupport):
93         * src/libEGL/Display.h: Added.
94         (getComparableOSVersion):
95         (egl::Display::isD3d9ExDevice):
96         * src/libEGL/README: Removed.
97         * src/libEGL/ShaderCache.h: Added.
98         (egl::ShaderCache::ShaderCache):
99         (egl::ShaderCache::~ShaderCache):
100         (egl::ShaderCache::initialize):
101         (egl::ShaderCache::create):
102         (egl::ShaderCache::clear):
103         (egl::ShaderCache::createShader):
104         * src/libEGL/Surface.cpp: Added.
105         (egl::Surface::Surface):
106         (egl::Surface::~Surface):
107         (egl::Surface::initialize):
108         (egl::Surface::release):
109         (egl::Surface::resetSwapChain):
110         (egl::Surface::swapRect):
111         (egl::Surface::getWindowHandle):
112         (egl::SurfaceWindowProc):
113         (egl::Surface::subclassWindow):
114         (egl::Surface::unsubclassWindow):
115         (egl::Surface::checkForOutOfDateSwapChain):
116         (egl::Surface::convertInterval):
117         (egl::Surface::swap):
118         (egl::Surface::postSubBuffer):
119         (egl::Surface::getWidth):
120         (egl::Surface::getHeight):
121         (egl::Surface::isPostSubBufferSupported):
122         (egl::Surface::getRenderTarget):
123         (egl::Surface::getDepthStencil):
124         (egl::Surface::getOffscreenTexture):
125         (egl::Surface::setSwapInterval):
126         (egl::Surface::getTextureFormat):
127         (egl::Surface::getTextureTarget):
128         (egl::Surface::setBoundTexture):
129         (egl::Surface::getBoundTexture):
130         (egl::Surface::getFormat):
131         * src/libEGL/Surface.h: Added.
132         (egl::Surface::getShareHandle):
133         * src/libEGL/libEGL.cpp: Added.
134         (validateDisplay):
135         (validateConfig):
136         (validateContext):
137         (validateSurface):
138         * src/libEGL/libEGL.def: Added.
139         * src/libEGL/libEGL.rc: Added.
140         * src/libEGL/libEGL.vcxproj: Added.
141         * src/libEGL/libEGL.vcxproj.filters: Added.
142         * src/libEGL/main.cpp: Added.
143         (DllMain):
144         (egl::setCurrentError):
145         (egl::getCurrentError):
146         (egl::setCurrentAPI):
147         (egl::getCurrentAPI):
148         (egl::setCurrentDisplay):
149         (egl::getCurrentDisplay):
150         (egl::setCurrentDrawSurface):
151         (egl::getCurrentDrawSurface):
152         (egl::setCurrentReadSurface):
153         (egl::getCurrentReadSurface):
154         (error):
155         * src/libEGL/main.h: Added.
156         (error):
157         (success):
158         * src/libEGL/resource.h: Added.
159         * src/libGLESv2: Replaced.
160         * src/libGLESv2/BinaryStream.h: Added.
161         (gl::BinaryInputStream::BinaryInputStream):
162         (gl::BinaryInputStream::read):
163         (gl::BinaryInputStream::skip):
164         (gl::BinaryInputStream::offset):
165         (gl::BinaryInputStream::error):
166         (gl::BinaryInputStream::endOfStream):
167         (gl::BinaryOutputStream::BinaryOutputStream):
168         (gl::BinaryOutputStream::write):
169         (gl::BinaryOutputStream::length):
170         (gl::BinaryOutputStream::data):
171         * src/libGLESv2/Blit.cpp: Added.
172         (gl::Blit::Blit):
173         (gl::Blit::~Blit):
174         (gl::Blit::initGeometry):
175         (gl::Blit::setShader):
176         (gl::Blit::setVertexShader):
177         (gl::Blit::setPixelShader):
178         (gl::Blit::getSurfaceRect):
179         (gl::Blit::boxFilter):
180         (gl::Blit::copy):
181         (gl::Blit::formatConvert):
182         (gl::Blit::setFormatConvertShaders):
183         (gl::Blit::copySurfaceToTexture):
184         (gl::Blit::setViewport):
185         (gl::Blit::setCommonBlitState):
186         (gl::Blit::render):
187         (gl::Blit::saveState):
188         (gl::Blit::restoreState):
189         * src/libGLESv2/Blit.h: Added.
190         * src/libGLESv2/Buffer.cpp: Added.
191         (gl::Buffer::Buffer):
192         (gl::Buffer::~Buffer):
193         (gl::Buffer::bufferData):
194         (gl::Buffer::bufferSubData):
195         (gl::Buffer::getStaticVertexBuffer):
196         (gl::Buffer::getStaticIndexBuffer):
197         (gl::Buffer::invalidateStaticData):
198         (gl::Buffer::promoteStaticUsage):
199         * src/libGLESv2/Buffer.h: Added.
200         (gl::Buffer::data):
201         (gl::Buffer::size):
202         (gl::Buffer::usage):
203         * src/libGLESv2/Context.cpp: Added.
204         (gl::makeStaticString):
205         (gl::Context::Context):
206         (gl::Context::~Context):
207         (gl::Context::makeCurrent):
208         (gl::Context::markAllStateDirty):
209         (gl::Context::markDxUniformsDirty):
210         (gl::Context::markContextLost):
211         (gl::Context::isContextLost):
212         (gl::Context::setClearColor):
213         (gl::Context::setClearDepth):
214         (gl::Context::setClearStencil):
215         (gl::Context::setCullFace):
216         (gl::Context::isCullFaceEnabled):
217         (gl::Context::setCullMode):
218         (gl::Context::setFrontFace):
219         (gl::Context::setDepthTest):
220         (gl::Context::isDepthTestEnabled):
221         (gl::Context::setDepthFunc):
222         (gl::Context::setDepthRange):
223         (gl::Context::setBlend):
224         (gl::Context::isBlendEnabled):
225         (gl::Context::setBlendFactors):
226         (gl::Context::setBlendColor):
227         (gl::Context::setBlendEquation):
228         (gl::Context::setStencilTest):
229         (gl::Context::isStencilTestEnabled):
230         (gl::Context::setStencilParams):
231         (gl::Context::setStencilBackParams):
232         (gl::Context::setStencilWritemask):
233         (gl::Context::setStencilBackWritemask):
234         (gl::Context::setStencilOperations):
235         (gl::Context::setStencilBackOperations):
236         (gl::Context::setPolygonOffsetFill):
237         (gl::Context::isPolygonOffsetFillEnabled):
238         (gl::Context::setPolygonOffsetParams):
239         (gl::Context::setSampleAlphaToCoverage):
240         (gl::Context::isSampleAlphaToCoverageEnabled):
241         (gl::Context::setSampleCoverage):
242         (gl::Context::isSampleCoverageEnabled):
243         (gl::Context::setSampleCoverageParams):
244         (gl::Context::setScissorTest):
245         (gl::Context::isScissorTestEnabled):
246         (gl::Context::setDither):
247         (gl::Context::isDitherEnabled):
248         (gl::Context::setLineWidth):
249         (gl::Context::setGenerateMipmapHint):
250         (gl::Context::setFragmentShaderDerivativeHint):
251         (gl::Context::setViewportParams):
252         (gl::Context::setScissorParams):
253         (gl::Context::setColorMask):
254         (gl::Context::setDepthMask):
255         (gl::Context::setActiveSampler):
256         (gl::Context::getReadFramebufferHandle):
257         (gl::Context::getDrawFramebufferHandle):
258         (gl::Context::getRenderbufferHandle):
259         (gl::Context::getArrayBufferHandle):
260         (gl::Context::getActiveQuery):
261         (gl::Context::setEnableVertexAttribArray):
262         (gl::Context::getVertexAttribState):
263         (gl::Context::setVertexAttribState):
264         (gl::Context::getVertexAttribPointer):
265         (gl::Context::getVertexAttributes):
266         (gl::Context::setPackAlignment):
267         (gl::Context::getPackAlignment):
268         (gl::Context::setUnpackAlignment):
269         (gl::Context::getUnpackAlignment):
270         (gl::Context::setPackReverseRowOrder):
271         (gl::Context::getPackReverseRowOrder):
272         (gl::Context::createBuffer):
273         (gl::Context::createProgram):
274         (gl::Context::createShader):
275         (gl::Context::createTexture):
276         (gl::Context::createRenderbuffer):
277         (gl::Context::createFramebuffer):
278         (gl::Context::createFence):
279         (gl::Context::createQuery):
280         (gl::Context::deleteBuffer):
281         (gl::Context::deleteShader):
282         (gl::Context::deleteProgram):
283         (gl::Context::deleteTexture):
284         (gl::Context::deleteRenderbuffer):
285         (gl::Context::deleteFramebuffer):
286         (gl::Context::deleteFence):
287         (gl::Context::deleteQuery):
288         (gl::Context::getBuffer):
289         (gl::Context::getShader):
290         (gl::Context::getProgram):
291         (gl::Context::getTexture):
292         (gl::Context::getRenderbuffer):
293         (gl::Context::getReadFramebuffer):
294         (gl::Context::getDrawFramebuffer):
295         (gl::Context::bindArrayBuffer):
296         (gl::Context::bindElementArrayBuffer):
297         (gl::Context::bindTexture2D):
298         (gl::Context::bindTextureCubeMap):
299         (gl::Context::bindReadFramebuffer):
300         (gl::Context::bindDrawFramebuffer):
301         (gl::Context::bindRenderbuffer):
302         (gl::Context::useProgram):
303         (gl::Context::linkProgram):
304         (gl::Context::setProgramBinary):
305         (gl::Context::beginQuery):
306         (gl::Context::endQuery):
307         (gl::Context::setFramebufferZero):
308         (gl::Context::setRenderbufferStorage):
309         (gl::Context::getFramebuffer):
310         (gl::Context::getFence):
311         (gl::Context::getQuery):
312         (gl::Context::getArrayBuffer):
313         (gl::Context::getElementArrayBuffer):
314         (gl::Context::getCurrentProgramBinary):
315         (gl::Context::getTexture2D):
316         (gl::Context::getTextureCubeMap):
317         (gl::Context::getSamplerTexture):
318         (gl::Context::getBooleanv):
319         (gl::Context::getFloatv):
320         (gl::Context::getIntegerv):
321         (gl::Context::getQueryParameterInfo):
322         (gl::Context::applyRenderTarget):
323         (gl::Context::applyState):
324         (gl::Context::applyVertexBuffer):
325         (gl::Context::applyIndexBuffer):
326         (gl::Context::applyShaders):
327         (gl::Context::applyTextures):
328         (gl::Context::readPixels):
329         (gl::Context::clear):
330         (gl::Context::drawArrays):
331         (gl::Context::drawElements):
332         (gl::Context::sync):
333         (gl::Context::drawLineLoop):
334         (gl::Context::recordInvalidEnum):
335         (gl::Context::recordInvalidValue):
336         (gl::Context::recordInvalidOperation):
337         (gl::Context::recordOutOfMemory):
338         (gl::Context::recordInvalidFramebufferOperation):
339         (gl::Context::getError):
340         (gl::Context::getResetStatus):
341         (gl::Context::isResetNotificationEnabled):
342         (gl::Context::supportsShaderModel3):
343         (gl::Context::getMaximumPointSize):
344         (gl::Context::getMaximumVaryingVectors):
345         (gl::Context::getMaximumVertexTextureImageUnits):
346         (gl::Context::getMaximumCombinedTextureImageUnits):
347         (gl::Context::getMaximumFragmentUniformVectors):
348         (gl::Context::getMaxSupportedSamples):
349         (gl::Context::getNearestSupportedSamples):
350         (gl::Context::supportsEventQueries):
351         (gl::Context::supportsOcclusionQueries):
352         (gl::Context::supportsDXT1Textures):
353         (gl::Context::supportsDXT3Textures):
354         (gl::Context::supportsDXT5Textures):
355         (gl::Context::supportsFloat32Textures):
356         (gl::Context::supportsFloat32LinearFilter):
357         (gl::Context::supportsFloat32RenderableTextures):
358         (gl::Context::supportsFloat16Textures):
359         (gl::Context::supportsFloat16LinearFilter):
360         (gl::Context::supportsFloat16RenderableTextures):
361         (gl::Context::getMaximumRenderbufferDimension):
362         (gl::Context::getMaximumTextureDimension):
363         (gl::Context::getMaximumCubeTextureDimension):
364         (gl::Context::getMaximumTextureLevel):
365         (gl::Context::supportsLuminanceTextures):
366         (gl::Context::supportsLuminanceAlphaTextures):
367         (gl::Context::supportsDepthTextures):
368         (gl::Context::supports32bitIndices):
369         (gl::Context::supportsNonPower2Texture):
370         (gl::Context::supportsInstancing):
371         (gl::Context::supportsTextureFilterAnisotropy):
372         (gl::Context::supportsDerivativeInstructions):
373         (gl::Context::getTextureMaxAnisotropy):
374         (gl::Context::getCurrentReadFormatType):
375         (gl::Context::detachBuffer):
376         (gl::Context::detachTexture):
377         (gl::Context::detachFramebuffer):
378         (gl::Context::detachRenderbuffer):
379         (gl::Context::getIncompleteTexture):
380         (gl::Context::skipDraw):
381         (gl::Context::isTriangleMode):
382         (gl::Context::setVertexAttrib):
383         (gl::Context::setVertexAttribDivisor):
384         (gl::Context::initExtensionString):
385         (gl::Context::getExtensionString):
386         (gl::Context::initRendererString):
387         (gl::Context::getRendererString):
388         (gl::Context::blitFramebuffer):
389         (gl::VertexDeclarationCache::VertexDeclarationCache):
390         (gl::VertexDeclarationCache::~VertexDeclarationCache):
391         (gl::VertexDeclarationCache::applyDeclaration):
392         (gl::VertexDeclarationCache::markStateDirty):
393         * src/libGLESv2/Context.h: Added.
394         (gl::VertexAttribute::VertexAttribute):
395         (gl::VertexAttribute::typeSize):
396         (gl::VertexAttribute::stride):
397         (gl::Context::getBlitter):
398         (gl::Context::getDeviceCaps):
399         * src/libGLESv2/D3DConstantTable.cpp: Added.
400         (gl::D3DConstant::D3DConstant):
401         (gl::D3DConstant::~D3DConstant):
402         (gl::D3DConstant::addStructMembers):
403         (gl::D3DConstantTable::D3DConstantTable):
404         (gl::D3DConstantTable::~D3DConstantTable):
405         (gl::D3DConstantTable::getConstant):
406         (gl::D3DConstantTable::getConstantByName):
407         * src/libGLESv2/D3DConstantTable.h: Added.
408         (gl::D3DConstantTable::error):
409         (gl::D3DConstantTable::constants):
410         * src/libGLESv2/Fence.cpp: Added.
411         (gl::Fence::Fence):
412         (gl::Fence::~Fence):
413         (gl::Fence::isFence):
414         (gl::Fence::setFence):
415         (gl::Fence::testFence):
416         (gl::Fence::finishFence):
417         (gl::Fence::getFenceiv):
418         * src/libGLESv2/Fence.h: Added.
419         * src/libGLESv2/Float16ToFloat32.cpp: Added.
420         (gl::float16ToFloat32):
421         * src/libGLESv2/Float16ToFloat32.py: Added.
422         (convertMantissa):
423         (convertExponent):
424         (convertOffset):
425         * src/libGLESv2/Framebuffer.cpp: Added.
426         (gl::Framebuffer::Framebuffer):
427         (gl::Framebuffer::~Framebuffer):
428         (gl::Framebuffer::lookupRenderbuffer):
429         (gl::Framebuffer::setColorbuffer):
430         (gl::Framebuffer::setDepthbuffer):
431         (gl::Framebuffer::setStencilbuffer):
432         (gl::Framebuffer::detachTexture):
433         (gl::Framebuffer::detachRenderbuffer):
434         (gl::Framebuffer::getRenderTargetSerial):
435         (gl::Framebuffer::getRenderTarget):
436         (gl::Framebuffer::getDepthStencil):
437         (gl::Framebuffer::getDepthbufferSerial):
438         (gl::Framebuffer::getStencilbufferSerial):
439         (gl::Framebuffer::getColorbuffer):
440         (gl::Framebuffer::getDepthbuffer):
441         (gl::Framebuffer::getStencilbuffer):
442         (gl::Framebuffer::getNullColorbuffer):
443         (gl::Framebuffer::getColorbufferType):
444         (gl::Framebuffer::getDepthbufferType):
445         (gl::Framebuffer::getStencilbufferType):
446         (gl::Framebuffer::getColorbufferHandle):
447         (gl::Framebuffer::getDepthbufferHandle):
448         (gl::Framebuffer::getStencilbufferHandle):
449         (gl::Framebuffer::hasStencil):
450         (gl::Framebuffer::completeness):
451         (gl::DefaultFramebuffer::DefaultFramebuffer):
452         (gl::Framebuffer::getSamples):
453         (gl::DefaultFramebuffer::completeness):
454         * src/libGLESv2/Framebuffer.h: Added.
455         * src/libGLESv2/HandleAllocator.cpp: Added.
456         (gl::HandleAllocator::HandleAllocator):
457         (gl::HandleAllocator::~HandleAllocator):
458         (gl::HandleAllocator::setBaseHandle):
459         (gl::HandleAllocator::allocate):
460         (gl::HandleAllocator::release):
461         * src/libGLESv2/HandleAllocator.h: Added.
462         * src/libGLESv2/IndexDataManager.cpp: Added.
463         (gl::IndexDataManager::IndexDataManager):
464         (gl::IndexDataManager::~IndexDataManager):
465         (gl::convertIndices):
466         (gl::computeRange):
467         (gl::IndexDataManager::prepareIndexData):
468         (gl::IndexDataManager::indexSize):
469         (gl::IndexDataManager::typeSize):
470         (gl::IndexDataManager::getCountingIndices):
471         (gl::IndexBuffer::IndexBuffer):
472         (gl::IndexBuffer::~IndexBuffer):
473         (gl::IndexBuffer::getBuffer):
474         (gl::IndexBuffer::getSerial):
475         (gl::IndexBuffer::issueSerial):
476         (gl::IndexBuffer::unmap):
477         (gl::StreamingIndexBuffer::StreamingIndexBuffer):
478         (gl::StreamingIndexBuffer::~StreamingIndexBuffer):
479         (gl::StreamingIndexBuffer::map):
480         (gl::StreamingIndexBuffer::reserveSpace):
481         (gl::StaticIndexBuffer::StaticIndexBuffer):
482         (gl::StaticIndexBuffer::~StaticIndexBuffer):
483         (gl::StaticIndexBuffer::map):
484         (gl::StaticIndexBuffer::reserveSpace):
485         (gl::StaticIndexBuffer::lookupType):
486         (gl::StaticIndexBuffer::lookupRange):
487         (gl::StaticIndexBuffer::addRange):
488         * src/libGLESv2/IndexDataManager.h: Added.
489         (gl::IndexBuffer::size):
490         (gl::StaticIndexBuffer::IndexRange::operator<):
491         * src/libGLESv2/Program.cpp: Added.
492         (gl::AttributeBindings::AttributeBindings):
493         (gl::AttributeBindings::~AttributeBindings):
494         (gl::InfoLog::InfoLog):
495         (gl::InfoLog::~InfoLog):
496         (gl::InfoLog::getLength):
497         (gl::InfoLog::getLog):
498         (gl::InfoLog::appendSanitized):
499         (gl::InfoLog::append):
500         (gl::InfoLog::reset):
501         (gl::Program::Program):
502         (gl::Program::~Program):
503         (gl::Program::attachShader):
504         (gl::Program::detachShader):
505         (gl::Program::getAttachedShadersCount):
506         (gl::AttributeBindings::bindAttributeLocation):
507         (gl::Program::bindAttributeLocation):
508         (gl::Program::link):
509         (gl::AttributeBindings::getAttributeBinding):
510         (gl::Program::unlink):
511         (gl::Program::isLinked):
512         (gl::Program::getProgramBinary):
513         (gl::Program::setProgramBinary):
514         (gl::Program::release):
515         (gl::Program::addRef):
516         (gl::Program::getRefCount):
517         (gl::Program::getProgramBinaryLength):
518         (gl::Program::getInfoLogLength):
519         (gl::Program::getInfoLog):
520         (gl::Program::getAttachedShaders):
521         (gl::Program::getActiveAttribute):
522         (gl::Program::getActiveAttributeCount):
523         (gl::Program::getActiveAttributeMaxLength):
524         (gl::Program::getActiveUniform):
525         (gl::Program::getActiveUniformCount):
526         (gl::Program::getActiveUniformMaxLength):
527         (gl::Program::flagForDeletion):
528         (gl::Program::isFlaggedForDeletion):
529         (gl::Program::validate):
530         (gl::Program::isValidated):
531         * src/libGLESv2/Program.h: Added.
532         * src/libGLESv2/ProgramBinary.cpp: Added.
533         (gl::str):
534         (gl::Uniform::Uniform):
535         (gl::Uniform::~Uniform):
536         (gl::Uniform::isArray):
537         (gl::UniformLocation::UniformLocation):
538         (gl::ProgramBinary::ProgramBinary):
539         (gl::ProgramBinary::~ProgramBinary):
540         (gl::ProgramBinary::getSerial):
541         (gl::ProgramBinary::issueSerial):
542         (gl::ProgramBinary::getPixelShader):
543         (gl::ProgramBinary::getVertexShader):
544         (gl::ProgramBinary::getAttributeLocation):
545         (gl::ProgramBinary::getSemanticIndex):
546         (gl::ProgramBinary::getUsedSamplerRange):
547         (gl::ProgramBinary::usesPointSize):
548         (gl::ProgramBinary::getSamplerMapping):
549         (gl::ProgramBinary::getSamplerTextureType):
550         (gl::ProgramBinary::getUniformLocation):
551         (gl::ProgramBinary::setUniform1fv):
552         (gl::ProgramBinary::setUniform2fv):
553         (gl::ProgramBinary::setUniform3fv):
554         (gl::ProgramBinary::setUniform4fv):
555         (gl::transposeMatrix):
556         (gl::ProgramBinary::setUniformMatrix2fv):
557         (gl::ProgramBinary::setUniformMatrix3fv):
558         (gl::ProgramBinary::setUniformMatrix4fv):
559         (gl::ProgramBinary::setUniform1iv):
560         (gl::ProgramBinary::setUniform2iv):
561         (gl::ProgramBinary::setUniform3iv):
562         (gl::ProgramBinary::setUniform4iv):
563         (gl::ProgramBinary::getUniformfv):
564         (gl::ProgramBinary::getUniformiv):
565         (gl::ProgramBinary::dirtyAllUniforms):
566         (gl::ProgramBinary::applyUniforms):
567         (gl::ProgramBinary::compileToBinary):
568         (gl::ProgramBinary::packVaryings):
569         (gl::ProgramBinary::linkVaryings):
570         (gl::ProgramBinary::load):
571         (gl::ProgramBinary::save):
572         (gl::ProgramBinary::getLength):
573         (gl::ProgramBinary::link):
574         (gl::ProgramBinary::linkAttributes):
575         (gl::ProgramBinary::linkUniforms):
576         (gl::ProgramBinary::defineUniform):
577         (gl::ProgramBinary::createUniform):
578         (gl::ProgramBinary::decorateAttribute):
579         (gl::ProgramBinary::undecorateUniform):
580         (gl::ProgramBinary::applyUniformnbv):
581         (gl::ProgramBinary::applyUniformnfv):
582         (gl::ProgramBinary::applyUniform1iv):
583         (gl::ProgramBinary::applyUniform2iv):
584         (gl::ProgramBinary::applyUniform3iv):
585         (gl::ProgramBinary::applyUniform4iv):
586         (gl::ProgramBinary::applyUniformniv):
587         (gl::ProgramBinary::isValidated):
588         (gl::ProgramBinary::getActiveAttribute):
589         (gl::ProgramBinary::getActiveAttributeCount):
590         (gl::ProgramBinary::getActiveAttributeMaxLength):
591         (gl::ProgramBinary::getActiveUniform):
592         (gl::ProgramBinary::getActiveUniformCount):
593         (gl::ProgramBinary::getActiveUniformMaxLength):
594         (gl::ProgramBinary::validate):
595         (gl::ProgramBinary::validateSamplers):
596         (gl::ProgramBinary::getDxDepthRangeLocation):
597         (gl::ProgramBinary::getDxDepthLocation):
598         (gl::ProgramBinary::getDxCoordLocation):
599         (gl::ProgramBinary::getDxHalfPixelSizeLocation):
600         (gl::ProgramBinary::getDxFrontCCWLocation):
601         (gl::ProgramBinary::getDxPointsOrLinesLocation):
602         (gl::ProgramBinary::Sampler::Sampler):
603         * src/libGLESv2/ProgramBinary.h: Added.
604         (gl::Uniform::RegisterInfo::RegisterInfo):
605         (gl::Uniform::RegisterInfo::set):
606         (gl::UniformLocation::UniformLocation):
607         * src/libGLESv2/Query.cpp: Added.
608         (gl::Query::Query):
609         (gl::Query::~Query):
610         (gl::Query::begin):
611         (gl::Query::end):
612         (gl::Query::getResult):
613         (gl::Query::isResultAvailable):
614         (gl::Query::getType):
615         (gl::Query::testQuery):
616         * src/libGLESv2/Query.h: Added.
617         * src/libGLESv2/README: Removed.
618         * src/libGLESv2/Renderbuffer.cpp: Added.
619         (gl::RenderbufferInterface::RenderbufferInterface):
620         (gl::RenderbufferInterface::addProxyRef):
621         (gl::RenderbufferInterface::releaseProxy):
622         (gl::RenderbufferInterface::getRedSize):
623         (gl::RenderbufferInterface::getGreenSize):
624         (gl::RenderbufferInterface::getBlueSize):
625         (gl::RenderbufferInterface::getAlphaSize):
626         (gl::RenderbufferInterface::getDepthSize):
627         (gl::RenderbufferInterface::getStencilSize):
628         (gl::RenderbufferTexture2D::RenderbufferTexture2D):
629         (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
630         (gl::RenderbufferTexture2D::addProxyRef):
631         (gl::RenderbufferTexture2D::releaseProxy):
632         (gl::RenderbufferTexture2D::getRenderTarget):
633         (gl::RenderbufferTexture2D::getDepthStencil):
634         (gl::RenderbufferTexture2D::getWidth):
635         (gl::RenderbufferTexture2D::getHeight):
636         (gl::RenderbufferTexture2D::getInternalFormat):
637         (gl::RenderbufferTexture2D::getD3DFormat):
638         (gl::RenderbufferTexture2D::getSamples):
639         (gl::RenderbufferTexture2D::getSerial):
640         (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
641         (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
642         (gl::RenderbufferTextureCubeMap::addProxyRef):
643         (gl::RenderbufferTextureCubeMap::releaseProxy):
644         (gl::RenderbufferTextureCubeMap::getRenderTarget):
645         (gl::RenderbufferTextureCubeMap::getDepthStencil):
646         (gl::RenderbufferTextureCubeMap::getWidth):
647         (gl::RenderbufferTextureCubeMap::getHeight):
648         (gl::RenderbufferTextureCubeMap::getInternalFormat):
649         (gl::RenderbufferTextureCubeMap::getD3DFormat):
650         (gl::RenderbufferTextureCubeMap::getSamples):
651         (gl::RenderbufferTextureCubeMap::getSerial):
652         (gl::Renderbuffer::Renderbuffer):
653         (gl::Renderbuffer::~Renderbuffer):
654         (gl::Renderbuffer::addRef):
655         (gl::Renderbuffer::release):
656         (gl::Renderbuffer::getRenderTarget):
657         (gl::Renderbuffer::getDepthStencil):
658         (gl::Renderbuffer::getWidth):
659         (gl::Renderbuffer::getHeight):
660         (gl::Renderbuffer::getInternalFormat):
661         (gl::Renderbuffer::getD3DFormat):
662         (gl::Renderbuffer::getRedSize):
663         (gl::Renderbuffer::getGreenSize):
664         (gl::Renderbuffer::getBlueSize):
665         (gl::Renderbuffer::getAlphaSize):
666         (gl::Renderbuffer::getDepthSize):
667         (gl::Renderbuffer::getStencilSize):
668         (gl::Renderbuffer::getSamples):
669         (gl::Renderbuffer::getSerial):
670         (gl::Renderbuffer::setStorage):
671         (gl::RenderbufferStorage::RenderbufferStorage):
672         (gl::RenderbufferStorage::~RenderbufferStorage):
673         (gl::RenderbufferStorage::getRenderTarget):
674         (gl::RenderbufferStorage::getDepthStencil):
675         (gl::RenderbufferStorage::getWidth):
676         (gl::RenderbufferStorage::getHeight):
677         (gl::RenderbufferStorage::getInternalFormat):
678         (gl::RenderbufferStorage::getD3DFormat):
679         (gl::RenderbufferStorage::getSamples):
680         (gl::RenderbufferStorage::getSerial):
681         (gl::RenderbufferStorage::issueSerial):
682         (gl::RenderbufferStorage::issueCubeSerials):
683         (gl::Colorbuffer::Colorbuffer):
684         (gl::Colorbuffer::~Colorbuffer):
685         (gl::Colorbuffer::getRenderTarget):
686         (gl::DepthStencilbuffer::DepthStencilbuffer):
687         (gl::DepthStencilbuffer::~DepthStencilbuffer):
688         (gl::DepthStencilbuffer::getDepthStencil):
689         (gl::Depthbuffer::Depthbuffer):
690         (gl::Depthbuffer::~Depthbuffer):
691         (gl::Stencilbuffer::Stencilbuffer):
692         (gl::Stencilbuffer::~Stencilbuffer):
693         * src/libGLESv2/Renderbuffer.h: Added.
694         (gl::RenderbufferInterface::~RenderbufferInterface):
695         * src/libGLESv2/ResourceManager.cpp: Added.
696         (gl::ResourceManager::ResourceManager):
697         (gl::ResourceManager::~ResourceManager):
698         (gl::ResourceManager::addRef):
699         (gl::ResourceManager::release):
700         (gl::ResourceManager::createBuffer):
701         (gl::ResourceManager::createShader):
702         (gl::ResourceManager::createProgram):
703         (gl::ResourceManager::createTexture):
704         (gl::ResourceManager::createRenderbuffer):
705         (gl::ResourceManager::deleteBuffer):
706         (gl::ResourceManager::deleteShader):
707         (gl::ResourceManager::deleteProgram):
708         (gl::ResourceManager::deleteTexture):
709         (gl::ResourceManager::deleteRenderbuffer):
710         (gl::ResourceManager::getBuffer):
711         (gl::ResourceManager::getShader):
712         (gl::ResourceManager::getTexture):
713         (gl::ResourceManager::getProgram):
714         (gl::ResourceManager::getRenderbuffer):
715         (gl::ResourceManager::setRenderbuffer):
716         (gl::ResourceManager::checkBufferAllocation):
717         (gl::ResourceManager::checkTextureAllocation):
718         (gl::ResourceManager::checkRenderbufferAllocation):
719         * src/libGLESv2/ResourceManager.h: Added.
720         * src/libGLESv2/Shader.cpp: Added.
721         (gl::Shader::Shader):
722         (gl::Shader::~Shader):
723         (gl::Shader::getHandle):
724         (gl::Shader::setSource):
725         (gl::Shader::getInfoLogLength):
726         (gl::Shader::getInfoLog):
727         (gl::Shader::getSourceLength):
728         (gl::Shader::getTranslatedSourceLength):
729         (gl::Shader::getSourceImpl):
730         (gl::Shader::getSource):
731         (gl::Shader::getTranslatedSource):
732         (gl::Shader::isCompiled):
733         (gl::Shader::getHLSL):
734         (gl::Shader::addRef):
735         (gl::Shader::release):
736         (gl::Shader::getRefCount):
737         (gl::Shader::isFlaggedForDeletion):
738         (gl::Shader::flagForDeletion):
739         (gl::Shader::initializeCompiler):
740         (gl::Shader::releaseCompiler):
741         (gl::Shader::parseVaryings):
742         (gl::Shader::uncompile):
743         (gl::Shader::compileToHLSL):
744         (gl::Shader::parseType):
745         (gl::Shader::compareVarying):
746         (gl::VertexShader::VertexShader):
747         (gl::VertexShader::~VertexShader):
748         (gl::VertexShader::getType):
749         (gl::VertexShader::uncompile):
750         (gl::VertexShader::compile):
751         (gl::VertexShader::getSemanticIndex):
752         (gl::VertexShader::parseAttributes):
753         (gl::FragmentShader::FragmentShader):
754         (gl::FragmentShader::~FragmentShader):
755         (gl::FragmentShader::getType):
756         (gl::FragmentShader::compile):
757         * src/libGLESv2/Shader.h: Added.
758         (gl::Varying::Varying):
759         (gl::Attribute::Attribute):
760         * src/libGLESv2/Texture.cpp: Added.
761         (gl::ConvertTextureInternalFormat):
762         (gl::IsTextureFormatRenderable):
763         (gl::GetTextureUsage):
764         (gl::MakeValidSize):
765         (gl::CopyLockableSurfaces):
766         (gl::Image::Image):
767         (gl::Image::~Image):
768         (gl::Image::redefine):
769         (gl::Image::createSurface):
770         (gl::Image::lock):
771         (gl::Image::unlock):
772         (gl::Image::isRenderableFormat):
773         (gl::Image::getD3DFormat):
774         (gl::Image::getSurface):
775         (gl::Image::setManagedSurface):
776         (gl::Image::updateSurface):
777         (gl::Image::loadData):
778         (gl::Image::loadAlphaData):
779         (gl::Image::loadAlphaFloatData):
780         (gl::Image::loadAlphaHalfFloatData):
781         (gl::Image::loadLuminanceData):
782         (gl::Image::loadLuminanceFloatData):
783         (gl::Image::loadLuminanceHalfFloatData):
784         (gl::Image::loadLuminanceAlphaData):
785         (gl::Image::loadLuminanceAlphaFloatData):
786         (gl::Image::loadLuminanceAlphaHalfFloatData):
787         (gl::Image::loadRGBUByteData):
788         (gl::Image::loadRGB565Data):
789         (gl::Image::loadRGBFloatData):
790         (gl::Image::loadRGBHalfFloatData):
791         (gl::Image::loadRGBAUByteData):
792         (gl::Image::loadRGBA4444Data):
793         (gl::Image::loadRGBA5551Data):
794         (gl::Image::loadRGBAFloatData):
795         (gl::Image::loadRGBAHalfFloatData):
796         (gl::Image::loadBGRAData):
797         (gl::Image::loadCompressedData):
798         (gl::Image::copy):
799         (gl::TextureStorage::TextureStorage):
800         (gl::TextureStorage::~TextureStorage):
801         (gl::TextureStorage::isRenderTarget):
802         (gl::TextureStorage::isManaged):
803         (gl::TextureStorage::getPool):
804         (gl::TextureStorage::getUsage):
805         (gl::TextureStorage::getTextureSerial):
806         (gl::TextureStorage::issueTextureSerial):
807         (gl::TextureStorage::getLodOffset):
808         (gl::Texture::Texture):
809         (gl::Texture::~Texture):
810         (gl::Texture::setMinFilter):
811         (gl::Texture::setMagFilter):
812         (gl::Texture::setWrapS):
813         (gl::Texture::setWrapT):
814         (gl::Texture::setMaxAnisotropy):
815         (gl::Texture::setUsage):
816         (gl::Texture::getMinFilter):
817         (gl::Texture::getMagFilter):
818         (gl::Texture::getWrapS):
819         (gl::Texture::getWrapT):
820         (gl::Texture::getMaxAnisotropy):
821         (gl::Texture::getUsage):
822         (gl::Texture::isMipmapFiltered):
823         (gl::Texture::setImage):
824         (gl::Texture::setCompressedImage):
825         (gl::Texture::subImage):
826         (gl::Texture::subImageCompressed):
827         (gl::Texture::getTexture):
828         (gl::Texture::hasDirtyParameters):
829         (gl::Texture::hasDirtyImages):
830         (gl::Texture::resetDirty):
831         (gl::Texture::getTextureSerial):
832         (gl::Texture::getRenderTargetSerial):
833         (gl::Texture::isImmutable):
834         (gl::Texture::getLodOffset):
835         (gl::Texture::creationLevels):
836         (gl::Texture::levelCount):
837         (gl::Texture::getBlitter):
838         (gl::Texture::copyToRenderTarget):
839         (gl::TextureStorage2D::TextureStorage2D):
840         (gl::TextureStorage2D::~TextureStorage2D):
841         (gl::TextureStorage2D::getSurfaceLevel):
842         (gl::TextureStorage2D::getBaseTexture):
843         (gl::TextureStorage2D::getRenderTargetSerial):
844         (gl::Texture2D::Texture2D):
845         (gl::Texture2D::~Texture2D):
846         (gl::Texture2D::addProxyRef):
847         (gl::Texture2D::releaseProxy):
848         (gl::Texture2D::getTarget):
849         (gl::Texture2D::getWidth):
850         (gl::Texture2D::getHeight):
851         (gl::Texture2D::getInternalFormat):
852         (gl::Texture2D::getD3DFormat):
853         (gl::Texture2D::redefineImage):
854         (gl::Texture2D::setImage):
855         (gl::Texture2D::bindTexImage):
856         (gl::Texture2D::releaseTexImage):
857         (gl::Texture2D::setCompressedImage):
858         (gl::Texture2D::commitRect):
859         (gl::Texture2D::subImage):
860         (gl::Texture2D::subImageCompressed):
861         (gl::Texture2D::copyImage):
862         (gl::Texture2D::copySubImage):
863         (gl::Texture2D::storage):
864         (gl::Texture2D::isSamplerComplete):
865         (gl::Texture2D::isMipmapComplete):
866         (gl::Texture2D::isCompressed):
867         (gl::Texture2D::isDepth):
868         (gl::Texture2D::getBaseTexture):
869         (gl::Texture2D::createTexture):
870         (gl::Texture2D::updateTexture):
871         (gl::Texture2D::convertToRenderTarget):
872         (gl::Texture2D::generateMipmaps):
873         (gl::Texture2D::getRenderbuffer):
874         (gl::Texture2D::getRenderTarget):
875         (gl::Texture2D::getDepthStencil):
876         (gl::Texture2D::getStorage):
877         (gl::TextureStorageCubeMap::TextureStorageCubeMap):
878         (gl::TextureStorageCubeMap::~TextureStorageCubeMap):
879         (gl::TextureStorageCubeMap::getCubeMapSurface):
880         (gl::TextureStorageCubeMap::getBaseTexture):
881         (gl::TextureStorageCubeMap::getRenderTargetSerial):
882         (gl::TextureCubeMap::TextureCubeMap):
883         (gl::TextureCubeMap::~TextureCubeMap):
884         (gl::TextureCubeMap::addProxyRef):
885         (gl::TextureCubeMap::releaseProxy):
886         (gl::TextureCubeMap::getTarget):
887         (gl::TextureCubeMap::getWidth):
888         (gl::TextureCubeMap::getHeight):
889         (gl::TextureCubeMap::getInternalFormat):
890         (gl::TextureCubeMap::getD3DFormat):
891         (gl::TextureCubeMap::setImagePosX):
892         (gl::TextureCubeMap::setImageNegX):
893         (gl::TextureCubeMap::setImagePosY):
894         (gl::TextureCubeMap::setImageNegY):
895         (gl::TextureCubeMap::setImagePosZ):
896         (gl::TextureCubeMap::setImageNegZ):
897         (gl::TextureCubeMap::setCompressedImage):
898         (gl::TextureCubeMap::commitRect):
899         (gl::TextureCubeMap::subImage):
900         (gl::TextureCubeMap::subImageCompressed):
901         (gl::TextureCubeMap::isSamplerComplete):
902         (gl::TextureCubeMap::isCubeComplete):
903         (gl::TextureCubeMap::isMipmapCubeComplete):
904         (gl::TextureCubeMap::isCompressed):
905         (gl::TextureCubeMap::getBaseTexture):
906         (gl::TextureCubeMap::createTexture):
907         (gl::TextureCubeMap::updateTexture):
908         (gl::TextureCubeMap::convertToRenderTarget):
909         (gl::TextureCubeMap::setImage):
910         (gl::TextureCubeMap::faceIndex):
911         (gl::TextureCubeMap::redefineImage):
912         (gl::TextureCubeMap::copyImage):
913         (gl::TextureCubeMap::copySubImage):
914         (gl::TextureCubeMap::storage):
915         (gl::TextureCubeMap::generateMipmaps):
916         (gl::TextureCubeMap::getRenderbuffer):
917         (gl::TextureCubeMap::getRenderTarget):
918         (gl::TextureCubeMap::getStorage):
919         * src/libGLESv2/Texture.h: Added.
920         (gl::Image::markDirty):
921         (gl::Image::markClean):
922         (gl::Image::getWidth):
923         (gl::Image::getHeight):
924         (gl::Image::getInternalFormat):
925         (gl::Image::isDirty):
926         * src/libGLESv2/TextureSSE2.cpp: Added.
927         (gl::Image::loadRGBAUByteDataSSE2):
928         (gl::Image::loadAlphaDataSSE2):
929         * src/libGLESv2/VertexDataManager.cpp: Added.
930         (gl::elementsInBuffer):
931         (gl::VertexDataManager::VertexDataManager):
932         (gl::VertexDataManager::~VertexDataManager):
933         (gl::VertexDataManager::writeAttributeData):
934         (gl::VertexDataManager::prepareVertexData):
935         (gl::VertexDataManager::spaceRequired):
936         (gl::VertexDataManager::checkVertexCaps):
937         (gl::VertexDataManager::typeIndex):
938         (gl::VertexBuffer::VertexBuffer):
939         (gl::VertexBuffer::~VertexBuffer):
940         (gl::VertexBuffer::unmap):
941         (gl::VertexBuffer::getBuffer):
942         (gl::VertexBuffer::getSerial):
943         (gl::VertexBuffer::issueSerial):
944         (gl::ArrayVertexBuffer::ArrayVertexBuffer):
945         (gl::ArrayVertexBuffer::~ArrayVertexBuffer):
946         (gl::ArrayVertexBuffer::addRequiredSpace):
947         (gl::StreamingVertexBuffer::StreamingVertexBuffer):
948         (gl::StreamingVertexBuffer::~StreamingVertexBuffer):
949         (gl::StreamingVertexBuffer::map):
950         (gl::StreamingVertexBuffer::reserveRequiredSpace):
951         (gl::StaticVertexBuffer::StaticVertexBuffer):
952         (gl::StaticVertexBuffer::~StaticVertexBuffer):
953         (gl::StaticVertexBuffer::map):
954         (gl::StaticVertexBuffer::reserveRequiredSpace):
955         (gl::StaticVertexBuffer::lookupAttribute):
956         (gl::VertexDataManager::formatConverter):
957         * src/libGLESv2/VertexDataManager.h: Added.
958         (gl::ArrayVertexBuffer::size):
959         (gl::VertexDataManager::dirtyCurrentValue):
960         * src/libGLESv2/libGLESv2.cpp: Added.
961         (validImageSize):
962         (checkTextureFormatType):
963         (validateSubImageParams2D):
964         (validateSubImageParamsCube):
965         (validReadFormatType):
966         * src/libGLESv2/libGLESv2.def: Added.
967         * src/libGLESv2/libGLESv2.rc: Added.
968         * src/libGLESv2/libGLESv2.vcxproj: Added.
969         * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
970         * src/libGLESv2/main.cpp: Added.
971         (DllMain):
972         (gl::makeCurrent):
973         (gl::getContext):
974         (gl::getNonLostContext):
975         (gl::getDisplay):
976         (gl::getDevice):
977         (gl::checkDeviceLost):
978         (error):
979         * src/libGLESv2/main.h: Added.
980         (error):
981         * src/libGLESv2/mathutil.h: Added.
982         (gl::Vector4::Vector4):
983         (gl::isPow2):
984         (gl::log2):
985         (gl::ceilPow2):
986         (gl::clamp):
987         (gl::clamp01):
988         (gl::unorm):
989         (gl::supportsSSE2):
990         (gl::float32ToFloat16):
991         * src/libGLESv2/resource.h: Added.
992         * src/libGLESv2/shaders: Added.
993         * src/libGLESv2/shaders/Blit.ps: Added.
994         * src/libGLESv2/shaders/Blit.vs: Added.
995         * src/libGLESv2/shaders/componentmaskps.h: Added.
996         * src/libGLESv2/shaders/flipyvs.h: Added.
997         * src/libGLESv2/shaders/generate_shaders.bat: Added.
998         * src/libGLESv2/shaders/luminanceps.h: Added.
999         * src/libGLESv2/shaders/passthroughps.h: Added.
1000         * src/libGLESv2/shaders/standardvs.h: Added.
1001         * src/libGLESv2/utilities.cpp: Added.
1002         (gl::UniformExternalComponentCount):
1003         (gl::UniformInternalComponentCount):
1004         (gl::UniformComponentType):
1005         (gl::UniformComponentSize):
1006         (gl::UniformInternalSize):
1007         (gl::UniformExternalSize):
1008         (gl::VariableRowCount):
1009         (gl::VariableColumnCount):
1010         (gl::AllocateFirstFreeBits):
1011         (gl::ComputePitch):
1012         (gl::ComputeCompressedPitch):
1013         (gl::ComputeCompressedSize):
1014         (gl::IsCompressed):
1015         (gl::IsDepthTexture):
1016         (gl::IsStencilTexture):
1017         (gl::ComputePixelSize):
1018         (gl::IsCubemapTextureTarget):
1019         (gl::IsInternalTextureTarget):
1020         (gl::ConvertSizedInternalFormat):
1021         (gl::ExtractFormat):
1022         (gl::ExtractType):
1023         (gl::IsColorRenderable):
1024         (gl::IsDepthRenderable):
1025         (gl::IsStencilRenderable):
1026         (gl::IsFloat32Format):
1027         (gl::IsFloat16Format):
1028         (es2dx::ConvertComparison):
1029         (es2dx::ConvertColor):
1030         (es2dx::ConvertBlendFunc):
1031         (es2dx::ConvertBlendOp):
1032         (es2dx::ConvertStencilOp):
1033         (es2dx::ConvertTextureWrap):
1034         (es2dx::ConvertCullMode):
1035         (es2dx::ConvertCubeFace):
1036         (es2dx::ConvertColorMask):
1037         (es2dx::ConvertMagFilter):
1038         (es2dx::ConvertMinFilter):
1039         (es2dx::ConvertPrimitiveType):
1040         (es2dx::ConvertRenderbufferFormat):
1041         (es2dx::GetMultisampleTypeFromSamples):
1042         (dx2es::GetStencilSize):
1043         (dx2es::GetAlphaSize):
1044         (dx2es::GetRedSize):
1045         (dx2es::GetGreenSize):
1046         (dx2es::GetBlueSize):
1047         (dx2es::GetDepthSize):
1048         (dx2es::GetSamplesFromMultisampleType):
1049         (dx2es::IsFormatChannelEquivalent):
1050         (dx2es::ConvertReadBufferFormat):
1051         (dx2es::ConvertBackBufferFormat):
1052         (dx2es::ConvertDepthStencilFormat):
1053         (dx::IsCompressedFormat):
1054         (dx::ComputeRowSize):
1055         (getTempPath):
1056         (writeFile):
1057         * src/libGLESv2/utilities.h: Added.
1058         (isDeviceLostError):
1059         * src/libGLESv2/vertexconversion.h: Added.
1060         (gl::Identity::convert):
1061         (gl::Cast::convert):
1062         (gl::Normalize::convert):
1063         (gl::FixedToFloat::convert):
1064         (gl::SimpleDefaultValues::zero):
1065         (gl::SimpleDefaultValues::one):
1066         (gl::NormalizedDefaultValues::zero):
1067         (gl::NormalizedDefaultValues::one):
1068         (gl::VertexDataConverter::convertArray):
1069         (gl::VertexDataConverter::pointerAddBytes):
1070         (gl::VertexDataConverter::copyComponent):
1071
1072 2013-07-17  Alex Christensen  <achristensen@apple.com>
1073
1074         Made a repeatable process for updating ANGLE that does not include manually editing any files.
1075         https://bugs.webkit.org/show_bug.cgi?id=118815
1076
1077         Reviewed by Dean Jackson.
1078
1079         * src/compiler/glslang.y:
1080         * src/compiler/glslang_lex.cpp:
1081         * src/compiler/glslang_tab.cpp:
1082         * src/compiler/glslang_tab.h: Put YYLTYPE definition in %union instead of prologue and ran Bison.
1083
1084 2013-07-16  Alex Christensen  <achristensen@apple.com>
1085
1086         Update ANGLE from r1987 to r2426 while keeping these changes:
1087         Keeping #if defined(_MSC_VER) around #pragma warning(disable: 4718) in DependencyGraph.cpp.
1088         Keeping include khrplatform.h instead of KHR/khrplatform.h in ShaderLang.h.
1089         Added static_casts in Intermediate.cpp to fix compiling on Mac.
1090         Changed enum bit fields to just enums for GCC in Types.h to fix compiling for GTK.
1091         Ran Bison on Mac after removing the unsupported %code tag (See diff uploaded to bug for details).
1092         Added YYLTYPE definition to glslang_tab.h which would have been put there by the unsupported %code tag.
1093
1094         https://bugs.webkit.org/show_bug.cgi?id=118550
1095
1096         Reviewed by Dean Jackson.
1097
1098         * ANGLE.plist: Updated revision of ANGLE to 2426.
1099         * ANGLE.xcodeproj/project.pbxproj:
1100         * GNUmakefile.am:
1101         * Target.pri:
1102             Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
1103         * include/GLSLANG/ShaderLang.h:
1104         * src/common/version.h:
1105         * src/compiler/BaseTypes.h:
1106         (getQualifierString):
1107         * src/compiler/Common.h:
1108         * src/compiler/Compiler.cpp:
1109         (TCompiler::TCompiler):
1110         (TCompiler::Init):
1111         (TCompiler::compile):
1112         (TCompiler::detectCallDepth):
1113         (TCompiler::enforceTimingRestrictions):
1114         (TCompiler::limitExpressionComplexity):
1115         * src/compiler/ConstantUnion.h:
1116         (ConstantUnion::ConstantUnion):
1117         * src/compiler/DetectCallDepth.cpp: Added.
1118         (DetectCallDepth::FunctionNode::FunctionNode):
1119         (DetectCallDepth::FunctionNode::getName):
1120         (DetectCallDepth::FunctionNode::addCallee):
1121         (DetectCallDepth::FunctionNode::detectCallDepth):
1122         (DetectCallDepth::FunctionNode::reset):
1123         (DetectCallDepth::DetectCallDepth):
1124         (DetectCallDepth::~DetectCallDepth):
1125         (DetectCallDepth::visitAggregate):
1126         (DetectCallDepth::checkExceedsMaxDepth):
1127         (DetectCallDepth::resetFunctionNodes):
1128         (DetectCallDepth::detectCallDepthForFunction):
1129         (DetectCallDepth::detectCallDepth):
1130         (DetectCallDepth::findFunctionByName):
1131         * src/compiler/DetectCallDepth.h: Added.
1132         (DetectCallDepth::getInfoSink):
1133         * src/compiler/DetectRecursion.cpp: Removed.
1134         * src/compiler/DetectRecursion.h: Removed.
1135         * src/compiler/Diagnostics.cpp:
1136         (TDiagnostics::writeInfo):
1137         * src/compiler/ForLoopUnroll.cpp:
1138         (ForLoopUnroll::evaluateIntConstant):
1139         * src/compiler/InfoSink.cpp:
1140         (TInfoSinkBase::prefix):
1141         (TInfoSinkBase::location):
1142         (TInfoSinkBase::message):
1143         * src/compiler/InfoSink.h:
1144         * src/compiler/Initialize.cpp:
1145         (TBuiltIns::initialize):
1146         (IdentifyBuiltIns):
1147         (InitExtensionBehavior):
1148         * src/compiler/Intermediate.cpp: Updated and added static_casts to fix build errors on Mac.
1149         (TIntermediate::addSymbol):
1150         (TIntermediate::addBinaryMath):
1151         (TIntermediate::addAssign):
1152         (TIntermediate::addIndex):
1153         (TIntermediate::addUnaryMath):
1154         (TIntermediate::setAggregateOperator):
1155         (TIntermediate::addConversion):
1156         (TIntermediate::growAggregate):
1157         (TIntermediate::makeAggregate):
1158         (TIntermediate::addSelection):
1159         (TIntermediate::addComma):
1160         (TIntermediate::addConstantUnion):
1161         (TIntermediate::addSwizzle):
1162         (TIntermediate::addLoop):
1163         (TIntermediate::addBranch):
1164         (TIntermUnary::promote):
1165         (TIntermBinary::promote):
1166         (CompareStruct):
1167         (CompareStructure):
1168         (TIntermConstantUnion::fold):
1169         (TIntermediate::promoteConstantUnion):
1170         * src/compiler/OutputGLSL.cpp:
1171         (TOutputGLSL::visitSymbol):
1172         * src/compiler/OutputGLSL.h:
1173         * src/compiler/OutputGLSLBase.cpp:
1174         (TOutputGLSLBase::writeVariableType):
1175         (TOutputGLSLBase::writeConstantUnion):
1176         (TOutputGLSLBase::visitBinary):
1177         (TOutputGLSLBase::visitAggregate):
1178         (TOutputGLSLBase::getTypeName):
1179         (TOutputGLSLBase::hashFunctionName):
1180         (TOutputGLSLBase::structDeclared):
1181         (TOutputGLSLBase::declareStruct):
1182         * src/compiler/OutputGLSLBase.h:
1183         * src/compiler/OutputHLSL.cpp:
1184         (sh::OutputHLSL::OutputHLSL):
1185         (sh::OutputHLSL::header):
1186         (sh::OutputHLSL::visitSymbol):
1187         (sh::OutputHLSL::visitBinary):
1188         (sh::OutputHLSL::visitAggregate):
1189         (sh::OutputHLSL::visitSelection):
1190         (sh::OutputHLSL::visitLoop):
1191         (sh::OutputHLSL::handleExcessiveLoop):
1192         (sh::OutputHLSL::typeString):
1193         (sh::OutputHLSL::initializer):
1194         (sh::OutputHLSL::addConstructor):
1195         (sh::OutputHLSL::writeConstantUnion):
1196         (sh::OutputHLSL::decorateField):
1197         * src/compiler/OutputHLSL.h:
1198         * src/compiler/ParseHelper.cpp:
1199         (TParseContext::parseVectorFields):
1200         (TParseContext::parseMatrixFields):
1201         (TParseContext::error):
1202         (TParseContext::warning):
1203         (TParseContext::assignError):
1204         (TParseContext::unaryOpError):
1205         (TParseContext::binaryOpError):
1206         (TParseContext::precisionErrorCheck):
1207         (TParseContext::lValueErrorCheck):
1208         (TParseContext::globalErrorCheck):
1209         (TParseContext::reservedErrorCheck):
1210         (TParseContext::constructorErrorCheck):
1211         (TParseContext::voidErrorCheck):
1212         (TParseContext::boolErrorCheck):
1213         (TParseContext::samplerErrorCheck):
1214         (TParseContext::structQualifierErrorCheck):
1215         (TParseContext::parameterSamplerErrorCheck):
1216         (TParseContext::containsSampler):
1217         (TParseContext::arraySizeErrorCheck):
1218         (TParseContext::arrayQualifierErrorCheck):
1219         (TParseContext::arrayTypeErrorCheck):
1220         (TParseContext::arrayErrorCheck):
1221         (TParseContext::nonInitConstErrorCheck):
1222         (TParseContext::nonInitErrorCheck):
1223         (TParseContext::paramErrorCheck):
1224         (TParseContext::extensionErrorCheck):
1225         (TParseContext::findFunction):
1226         (TParseContext::isVariableBuiltIn):
1227         (TParseContext::executeInitializer):
1228         (TParseContext::addConstructor):
1229         (TParseContext::constructBuiltIn):
1230         (TParseContext::constructStruct):
1231         (TParseContext::addConstVectorNode):
1232         (TParseContext::addConstMatrixNode):
1233         (TParseContext::addConstArrayNode):
1234         (TParseContext::addConstStruct):
1235         (TParseContext::enterStructDeclaration):
1236         (TParseContext::structNestingErrorCheck):
1237         * src/compiler/ParseHelper.h:
1238         (TParseContext::TParseContext):
1239         (TParseContext::pragma):
1240         * src/compiler/PoolAlloc.cpp:
1241         (TPoolAllocator::allocate):
1242         * src/compiler/ShHandle.h:
1243         * src/compiler/ShaderLang.cpp:
1244         (ShInitBuiltInResources):
1245         * src/compiler/SymbolTable.cpp:
1246         (TType::TType):
1247         (TType::buildMangledName):
1248         (TType::getObjectSize):
1249         (TStructure::containsArrays):
1250         (TStructure::buildMangledName):
1251         (TStructure::calculateObjectSize):
1252         (TStructure::calculateDeepestNesting):
1253         (TSymbolTableLevel::relateToExtension):
1254         * src/compiler/SymbolTable.h:
1255         (TSymbol::relateToExtension):
1256         (TSymbol::getExtension):
1257         (TVariable::TVariable):
1258         (TVariable::setQualifier):
1259         (TVariable::shareConstPointer):
1260         * src/compiler/Types.h: Updated and changed enum bit fields to enums to fix compiling with GCC.
1261         (TField::TField):
1262         (TField::type):
1263         (TField::name):
1264         (NewPoolTFieldList):
1265         (TStructure::TStructure):
1266         (TStructure::name):
1267         (TStructure::fields):
1268         (TStructure::mangledName):
1269         (TStructure::objectSize):
1270         (TStructure::deepestNesting):
1271         (TType::TType):
1272         (TType::clearArrayness):
1273         (TType::getStruct):
1274         (TType::setStruct):
1275         (TType::getMangledName):
1276         (TType::getDeepestStructNesting):
1277         (TType::isStructureContainingArrays):
1278         (TPublicType::setBasic):
1279         * src/compiler/VariableInfo.cpp:
1280         (getUserDefinedVariableInfo):
1281         * src/compiler/builtin_symbol_table.cpp: Added.
1282         (builtin1):
1283         (builtin2):
1284         (builtin3):
1285         (InsertBuiltInFunctionsCommon):
1286         (InsertBuiltInFunctionsVertex):
1287         * src/compiler/builtin_symbol_table.h: Added.
1288         * src/compiler/glslang.l:
1289         * src/compiler/glslang.y:
1290         * src/compiler/glslang_lex.cpp:
1291         (yy_get_previous_state):
1292         (yy_try_NUL_trans):
1293         (yyget_lloc):
1294         (yyset_lloc):
1295         (string_input):
1296         (check_type):
1297         (reserved_word):
1298         (glslang_scan):
1299         * src/compiler/glslang_tab.cpp:
1300         (yysyntax_error):
1301         (yyerror):
1302         (glslang_parse):
1303         * src/compiler/glslang_tab.h: Readded YYLTYPE definition after Bison removed it.
1304         * src/compiler/intermOut.cpp:
1305         (TOutputTraverser::visitUnary):
1306         (TOutputTraverser::visitAggregate):
1307         (TOutputTraverser::visitConstantUnion):
1308         * src/compiler/intermediate.h:
1309         (TIntermNode::TIntermNode):
1310         (TIntermNode::~TIntermNode):
1311         (TIntermNode::getLine):
1312         (TIntermNode::setLine):
1313         (TIntermNode::getAsLoopNode):
1314         (TIntermConstantUnion::getIConst):
1315         (TIntermConstantUnion::getFConst):
1316         (TIntermConstantUnion::getBConst):
1317         (TIntermAggregate::TIntermAggregate):
1318         (TIntermTraverser::TIntermTraverser):
1319         (TIntermTraverser::getMaxDepth):
1320         (TIntermTraverser::incrementDepth):
1321         * src/compiler/localintermediate.h:
1322         * src/compiler/parseConst.cpp:
1323         (TConstTraverser::visitSymbol):
1324         (TConstTraverser::visitBinary):
1325         (TConstTraverser::visitUnary):
1326         (TConstTraverser::visitAggregate):
1327         (TConstTraverser::visitSelection):
1328         (TConstTraverser::visitConstantUnion):
1329         (TConstTraverser::visitLoop):
1330         (TConstTraverser::visitBranch):
1331         (TIntermediate::parseConstTree):
1332         * src/compiler/preprocessor/ExpressionParser.cpp:
1333         * src/compiler/timing/RestrictVertexShaderTiming.cpp:
1334         (RestrictVertexShaderTiming::visitSymbol):
1335             Updated ANGLE to r2426 and ran Bison.
1336
1337 2013-06-17  Darin Adler  <darin@apple.com>
1338
1339         Sort all the Xcode project files
1340         https://bugs.webkit.org/show_bug.cgi?id=117696
1341
1342         Reviewed by Anders Carlsson.
1343
1344         * ANGLE.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
1345
1346 2013-04-18  Krzysztof Wolanski  <k.wolanski@samsung.com>
1347
1348         Add checking whether the compiler allows to use #pragma directive.
1349         https://bugs.webkit.org/show_bug.cgi?id=114740
1350
1351         Reviewed by Andreas Kling.
1352
1353         Some compilers may complain that #pragma warning is an undefined macro.
1354
1355         * src/compiler/depgraph/DependencyGraph.cpp:
1356
1357 2013-04-11  Andras Becsi  <andras.becsi@digia.com>
1358
1359         [Qt][Mac] Linking fails with Qt 5.1
1360         https://bugs.webkit.org/show_bug.cgi?id=114435
1361
1362         Reviewed by Tor Arne Vestbø.
1363
1364         Qt 5.1 enables C++11 by default when using clang on Mac
1365         and links against the libc++ standard library. As a result
1366         building the QtWebKit shared library fails when linking
1367         agains the ANGLE intermediate static library because libc++
1368         misses some symbols needed by ANGLE.
1369         Disable C++11 for the ANGLE intermediate library to fix the build.
1370
1371         * ANGLE.pri:
1372
1373 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
1374
1375         Mass remove all the empty directories
1376
1377         Rubberstamped by Ryosuke Niwa.
1378
1379         * src/libGLESv2/geometry: Removed.
1380
1381 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
1382
1383         Remove ANGLE.gyp
1384         https://bugs.webkit.org/show_bug.cgi?id=114245
1385
1386         Unreviewed. Just removing an empty directory.
1387
1388         * ANGLE.gyp: Removed.
1389
1390 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
1391
1392         [GTK] Remove the gyp build
1393         https://bugs.webkit.org/show_bug.cgi?id=113942
1394
1395         Reviewed by Gustavo Noronha Silva.
1396
1397         * ANGLE.gyp/ANGLE.gyp: Removed.
1398         * ANGLE.gypi: Removed.
1399
1400 2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
1401
1402         [GTK] Build ANGLE sources into a separate library from libWebCore.la
1403         https://bugs.webkit.org/show_bug.cgi?id=112778
1404
1405         Reviewed by Martin Robinson.
1406
1407         * GNUmakefile.am: Added, sets up the libANGLE.la library.
1408
1409 2013-03-05  Kenneth Russell  <kbr@google.com>
1410
1411         Upgrade ANGLE to r1987
1412         https://bugs.webkit.org/show_bug.cgi?id=111381
1413
1414         Reviewed by Dean Jackson.
1415
1416         * include/GLSLANG/ShaderLang.h:
1417         * src/common/version.h:
1418         * src/compiler/Compiler.cpp:
1419         (TCompiler::TCompiler):
1420         (TCompiler::Init):
1421         (TCompiler::compile):
1422         * src/compiler/ParseHelper.h:
1423         (TParseContext):
1424         * src/compiler/ShHandle.h:
1425         (TCompiler):
1426         * src/compiler/ShaderLang.cpp:
1427         (ShInitBuiltInResources):
1428         * src/compiler/UnfoldShortCircuit.cpp:
1429         (sh::UnfoldShortCircuit::visitSelection):
1430         * src/compiler/glslang.l:
1431         * src/compiler/glslang.y:
1432         * src/compiler/glslang_lex.cpp:
1433         (glslang_scan):
1434         * src/compiler/glslang_tab.cpp:
1435              Updated ANGLE to r1987.
1436
1437 2013-03-01  Martin Robinson  <mrobinson@igalia.com>
1438
1439         [GTK] Add ANGLE to the GTK+ gyp build
1440         https://bugs.webkit.org/show_bug.cgi?id=111128
1441
1442         Reviewed by Dirk Pranke.
1443
1444         Add files that build an ANGLE static library for GTK+ using gyp.
1445
1446         * ANGLE.gyp/ANGLE.gyp: Added.
1447         * ANGLE.gypi: Added.
1448
1449 2013-02-22  Kenneth Russell  <kbr@google.com>
1450
1451         Mac OS build broken by new ExpressionParser.cpp
1452         https://bugs.webkit.org/show_bug.cgi?id=110629
1453
1454         Unreviewed build fix. Regenerated ExpressionParser with Bison 2.3.
1455
1456         * src/compiler/preprocessor/ExpressionParser.cpp:
1457
1458 2013-02-21  Zhenyao Mo  <zmo@google.com>
1459
1460         Roll ANGLE to r1833
1461         https://bugs.webkit.org/show_bug.cgi?id=110513
1462
1463         Reviewed by Kenneth Russell.
1464
1465         Upstream ANGLE r1833 includes webkit side local fixes
1466         1) r139758 build fix for -Wshorten-64-to-32
1467         2) r139665 build fix for uninitialized variables
1468
1469         After this roll, WebKit side ANGLE is the same as upstream ANGLE r1833, except:
1470         1) include/GLSLANG/ShaderLang.h, where "KHR" is removed from include path.
1471
1472         With this roll, we have EXT_draw_buffers support.
1473         
1474         * ANGLE.xcodeproj/project.pbxproj:
1475         * Target.pri:
1476         * include/GLSLANG/ShaderLang.h:
1477         * src/common/debug.cpp:
1478         * src/common/system.h: Added.
1479         * src/common/version.h:
1480         * src/compiler/ArrayBoundsClamper.cpp: Removed.
1481         * src/compiler/ArrayBoundsClamper.h: Removed.
1482         * src/compiler/Compiler.cpp:
1483         (TCompiler::TCompiler):
1484         (TCompiler::Init):
1485         (TCompiler::compile):
1486         (TCompiler::getArrayBoundsClamper):
1487         (TCompiler::getArrayIndexClampingStrategy):
1488         (TCompiler::getBuiltInFunctionEmulator):
1489         * src/compiler/DetectDiscontinuity.cpp:
1490         (sh::DetectLoopDiscontinuity::traverse):
1491         (sh::DetectLoopDiscontinuity::visitLoop):
1492         (sh):
1493         (sh::DetectLoopDiscontinuity::visitBranch):
1494         * src/compiler/DetectDiscontinuity.h:
1495         (DetectLoopDiscontinuity):
1496         * src/compiler/Initialize.cpp:
1497         (InitExtensionBehavior):
1498         * src/compiler/Intermediate.cpp:
1499         (TIntermConstantUnion::fold):
1500         (TIntermTraverser::hash):
1501         * src/compiler/MapLongVariableNames.cpp:
1502         (LongNameMap::Size):
1503         (MapLongVariableNames::mapGlobalLongName):
1504         * src/compiler/MapLongVariableNames.h:
1505         (LongNameMap):
1506         * src/compiler/OutputESSL.cpp:
1507         (TOutputESSL::TOutputESSL):
1508         * src/compiler/OutputESSL.h:
1509         (TOutputESSL):
1510         * src/compiler/OutputGLSL.cpp:
1511         (TOutputGLSL::TOutputGLSL):
1512         * src/compiler/OutputGLSL.h:
1513         (TOutputGLSL):
1514         * src/compiler/OutputGLSLBase.cpp:
1515         (TOutputGLSLBase::TOutputGLSLBase):
1516         (TOutputGLSLBase::writeConstantUnion):
1517         (TOutputGLSLBase::visitBinary):
1518         * src/compiler/OutputGLSLBase.h:
1519         (TOutputGLSLBase):
1520         * src/compiler/OutputHLSL.cpp:
1521         (sh::OutputHLSL::output):
1522         (sh::OutputHLSL::visitLoop):
1523         (sh::OutputHLSL::writeConstantUnion):
1524         * src/compiler/ParseHelper.cpp:
1525         (TParseContext::constructorErrorCheck):
1526         (PaParseStrings):
1527         * src/compiler/ParseHelper.h:
1528         * src/compiler/ShHandle.h:
1529         (TCompiler):
1530         * src/compiler/ShaderLang.cpp:
1531         (checkActiveUniformAndAttribMaxLengths):
1532         (checkMappedNameMaxLength):
1533         (getVariableInfo):
1534         (ShInitBuiltInResources):
1535         (ShCompile):
1536         (ShGetInfo):
1537         (ShGetActiveAttrib):
1538         (ShGetActiveUniform):
1539         (ShGetNameHashingEntry):
1540         * src/compiler/SymbolTable.h:
1541         (TFunction::getParamCount):
1542         (TFunction::getParam):
1543         (TSymbolTable::setDefaultPrecision):
1544         * src/compiler/TranslatorESSL.cpp:
1545         (TranslatorESSL::translate):
1546         * src/compiler/TranslatorGLSL.cpp:
1547         (TranslatorGLSL::translate):
1548         * src/compiler/ValidateLimitations.cpp:
1549         (ValidateLimitations::validateFunctionCall):
1550         * src/compiler/VariablePacker.cpp:
1551         (VariablePacker::GetNumRows):
1552         * src/compiler/glslang.h:
1553         * src/compiler/glslang.l:
1554         * src/compiler/glslang.y:
1555         * src/compiler/glslang_lex.cpp:
1556         (string_input):
1557         (glslang_scan):
1558         * src/compiler/glslang_tab.cpp:
1559         * src/compiler/preprocessor/ExpressionParser.cpp:
1560         * src/compiler/preprocessor/ExpressionParser.y:
1561         * src/compiler/preprocessor/Input.cpp:
1562         (pp::Input::Input):
1563         (pp::Input::read):
1564         * src/compiler/preprocessor/Input.h:
1565         (Input):
1566         (pp::Input::count):
1567         (pp::Input::string):
1568         (pp::Input::length):
1569         (Location):
1570         * src/compiler/preprocessor/Preprocessor.cpp:
1571         (pp::Preprocessor::init):
1572         * src/compiler/preprocessor/Preprocessor.h:
1573         (Preprocessor):
1574         * src/compiler/preprocessor/Tokenizer.cpp:
1575         (pp::Tokenizer::init):
1576         * src/compiler/preprocessor/Tokenizer.h:
1577         (Tokenizer):
1578         * src/compiler/preprocessor/Tokenizer.l:
1579         * src/third_party: Added.
1580         * src/third_party/compiler: Added.
1581         * src/third_party/compiler/ArrayBoundsClamper.cpp: Added.
1582         (ArrayBoundsClamper::ArrayBoundsClamper):
1583         (ArrayBoundsClamper::SetClampingStrategy):
1584         (ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping):
1585         (ArrayBoundsClamper::OutputClampingFunctionDefinition):
1586         * src/third_party/compiler/ArrayBoundsClamper.h: Added.
1587         (ArrayBoundsClamper):
1588         (ArrayBoundsClamper::Cleanup):
1589         (ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
1590         (ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded):
1591         * src/third_party/compiler/LICENSE: Added.
1592         * src/third_party/compiler/README.angle: Added.
1593
1594 2013-02-04  David Kilzer  <ddkilzer@apple.com>
1595
1596         Sort ANGLE Xcode project file.
1597
1598         * ANGLE.xcodeproj/project.pbxproj:
1599
1600 2013-01-30  David Kilzer  <ddkilzer@apple.com>
1601
1602         Remove useless comment from Base.xcconfig
1603
1604         Rubber-stamped by Mark Rowe.
1605
1606         * Configurations/Base.xcconfig: Remove comment.
1607
1608 2013-01-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1609
1610         Doesn't build with GCC 4.7+
1611         https://bugs.webkit.org/show_bug.cgi?id=106999
1612
1613         Reviewed by Csaba Osztrogonác.
1614
1615         Correct __GNU_C_MINOR__ macro to __GNUC_MINOR__.
1616
1617         * src/compiler/preprocessor/ExpressionParser.y:
1618
1619 2013-01-15  David Kilzer  <ddkilzer@apple.com>
1620
1621         BUILD FIX: Add SUPPORTED_PLATFORMS to Base.xcconfig
1622
1623         * Configurations/Base.xcconfig: Add SUPPORTED_PLATFORMS so that
1624         Xcode knows we can build this project for all three platforms.
1625         Previously the Mac OS X SDKs were missing in the scheme picker.
1626
1627 2013-01-15  David Kilzer  <ddkilzer@apple.com>
1628
1629         Upstream iOS changes for ANGLE project
1630         <http://webkit.org/b/106913>
1631
1632         Reviewed by Joseph Pecoraro.
1633
1634         * ANGLE.xcodeproj/project.pbxproj:
1635         - Use $(INSTALL_PATH_PREFIX) with CopyFiles build phase paths.
1636         - Add iOS.xcconfig to project.
1637         * Configurations/ANGLE.xcconfig:
1638         - Use INSTALL_PATH_ACTUAL instead of INSTALL_PATH.  (See below.)
1639         - Use $(INSTALL_PATH_PREFIX) with PUBLIC_HEADERS_FOLDER_PATH.
1640         * Configurations/Base.xcconfig:
1641         - Include iOS.xcconfig.
1642         - Add per-platform values for GCC_ENABLE_OBJC_GC and
1643           GCC_MODEL_TUNING.
1644         - Define INSTALL_PATH when building for macosx SDK.
1645         * Configurations/iOS.xcconfig: Add.  Note that missing include
1646         files are simply ignored without an error by Xcode.
1647
1648 2013-01-15  David Kilzer  <ddkilzer@apple.com>
1649
1650         ANGLE should build with -Wshorten-64-to-32
1651         <http://webkit.org/b/106798>
1652         <http://code.google.com/p/angleproject/issues/detail?id=396>
1653
1654         Reviewed by Kenneth Russell.
1655
1656         Most changes below are simply to document issues with #pragma
1657         statements per request by upstream.  The change to osinclude.h
1658         is the only bug fix, which defines OS_TLSIndex in terms of
1659         pthread_key_t instead of unsigned int since pthread_key_t is a
1660         64-bit value on 64-bit Mac OS X.
1661
1662         * Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
1663         setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
1664         * src/compiler/Intermediate.cpp:
1665         (TIntermTraverser::hash): Add #pragmas for clang to ignore
1666         -Wshorten-64-to-32 warning.
1667         * src/compiler/MapLongVariableNames.cpp:
1668         (LongNameMap::Size): Ditto.
1669         * src/compiler/ShaderLang.cpp:
1670         (getVariableInfo): Ditto.
1671         (ShGetInfo): Ditto.
1672         * src/compiler/ValidateLimitations.cpp:
1673         (ValidateLimitations::validateFunctionCall): Ditto.
1674         * src/compiler/glslang.l: Ditto.
1675         * src/compiler/glslang_lex.cpp: Ditto.
1676         * src/compiler/osinclude.h: Change type of OS_TLSIndex to
1677         pthread_key_t.  Define OS_INVALID_TLS_INDEX by using
1678         static_cast<OS_TLSIndex>(-1).
1679         * src/compiler/preprocessor/Input.cpp:
1680         (pp::Input::Input): Add #pragmas for clang to ignore
1681         -Wshorten-64-to-32 warning.
1682         * src/compiler/preprocessor/Tokenizer.cpp: Ditto.
1683         * src/compiler/preprocessor/Tokenizer.l: Ditto.
1684
1685 2013-01-14  David Kilzer  <ddkilzer@apple.com>
1686
1687         Remove nonexistent file in ANGLE Xcode project
1688
1689         * ANGLE.xcodeproj/project.pbxproj: Remove references to
1690         ossource_nspr.cpp which was removed in r139665.
1691
1692 2013-01-14  Dean Jackson  <dino@apple.com>
1693
1694         Unreviewed QT build fix.
1695
1696         * ANGLE.pri:
1697
1698 2013-01-14  Dean Jackson  <dino@apple.com>
1699
1700         [ANGLE] Update ANGLE in WebKit
1701         https://bugs.webkit.org/show_bug.cgi?id=106274
1702
1703         Unreviewed attempted build fix.
1704
1705         Remove the copy files stage. Make khrplatform.h a public header.
1706
1707         * ANGLE.xcodeproj/project.pbxproj:
1708         * include/GLSLANG/ShaderLang.h:
1709
1710 2013-01-14  Max Vujovic  <mvujovic@adobe.com>
1711
1712         [ANGLE] Update ANGLE in WebKit
1713         https://bugs.webkit.org/show_bug.cgi?id=106274
1714
1715         Reviewed by Dean Jackson.
1716
1717         Update ANGLE to r1641.
1718
1719         ANGLE parsers were generated with Bison 2.3.
1720
1721         Additionally, perform the following changes to WebKit's ANGLE build system. Note that these
1722         changes only apply to WebKit's copy of ANGLE, and do not need to be upstreamed to ANGLE.
1723         (a) Remove all files in the libEGL and libGLESv2 directories because nobody is using them. 
1724             Add a README in each directory to explain why their contents are not copied over from
1725             ANGLE. This simplifies updating ANGLE in the future.
1726         (b) Remove the build_angle.xcodeproj file that no-one is using. It appears it was copied
1727             over from a gyp build of ANGLE. The Mac build uses ANGLE.xcodeproj.
1728         (c) Remove duplicate file entries in ANGLE.xcodeproj. Change its Xcode group structure to
1729             match ANGLE's directory structure.
1730         (d) Add a Copy Files task to ANGLE.xcodeproj to put the khrplatform.h header in the right
1731             place so ShaderLang.h can find it. ShaderLang.h is copied to
1732             <BuildDir>/usr/local/include/ANGLE/ShaderLang.h during the Copy Headers task, and it
1733             includes "KHR/khrplatform.h". Thus, we need to copy khrplatform.h to
1734             <BuildDir>/usr/local/include/ANGLE/KHR/khrplatform.h.
1735
1736         Additionally, make one build fix in ANGLE source that should be upstreamed to ANGLE:
1737         (1) Before this patch in ExpressionParser.y, we toggled the "-Wpragmas" flag so compilers
1738             could ignore the pragmas that they didn't understand instead of generating an error.
1739             However, clang does not understand "-Wpragmas" itself. Instead, tt understands
1740             "-Wunknown-pragmas". Now, instead of trying to temporarily ignore pragmas, we apply the
1741             right flags to the right compiler versions. The new code in ExpressionParser.y looks
1742             like:
1743
1744         """
1745         // Turn off uninitialized variable warnings triggered by the auto-generated pplval variable.
1746         // On gcc 4.7+, The flag is called "-Wmaybe-uninitialized".
1747         // On clang and gcc < 4.7, the flag is called "-Wuninitialized".
1748         #if !defined(__clang__) && ((__GNUC__ == 4 && __GNU_C_MINOR__ >= 7) || __GNUC__ >= 5)
1749         #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
1750         #else
1751         #pragma GCC diagnostic ignored "-Wuninitialized"
1752         #endif
1753         """
1754
1755         * ANGLE.plist:
1756         * ANGLE.pri:
1757         * ANGLE.xcodeproj/project.pbxproj:
1758         * DerivedSources.pri:
1759         * Target.pri:
1760         * include/GLSLANG/ShaderLang.h:
1761         * src/build_angle.xcodeproj/project.pbxproj: Removed.
1762         * src/common/angleutils.h:
1763         * src/common/debug.cpp:
1764         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
1765         * src/common/debug.h:
1766         * src/common/version.h:
1767         * src/compiler/Compiler.cpp:
1768         (TCompiler::Init):
1769         (TCompiler::compile):
1770         (TCompiler::clearResults):
1771         (TCompiler::collectAttribsUniforms):
1772         (TCompiler::enforcePackingRestrictions):
1773         * src/compiler/Diagnostics.cpp:
1774         (TDiagnostics::TDiagnostics):
1775         (TDiagnostics::writeInfo):
1776         (TDiagnostics::print):
1777         * src/compiler/Diagnostics.h:
1778         (TDiagnostics::numErrors):
1779         (TDiagnostics::numWarnings):
1780         (TDiagnostics):
1781         * src/compiler/DirectiveHandler.h:
1782         * src/compiler/HashNames.h: Added.
1783         * src/compiler/Intermediate.cpp:
1784         (TIntermTraverser::hash):
1785         * src/compiler/OutputESSL.cpp:
1786         (TOutputESSL::TOutputESSL):
1787         * src/compiler/OutputESSL.h:
1788         (TOutputESSL):
1789         * src/compiler/OutputGLSL.cpp:
1790         (TOutputGLSL::TOutputGLSL):
1791         * src/compiler/OutputGLSL.h:
1792         (TOutputGLSL):
1793         * src/compiler/OutputGLSLBase.cpp:
1794         (TOutputGLSLBase::TOutputGLSLBase):
1795         (TOutputGLSLBase::writeVariableType):
1796         (TOutputGLSLBase::writeFunctionParameters):
1797         (TOutputGLSLBase::writeConstantUnion):
1798         (TOutputGLSLBase::visitSymbol):
1799         (TOutputGLSLBase::visitBinary):
1800         (TOutputGLSLBase::visitAggregate):
1801         (TOutputGLSLBase::getTypeName):
1802         (TOutputGLSLBase::hashName):
1803         (TOutputGLSLBase::hashVariableName):
1804         (TOutputGLSLBase::hashFunctionName):
1805         * src/compiler/OutputGLSLBase.h:
1806         (TOutputGLSLBase):
1807         * src/compiler/OutputHLSL.cpp:
1808         (sh::OutputHLSL::OutputHLSL):
1809         (sh::OutputHLSL::header):
1810         (sh::OutputHLSL::visitAggregate):
1811         (sh::OutputHLSL::visitBranch):
1812         (sh::OutputHLSL::handleExcessiveLoop):
1813         * src/compiler/OutputHLSL.h:
1814         (OutputHLSL):
1815         * src/compiler/ParseHelper.cpp:
1816         (TParseContext::error):
1817         (TParseContext::nonInitConstErrorCheck):
1818         (PaParseStrings):
1819         * src/compiler/ParseHelper.h:
1820         (TParseContext::TParseContext):
1821         (TParseContext):
1822         (TParseContext::numErrors):
1823         * src/compiler/RenameFunction.h:
1824         (RenameFunction::visitAggregate):
1825         * src/compiler/ShHandle.h:
1826         (TCompiler::getHashFunction):
1827         (TCompiler::getNameMap):
1828         (TCompiler::getSymbolTable):
1829         (TCompiler):
1830         * src/compiler/ShaderLang.cpp:
1831         (ShInitBuiltInResources):
1832         (ShGetInfo):
1833         (ShGetNameHashingEntry):
1834         * src/compiler/SymbolTable.cpp:
1835         (TType::TType):
1836         (TType::isStructureContainingArrays):
1837         * src/compiler/SymbolTable.h:
1838         (TSymbolTable::findBuiltIn):
1839         (TSymbolTable):
1840         * src/compiler/TranslatorESSL.cpp:
1841         (TranslatorESSL::translate):
1842         * src/compiler/TranslatorGLSL.cpp:
1843         (TranslatorGLSL::translate):
1844         * src/compiler/Types.h:
1845         (TType):
1846         (TPublicType):
1847         (TPublicType::setBasic):
1848         (TPublicType::setAggregate):
1849         (TPublicType::setArray):
1850         (TPublicType::isStructureContainingArrays):
1851         * src/compiler/UnfoldShortCircuit.cpp:
1852         (sh::UnfoldShortCircuit::visitBinary):
1853         * src/compiler/VariableInfo.cpp:
1854         (getVariableInfo):
1855         (getUserDefinedVariableInfo):
1856         (TVariableInfo::TVariableInfo):
1857         (CollectAttribsUniforms::CollectAttribsUniforms):
1858         (CollectAttribsUniforms::visitAggregate):
1859         * src/compiler/VariableInfo.h:
1860         (TVariableInfo):
1861         (CollectAttribsUniforms):
1862         * src/compiler/VariablePacker.cpp: Added.
1863         (VariablePacker::GetNumComponentsPerRow):
1864         (VariablePacker::GetNumRows):
1865         (TVariableInfoComparer::operator()):
1866         (VariablePacker::makeColumnFlags):
1867         (VariablePacker::fillColumns):
1868         (VariablePacker::searchColumn):
1869         (VariablePacker::CheckVariablesWithinPackingLimits):
1870         * src/compiler/VariablePacker.h: Added.
1871         (VariablePacker):
1872         * src/compiler/VersionGLSL.cpp:
1873         (TVersionGLSL::visitAggregate):
1874         * src/compiler/VersionGLSL.h:
1875         (TVersionGLSL):
1876         * src/compiler/glslang.l:
1877         * src/compiler/glslang.y:
1878         * src/compiler/glslang_lex.cpp:
1879         (string_input):
1880         (glslang_finalize):
1881         (glslang_scan):
1882         * src/compiler/glslang_tab.cpp:
1883         * src/compiler/intermediate.h:
1884         (TIntermTraverser):
1885         * src/compiler/osinclude.h:
1886         (OS_GetTLSValue):
1887         * src/compiler/ossource_nspr.cpp:
1888         * src/compiler/preprocessor/DiagnosticsBase.cpp: Added.
1889         (pp):
1890         (pp::Diagnostics::~Diagnostics):
1891         (pp::Diagnostics::report):
1892         (pp::Diagnostics::severity):
1893         (pp::Diagnostics::message):
1894         * src/compiler/preprocessor/DiagnosticsBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Diagnostics.h.
1895         (pp):
1896         (Diagnostics):
1897         * src/compiler/preprocessor/DirectiveHandlerBase.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandlerBase.cpp.
1898         (pp):
1899         (pp::DirectiveHandler::~DirectiveHandler):
1900         * src/compiler/preprocessor/DirectiveHandlerBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandler.h.
1901         (pp):
1902         (DirectiveHandler):
1903         * src/compiler/preprocessor/DirectiveParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.cpp.
1904         (getDirective):
1905         (isConditionalDirective):
1906         (isEOD):
1907         (skipUntilEOD):
1908         (isMacroNameReserved):
1909         (isMacroPredefined):
1910         (pp):
1911         (DefinedParser):
1912         (pp::DefinedParser::DefinedParser):
1913         (pp::DefinedParser::lex):
1914         (pp::DirectiveParser::DirectiveParser):
1915         (pp::DirectiveParser::lex):
1916         (pp::DirectiveParser::parseDirective):
1917         (pp::DirectiveParser::parseDefine):
1918         (pp::DirectiveParser::parseUndef):
1919         (pp::DirectiveParser::parseIf):
1920         (pp::DirectiveParser::parseIfdef):
1921         (pp::DirectiveParser::parseIfndef):
1922         (pp::DirectiveParser::parseElse):
1923         (pp::DirectiveParser::parseElif):
1924         (pp::DirectiveParser::parseEndif):
1925         (pp::DirectiveParser::parseError):
1926         (pp::DirectiveParser::parsePragma):
1927         (pp::DirectiveParser::parseExtension):
1928         (pp::DirectiveParser::parseVersion):
1929         (pp::DirectiveParser::parseLine):
1930         (pp::DirectiveParser::skipping):
1931         (pp::DirectiveParser::parseConditionalIf):
1932         (pp::DirectiveParser::parseExpressionIf):
1933         (pp::DirectiveParser::parseExpressionIfdef):
1934         * src/compiler/preprocessor/DirectiveParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.h.
1935         (pp):
1936         (DirectiveParser):
1937         (ConditionalBlock):
1938         (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
1939         * src/compiler/preprocessor/ExpressionParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.cpp.
1940         (yysyntax_error):
1941         (yylex):
1942         (yyerror):
1943         (pp):
1944         (pp::ExpressionParser::ExpressionParser):
1945         (pp::ExpressionParser::parse):
1946         * src/compiler/preprocessor/ExpressionParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.h.
1947         (pp):
1948         (ExpressionParser):
1949         * src/compiler/preprocessor/ExpressionParser.y: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y.
1950         * src/compiler/preprocessor/Input.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.cpp.
1951         (pp):
1952         (pp::Input::Input):
1953         (pp::Input::read):
1954         * src/compiler/preprocessor/Input.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.h.
1955         (pp):
1956         (Input):
1957         (pp::Input::count):
1958         (pp::Input::string):
1959         (pp::Input::length):
1960         (Location):
1961         (pp::Input::Location::Location):
1962         (pp::Input::readLoc):
1963         * src/compiler/preprocessor/Lexer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.cpp.
1964         (pp):
1965         (pp::Lexer::~Lexer):
1966         * src/compiler/preprocessor/Lexer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.h.
1967         (pp):
1968         (Lexer):
1969         * src/compiler/preprocessor/Macro.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp.
1970         (pp):
1971         (pp::Macro::equals):
1972         * src/compiler/preprocessor/Macro.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.h.
1973         (pp):
1974         (pp::Macro::Macro):
1975         (Macro):
1976         * src/compiler/preprocessor/MacroExpander.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.cpp.
1977         (pp):
1978         (TokenLexer):
1979         (pp::TokenLexer::TokenLexer):
1980         (pp::TokenLexer::lex):
1981         (pp::MacroExpander::MacroExpander):
1982         (pp::MacroExpander::~MacroExpander):
1983         (pp::MacroExpander::lex):
1984         (pp::MacroExpander::getToken):
1985         (pp::MacroExpander::ungetToken):
1986         (pp::MacroExpander::isNextTokenLeftParen):
1987         (pp::MacroExpander::pushMacro):
1988         (pp::MacroExpander::popMacro):
1989         (pp::MacroExpander::expandMacro):
1990         (pp::MacroExpander::collectMacroArgs):
1991         (pp::MacroExpander::replaceMacroParams):
1992         * src/compiler/preprocessor/MacroExpander.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.h.
1993         (pp):
1994         (MacroExpander):
1995         (MacroContext):
1996         (pp::MacroExpander::MacroContext::MacroContext):
1997         (pp::MacroExpander::MacroContext::empty):
1998         (pp::MacroExpander::MacroContext::get):
1999         (pp::MacroExpander::MacroContext::unget):
2000         * src/compiler/preprocessor/Preprocessor.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.cpp.
2001         (pp):
2002         (PreprocessorImpl):
2003         (pp::PreprocessorImpl::PreprocessorImpl):
2004         (pp::Preprocessor::Preprocessor):
2005         (pp::Preprocessor::~Preprocessor):
2006         (pp::Preprocessor::init):
2007         (pp::Preprocessor::predefineMacro):
2008         (pp::Preprocessor::lex):
2009         * src/compiler/preprocessor/Preprocessor.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.h.
2010         (pp):
2011         (Preprocessor):
2012         * src/compiler/preprocessor/SourceLocation.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/SourceLocation.h.
2013         (pp):
2014         (pp::SourceLocation::SourceLocation):
2015         (SourceLocation):
2016         (pp::SourceLocation::equals):
2017         (pp::operator==):
2018         (pp::operator!=):
2019         * src/compiler/preprocessor/Token.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.cpp.
2020         (pp):
2021         (pp::Token::reset):
2022         (pp::Token::equals):
2023         (pp::Token::setAtStartOfLine):
2024         (pp::Token::setHasLeadingSpace):
2025         (pp::Token::setExpansionDisabled):
2026         (pp::Token::iValue):
2027         (pp::Token::uValue):
2028         (pp::Token::fValue):
2029         (pp::operator<<):
2030         * src/compiler/preprocessor/Token.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.h.
2031         (pp):
2032         (pp::Token::Token):
2033         (Token):
2034         (pp::Token::atStartOfLine):
2035         (pp::Token::hasLeadingSpace):
2036         (pp::Token::expansionDisabled):
2037         (pp::operator==):
2038         (pp::operator!=):
2039         * src/compiler/preprocessor/Tokenizer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.cpp.
2040         (yy_buffer_state):
2041         (yy_trans_info):
2042         (yyguts_t):
2043         (yy_get_previous_state):
2044         (yy_try_NUL_trans):
2045         (input):
2046         (pprestart):
2047         (pp_switch_to_buffer):
2048         (pp_load_buffer_state):
2049         (pp_create_buffer):
2050         (pp_delete_buffer):
2051         (pp_init_buffer):
2052         (pp_flush_buffer):
2053         (pppush_buffer_state):
2054         (pppop_buffer_state):
2055         (ppensure_buffer_stack):
2056         (pp_scan_buffer):
2057         (pp_scan_string):
2058         (pp_scan_bytes):
2059         (yy_fatal_error):
2060         (ppget_extra):
2061         (ppget_lineno):
2062         (ppget_column):
2063         (ppget_in):
2064         (ppget_out):
2065         (ppget_leng):
2066         (ppget_text):
2067         (ppset_extra):
2068         (ppset_lineno):
2069         (ppset_column):
2070         (ppset_in):
2071         (ppset_out):
2072         (ppget_debug):
2073         (ppset_debug):
2074         (ppget_lval):
2075         (ppset_lval):
2076         (ppget_lloc):
2077         (ppset_lloc):
2078         (pplex_init):
2079         (pplex_init_extra):
2080         (yy_init_globals):
2081         (pplex_destroy):
2082         (yy_flex_strncpy):
2083         (yy_flex_strlen):
2084         (ppalloc):
2085         (pprealloc):
2086         (ppfree):
2087         (pp):
2088         (pp::Tokenizer::Tokenizer):
2089         (pp::Tokenizer::~Tokenizer):
2090         (pp::Tokenizer::init):
2091         (pp::Tokenizer::setFileNumber):
2092         (pp::Tokenizer::setLineNumber):
2093         (pp::Tokenizer::lex):
2094         (pp::Tokenizer::initScanner):
2095         (pp::Tokenizer::destroyScanner):
2096         * src/compiler/preprocessor/Tokenizer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.h.
2097         (pp):
2098         (Tokenizer):
2099         (Context):
2100         * src/compiler/preprocessor/Tokenizer.l: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.l.
2101         * src/compiler/preprocessor/atom.c: Removed.
2102         * src/compiler/preprocessor/atom.h: Removed.
2103         * src/compiler/preprocessor/compile.h: Removed.
2104         * src/compiler/preprocessor/cpp.c: Removed.
2105         * src/compiler/preprocessor/cpp.h: Removed.
2106         * src/compiler/preprocessor/cppstruct.c: Removed.
2107         * src/compiler/preprocessor/generate_parser.sh: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/generate_parser.sh.
2108         * src/compiler/preprocessor/memory.c: Removed.
2109         * src/compiler/preprocessor/memory.h: Removed.
2110         * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Removed.
2111         * src/compiler/preprocessor/new/new_file.cpp: Removed.
2112         * src/compiler/preprocessor/new/new_file2.cpp: Removed.
2113         * src/compiler/preprocessor/new/preprocessor.vcproj: Removed.
2114         * src/compiler/preprocessor/numeric_lex.h: Added.
2115         (pp):
2116         (pp::numeric_base_int):
2117         (pp::numeric_lex_int):
2118         (pp::numeric_lex_float):
2119         * src/compiler/preprocessor/parser.h: Removed.
2120         * src/compiler/preprocessor/pp_utils.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/pp_utils.h.
2121         * src/compiler/preprocessor/preprocess.h: Removed.
2122         * src/compiler/preprocessor/scanner.c: Removed.
2123         * src/compiler/preprocessor/scanner.h: Removed.
2124         * src/compiler/preprocessor/slglobals.h: Removed.
2125         * src/compiler/preprocessor/symbols.c: Removed.
2126         * src/compiler/preprocessor/symbols.h: Removed.
2127         * src/compiler/preprocessor/tokens.c: Removed.
2128         * src/compiler/preprocessor/tokens.h: Removed.
2129         * src/libEGL/Config.cpp: Removed.
2130         * src/libEGL/Config.h: Removed.
2131         * src/libEGL/Display.cpp: Removed.
2132         * src/libEGL/Display.h: Removed.
2133         * src/libEGL/README: Added.
2134         * src/libEGL/Surface.cpp: Removed.
2135         * src/libEGL/Surface.h: Removed.
2136         * src/libEGL/libEGL.cpp: Removed.
2137         * src/libEGL/libEGL.def: Removed.
2138         * src/libEGL/libEGL.rc: Removed.
2139         * src/libEGL/libEGL.vcproj: Removed.
2140         * src/libEGL/main.cpp: Removed.
2141         * src/libEGL/main.h: Removed.
2142         * src/libEGL/resource.h: Removed.
2143         * src/libGLESv2/Blit.cpp: Removed.
2144         * src/libGLESv2/Blit.h: Removed.
2145         * src/libGLESv2/Buffer.cpp: Removed.
2146         * src/libGLESv2/Buffer.h: Removed.
2147         * src/libGLESv2/Context.cpp: Removed.
2148         * src/libGLESv2/Context.h: Removed.
2149         * src/libGLESv2/Fence.cpp: Removed.
2150         * src/libGLESv2/Fence.h: Removed.
2151         * src/libGLESv2/Framebuffer.cpp: Removed.
2152         * src/libGLESv2/Framebuffer.h: Removed.
2153         * src/libGLESv2/HandleAllocator.cpp: Removed.
2154         * src/libGLESv2/HandleAllocator.h: Removed.
2155         * src/libGLESv2/IndexDataManager.cpp: Removed.
2156         * src/libGLESv2/IndexDataManager.h: Removed.
2157         * src/libGLESv2/Program.cpp: Removed.
2158         * src/libGLESv2/Program.h: Removed.
2159         * src/libGLESv2/ProgramBinary.cpp: Removed.
2160         * src/libGLESv2/ProgramBinary.h: Removed.
2161         * src/libGLESv2/Query.cpp: Removed.
2162         * src/libGLESv2/Query.h: Removed.
2163         * src/libGLESv2/README: Added.
2164         * src/libGLESv2/Renderbuffer.cpp: Removed.
2165         * src/libGLESv2/Renderbuffer.h: Removed.
2166         * src/libGLESv2/ResourceManager.cpp: Removed.
2167         * src/libGLESv2/ResourceManager.h: Removed.
2168         * src/libGLESv2/Shader.cpp: Removed.
2169         * src/libGLESv2/Shader.h: Removed.
2170         * src/libGLESv2/Texture.cpp: Removed.
2171         * src/libGLESv2/Texture.h: Removed.
2172         * src/libGLESv2/VertexDataManager.cpp: Removed.
2173         * src/libGLESv2/VertexDataManager.h: Removed.
2174         * src/libGLESv2/libGLESv2.cpp: Removed.
2175         * src/libGLESv2/libGLESv2.def: Removed.
2176         * src/libGLESv2/libGLESv2.rc: Removed.
2177         * src/libGLESv2/libGLESv2.vcproj: Removed.
2178         * src/libGLESv2/main.cpp: Removed.
2179         * src/libGLESv2/main.h: Removed.
2180         * src/libGLESv2/mathutil.h: Removed.
2181         * src/libGLESv2/resource.h: Removed.
2182         * src/libGLESv2/utilities.cpp: Removed.
2183         * src/libGLESv2/utilities.h: Removed.
2184         * src/libGLESv2/vertexconversion.h: Removed.
2185
2186 2012-12-18  Max Vujovic  <mvujovic@adobe.com>
2187
2188         [ANGLE] Use of uninitialized memory in ArrayBoundsClamper
2189         https://bugs.webkit.org/show_bug.cgi?id=105218
2190
2191         Reviewed by Dean Jackson.
2192
2193         TIntermBinary::addIndexClamp is uninitialized when the compile flag 
2194         SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase. 
2195         CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS 
2196         flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
2197         that causes a shader to fail compilation at the WebGL level.
2198
2199         * src/compiler/intermediate.h:
2200         (TIntermBinary::TIntermBinary):
2201
2202 2012-10-29  Anders Carlsson  <andersca@apple.com>
2203
2204         Build WebKit as C++11 on Mac
2205         https://bugs.webkit.org/show_bug.cgi?id=100720
2206
2207         Reviewed by Daniel Bates.
2208
2209         * Configurations/Base.xcconfig:
2210         Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
2211
2212 2012-10-28  Mark Rowe  <mrowe@apple.com>
2213
2214         Simplify Xcode configuration settings that used to vary between OS versions.
2215
2216         Reviewed by Dan Bernstein.
2217
2218         * Configurations/Base.xcconfig:
2219         * Configurations/DebugRelease.xcconfig:
2220
2221 2012-10-28  Mark Rowe  <mrowe@apple.com>
2222
2223         Remove references to unsupported OS and Xcode versions.
2224
2225         Reviewed by Anders Carlsson.
2226
2227         * Configurations/Base.xcconfig:
2228         * Configurations/CompilerVersion.xcconfig: Removed.
2229         * Configurations/DebugRelease.xcconfig:
2230
2231 2012-10-27  Dan Bernstein  <mitz@apple.com>
2232
2233         REAL_PLATFORM_NAME build setting is no longer needed
2234         https://bugs.webkit.org/show_bug.cgi?id=100587
2235
2236         Reviewed by Mark Rowe.
2237
2238         Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
2239         to PLATFORM_NAME.
2240
2241         * Configurations/Base.xcconfig:
2242         * Configurations/CompilerVersion.xcconfig:
2243
2244 2012-10-18  Dean Jackson  <dino@apple.com>
2245
2246         Shader translator needs option to clamp uniform array accesses in vertex shaders
2247         https://bugs.webkit.org/show_bug.cgi?id=98977
2248         https://code.google.com/p/angleproject/issues/detail?id=49
2249
2250         Reviewed by Alok Priyadarshi and Ken Russell.
2251
2252         WebGL does not allow GLSL code to index a uniform array outside its bounds. Add a
2253         flag to the ANGLE compiler to insert clamp statements around such indexing.
2254         Since it is possible to access vec2/3/4 and mat2/3/4 components by array indexing,
2255         they must be similarly clamped.
2256
2257         Unfortunately, it is currently not possible to always determine that the indexing is
2258         operating on a uniform variable. For example, suppose we have "uniform mat4 a". ANGLE
2259         is currently not able to tell us that the rvalue of "a[0]" is a uniform, just that
2260         it has a size of 4. Therefore, the clamping is done on all indirect array indexing.
2261
2262         This will have a performance impact. Future enhancements may be able to determine
2263         cases where the clamping is not necessary. Currently only direct indexing is skipped
2264         (i.e. looking up a value using a constant index).
2265
2266         The clamp insertion is only performed on the GLSL output. Direct3D already guarantees
2267         that out-of-bounds uniform array access returns a zero value.
2268
2269         * ANGLE.xcodeproj/project.pbxproj:
2270         * Target.pri:
2271         * include/GLSLANG/ShaderLang.h: New compiler option.
2272         * src/compiler/ArrayBoundsClamper.cpp: Added.
2273         (ArrayBoundsClamper::ArrayBoundsClamper):
2274         (ArrayBoundsClamper::OutputClampingFunctionDefinition): Injects a clamping function for integers into GLSL source.
2275         (ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping): Examines the AST looking for non-direct array indexing.
2276         * src/compiler/ArrayBoundsClamper.h: Added.
2277         (ArrayBoundsClamper):
2278         (ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
2279         (ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded): Marks the object as needing to output the clamping function.
2280         (ArrayBoundsClamper::Cleanup): Resets the state so that subsequent runs start fresh.
2281         * src/compiler/Compiler.cpp:
2282         (TCompiler::compile): Run the clamping code if the compile option was set.
2283         (TCompiler::clearResults):
2284         (TCompiler::getArrayBoundsClamper):
2285         * src/compiler/OutputGLSLBase.cpp:
2286         (TOutputGLSLBase::visitBinary): If the expression has been flagged, insert an appropriate "clamp" statement.
2287         * src/compiler/ShHandle.h:
2288         (TCompiler):
2289         * src/compiler/TranslatorESSL.cpp:
2290         (TranslatorESSL::translate):
2291         * src/compiler/TranslatorGLSL.cpp:
2292         (TranslatorGLSL::translate):
2293         * src/compiler/intermOut.cpp:
2294         (TType::getCompleteString): Add array size to intermediate tree output.
2295         * src/compiler/intermediate.h:
2296         (TIntermBinary::setAddIndexClamp): New flag for indicating a binary expression needs clamping.
2297         (TIntermBinary::getAddIndexClamp):
2298         (TIntermBinary):
2299
2300 2012-09-13  Mark Rowe  <mrowe@apple.com>
2301
2302         <rdar://problem/12255720> Fix the build with newer Clang
2303
2304         Reviewed by Sam Weinig.
2305         
2306         Clang generates a warning about the inclusion of trailing commas on the final enum item as it's apparently
2307         a C++11 extension. Remove them.
2308         
2309         * src/compiler/BaseTypes.h:
2310         * src/compiler/ExtensionBehavior.h:
2311         * src/compiler/ParseHelper.cpp:
2312         (TParseContext::parseVectorFields):
2313         * src/compiler/intermediate.h:
2314
2315 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
2316
2317         [Qt] The ANGLE build on Windows breaks with GnuWin32's flex because it is too old
2318         https://bugs.webkit.org/show_bug.cgi?id=96359
2319
2320         Reviewed by Tor Arne Vestbø.
2321
2322         GnuWin32's flex is 2.5.4 and that is too old for ANGLE's preprocessor
2323         lexer. The only viable alternative I could find on Windows that provides
2324         binaries is the winflexbison distribution (http://sourceforge.net/projects/winflexbison/),
2325         so let's use that one instead.
2326
2327         * DerivedSources.pri:
2328
2329 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
2330
2331         [Qt] Build on Windows requires bison/flex in PATH
2332         https://bugs.webkit.org/show_bug.cgi?id=96358
2333
2334         Reviewed by Tor Arne Vestbø.
2335
2336         Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise
2337         the PATH prepend trick will break because it generates a command line along the lines of
2338         (set PATH="...") && with just that trailing ampersand pair.
2339
2340         * DerivedSources.pri:
2341
2342 2012-09-10  Dean Jackson  <dino@apple.com>
2343
2344         [Apple] Install plist for Apple Open Source build system
2345         https://bugs.webkit.org/show_bug.cgi?id=96345
2346
2347         Reviewed by Mark Rowe.
2348
2349         Apple's build system requires a couple of files that describe where
2350         the 3rd party Open Source library came from, and what license it
2351         uses. These files are copied into /usr/local when the project is
2352         being installed.
2353
2354         * ANGLE.plist: Added.
2355         * ANGLE.txt: Added.
2356         * ANGLE.xcodeproj/project.pbxproj:
2357
2358 2012-09-06  Andras Becsi  <andras.becsi@nokia.com>
2359
2360         [ANGLE] Fix the build with gcc 4.7
2361         https://bugs.webkit.org/show_bug.cgi?id=95989
2362
2363         Reviewed by Csaba Osztrogonác.
2364
2365         The build fails because of a bogus warning about the auto-generated
2366         pplval variable. Unfortunately the warning is called -Wuninitialized
2367         in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
2368         ignore unknown pragmas not to break the build with compilers that do
2369         not recognize these options.
2370
2371         * src/compiler/preprocessor/new/ExpressionParser.y:
2372
2373 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
2374
2375         [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
2376         https://bugs.webkit.org/show_bug.cgi?id=95965
2377
2378         Reviewed by Tor Arne Vestbø.
2379
2380         Add build rules to build ANGLE as a static library for the Qt port.
2381
2382         * ANGLE.pri: Added.
2383         * ANGLE.pro: Added.
2384         * DerivedSources.pri: Added.
2385         * Target.pri: Added.
2386
2387 2012-08-24  Joshua Netterfield  <jnetterfield@rim.com>
2388
2389         [CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
2390         https://bugs.webkit.org/show_bug.cgi?id=94736
2391         http://code.google.com/p/angleproject/issues/detail?id=360
2392
2393         Reviewed by George Staikos.
2394
2395         When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
2396         newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
2397         the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
2398         mNewFunctionName. This results in undefined behaviour in visitAggregate.
2399
2400         This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
2401         sanitization.
2402
2403         * src/compiler/RenameFunction.h:
2404         (RenameFunction::visitAggregate):
2405         (RenameFunction):
2406
2407 2012-07-18  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
2408
2409         [Qt] Buildfix after r122870.
2410         https://bugs.webkit.org/show_bug.cgi?id=89039
2411
2412         Reviewed by Csaba Osztrogonác
2413
2414         * src/compiler/preprocessor/new/MacroExpander.cpp:
2415         (pp::MacroExpander::ungetToken):
2416
2417 2012-07-17  Max Vujovic  <mvujovic@adobe.com>
2418
2419         Update ANGLE in WebKit
2420         https://bugs.webkit.org/show_bug.cgi?id=89039
2421
2422         Reviewed by Dean Jackson and Mark Rowe.
2423
2424         Update ANGLE to r1170, with the following modifications:
2425
2426         (1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
2427         glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
2428         2.3. The changes have been contributed back to ANGLE in r1224.
2429
2430         (2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
2431         in r1223.
2432
2433         (3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
2434         Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
2435
2436         With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
2437         in ANGLE under different folders. This caused problems on the QT build when their object
2438         files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
2439         DiagnosticBase.cpp avoids this conflict. The same situation occurred with
2440         DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
2441         updates.
2442
2443         (4) Add the following lines to glslang.y and ExpressionParser.y:
2444         #define YYENABLE_NLS 0
2445         #define YYLTYPE_IS_TRIVIAL 1
2446
2447         Bison 2.3 doesn't first check that these macros are defined before reading their value,
2448         which causes the QT build to fail.
2449
2450         We work around this issue in the same way in CSSGrammar.y.
2451
2452         I will work on contributing this change back to ANGLE.
2453
2454         * ANGLE.xcodeproj/project.pbxproj:
2455         * include/GLES2/gl2ext.h:
2456         * include/GLSLANG/ShaderLang.h:
2457         * src/build_angle.xcodeproj/project.pbxproj:
2458         * src/common/angleutils.h:
2459         * src/common/debug.cpp:
2460         (gl):
2461         (gl::output):
2462         (gl::trace):
2463         (gl::perfActive):
2464         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
2465         (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
2466         * src/common/version.h:
2467         * src/compiler/BuiltInFunctionEmulator.cpp:
2468         (BuiltInFunctionEmulator::IdentifyFunction):
2469         * src/compiler/BuiltInFunctionEmulator.h:
2470         * src/compiler/Compiler.cpp:
2471         (isWebGLBasedSpec):
2472         (TCompiler::compile):
2473         (TCompiler::rewriteCSSShader):
2474         (TCompiler::enforceTimingRestrictions):
2475         (TCompiler::enforceFragmentShaderTimingRestrictions):
2476         (TCompiler::enforceVertexShaderTimingRestrictions):
2477         * src/compiler/DetectDiscontinuity.cpp: Added.
2478         (sh::DetectLoopDiscontinuity::traverse):
2479         (sh):
2480         (sh::DetectLoopDiscontinuity::visitBranch):
2481         (sh::DetectLoopDiscontinuity::visitAggregate):
2482         (sh::containsLoopDiscontinuity):
2483         (sh::DetectGradientOperation::traverse):
2484         (sh::DetectGradientOperation::visitUnary):
2485         (sh::DetectGradientOperation::visitAggregate):
2486         (sh::containsGradientOperation):
2487         * src/compiler/DetectDiscontinuity.h: Added.
2488         (sh):
2489         (DetectLoopDiscontinuity):
2490         (DetectGradientOperation):
2491         * src/compiler/Diagnostics.cpp: Added.
2492         (TDiagnostics::TDiagnostics):
2493         (TDiagnostics::~TDiagnostics):
2494         (TDiagnostics::writeInfo):
2495         (TDiagnostics::writeDebug):
2496         (TDiagnostics::print):
2497         * src/compiler/Diagnostics.h: Added.
2498         (TDiagnostics):
2499         (TDiagnostics::infoSink):
2500         * src/compiler/DirectiveHandler.cpp: Added.
2501         (getBehavior):
2502         (TDirectiveHandler::TDirectiveHandler):
2503         (TDirectiveHandler::~TDirectiveHandler):
2504         (TDirectiveHandler::handleError):
2505         (TDirectiveHandler::handlePragma):
2506         (TDirectiveHandler::handleExtension):
2507         (TDirectiveHandler::handleVersion):
2508         * src/compiler/DirectiveHandler.h: Added.
2509         (TDirectiveHandler):
2510         (TDirectiveHandler::pragma):
2511         (TDirectiveHandler::extensionBehavior):
2512         * src/compiler/ExtensionBehavior.h:
2513         (getBehaviorString):
2514         * src/compiler/Initialize.cpp:
2515         (BuiltInConstants):
2516         (TBuiltIns::initialize):
2517         (IdentifyBuiltIns):
2518         * src/compiler/InitializeParseContext.cpp: Added.
2519         (InitializeParseContextIndex):
2520         (FreeParseContextIndex):
2521         (InitializeGlobalParseContext):
2522         (FreeParseContext):
2523         (GetGlobalParseContext):
2524         * src/compiler/InitializeParseContext.h:
2525         (TThreadParseContextRec):
2526         * src/compiler/Intermediate.cpp:
2527         (TIntermediate::addSelection):
2528         * src/compiler/MapLongVariableNames.cpp:
2529         * src/compiler/OutputHLSL.cpp:
2530         (sh::str):
2531         (sh::OutputHLSL::OutputHLSL):
2532         (sh::OutputHLSL::~OutputHLSL):
2533         (sh::OutputHLSL::output):
2534         (sh::OutputHLSL::header):
2535         (sh::OutputHLSL::visitBinary):
2536         (sh::OutputHLSL::visitUnary):
2537         (sh::OutputHLSL::visitAggregate):
2538         (sh::OutputHLSL::visitSelection):
2539         (sh::OutputHLSL::visitLoop):
2540         (sh::OutputHLSL::traverseStatements):
2541         (sh):
2542         (sh::OutputHLSL::handleExcessiveLoop):
2543         (sh::OutputHLSL::typeString):
2544         (sh::OutputHLSL::addConstructor):
2545         (sh::OutputHLSL::decorateField):
2546         * src/compiler/OutputHLSL.h:
2547         (sh):
2548         (OutputHLSL):
2549         * src/compiler/ParseHelper.cpp:
2550         (TParseContext::parseVectorFields):
2551         (TParseContext::parseMatrixFields):
2552         (TParseContext::error):
2553         (TParseContext::warning):
2554         (TParseContext::trace):
2555         (TParseContext::assignError):
2556         (TParseContext::unaryOpError):
2557         (TParseContext::binaryOpError):
2558         (TParseContext::precisionErrorCheck):
2559         (TParseContext::lValueErrorCheck):
2560         (TParseContext::constErrorCheck):
2561         (TParseContext::integerErrorCheck):
2562         (TParseContext::globalErrorCheck):
2563         (TParseContext::reservedErrorCheck):
2564         (TParseContext::constructorErrorCheck):
2565         (TParseContext::voidErrorCheck):
2566         (TParseContext::boolErrorCheck):
2567         (TParseContext::samplerErrorCheck):
2568         (TParseContext::structQualifierErrorCheck):
2569         (TParseContext::parameterSamplerErrorCheck):
2570         (TParseContext::arraySizeErrorCheck):
2571         (TParseContext::arrayQualifierErrorCheck):
2572         (TParseContext::arrayTypeErrorCheck):
2573         (TParseContext::arrayErrorCheck):
2574         (TParseContext::arraySetMaxSize):
2575         (TParseContext::nonInitConstErrorCheck):
2576         (TParseContext::nonInitErrorCheck):
2577         (TParseContext::paramErrorCheck):
2578         (TParseContext::extensionErrorCheck):
2579         (TParseContext::supportsExtension):
2580         (TParseContext::handleExtensionDirective):
2581         (TParseContext::handlePragmaDirective):
2582         (TParseContext::findFunction):
2583         (TParseContext::executeInitializer):
2584         (TParseContext::constructBuiltIn):
2585         (TParseContext::constructStruct):
2586         (TParseContext::addConstVectorNode):
2587         (TParseContext::addConstMatrixNode):
2588         (TParseContext::addConstArrayNode):
2589         (TParseContext::addConstStruct):
2590         (TParseContext::enterStructDeclaration):
2591         (TParseContext::structNestingErrorCheck):
2592         (PaParseStrings):
2593         * src/compiler/ParseHelper.h:
2594         (TParseContext::TParseContext):
2595         (TParseContext):
2596         (TParseContext::infoSink):
2597         (TParseContext::extensionBehavior):
2598         (TParseContext::pragma):
2599         * src/compiler/PoolAlloc.cpp:
2600         (TAllocation::checkGuardBlock):
2601         * src/compiler/Pragma.h: Added.
2602         (TPragma):
2603         (TPragma::TPragma):
2604         * src/compiler/RenameFunction.h: Added.
2605         (RenameFunction):
2606         (RenameFunction::RenameFunction):
2607         (RenameFunction::visitAggregate):
2608         * src/compiler/ShHandle.h:
2609         (TCompiler):
2610         * src/compiler/ShaderLang.cpp:
2611         (getVariableInfo):
2612         * src/compiler/SymbolTable.cpp:
2613         (TType::buildMangledName):
2614         * src/compiler/TranslatorHLSL.cpp:
2615         * src/compiler/UnfoldSelect.cpp: Removed.
2616         * src/compiler/UnfoldSelect.h: Removed.
2617         * src/compiler/UnfoldShortCircuit.cpp: Added.
2618         (sh::UnfoldShortCircuit::UnfoldShortCircuit):
2619         (sh):
2620         (sh::UnfoldShortCircuit::traverse):
2621         (sh::UnfoldShortCircuit::visitBinary):
2622         (sh::UnfoldShortCircuit::visitSelection):
2623         (sh::UnfoldShortCircuit::visitLoop):
2624         (sh::UnfoldShortCircuit::getNextTemporaryIndex):
2625         * src/compiler/UnfoldShortCircuit.h: Added.
2626         (sh):
2627         (UnfoldShortCircuit):
2628         * src/compiler/ValidateLimitations.cpp:
2629         * src/compiler/debug.cpp:
2630         * src/compiler/depgraph: Added.
2631         * src/compiler/depgraph/DependencyGraph.cpp: Added.
2632         (TDependencyGraph::TDependencyGraph):
2633         (TDependencyGraph::~TDependencyGraph):
2634         (TDependencyGraph::createArgument):
2635         (TDependencyGraph::createFunctionCall):
2636         (TDependencyGraph::getOrCreateSymbol):
2637         (TDependencyGraph::createSelection):
2638         (TDependencyGraph::createLoop):
2639         (TDependencyGraph::createLogicalOp):
2640         (TGraphLogicalOp::getOpString):
2641         * src/compiler/depgraph/DependencyGraph.h: Added.
2642         (TGraphNode):
2643         (TGraphNode::TGraphNode):
2644         (TGraphNode::~TGraphNode):
2645         (TGraphParentNode):
2646         (TGraphParentNode::TGraphParentNode):
2647         (TGraphParentNode::~TGraphParentNode):
2648         (TGraphParentNode::addDependentNode):
2649         (TGraphArgument):
2650         (TGraphArgument::TGraphArgument):
2651         (TGraphArgument::~TGraphArgument):
2652         (TGraphArgument::getIntermFunctionCall):
2653         (TGraphArgument::getArgumentNumber):
2654         (TGraphFunctionCall):
2655         (TGraphFunctionCall::TGraphFunctionCall):
2656         (TGraphFunctionCall::~TGraphFunctionCall):
2657         (TGraphFunctionCall::getIntermFunctionCall):
2658         (TGraphSymbol):
2659         (TGraphSymbol::TGraphSymbol):
2660         (TGraphSymbol::~TGraphSymbol):
2661         (TGraphSymbol::getIntermSymbol):
2662         (TGraphSelection):
2663         (TGraphSelection::TGraphSelection):
2664         (TGraphSelection::~TGraphSelection):
2665         (TGraphSelection::getIntermSelection):
2666         (TGraphLoop):
2667         (TGraphLoop::TGraphLoop):
2668         (TGraphLoop::~TGraphLoop):
2669         (TGraphLoop::getIntermLoop):
2670         (TGraphLogicalOp):
2671         (TGraphLogicalOp::TGraphLogicalOp):
2672         (TGraphLogicalOp::~TGraphLogicalOp):
2673         (TGraphLogicalOp::getIntermLogicalOp):
2674         (TDependencyGraph):
2675         (TDependencyGraph::begin):
2676         (TDependencyGraph::end):
2677         (TDependencyGraph::beginSamplerSymbols):
2678         (TDependencyGraph::endSamplerSymbols):
2679         (TDependencyGraph::beginUserDefinedFunctionCalls):
2680         (TDependencyGraph::endUserDefinedFunctionCalls):
2681         (TDependencyGraphTraverser):
2682         (TDependencyGraphTraverser::TDependencyGraphTraverser):
2683         (TDependencyGraphTraverser::visitSymbol):
2684         (TDependencyGraphTraverser::visitArgument):
2685         (TDependencyGraphTraverser::visitFunctionCall):
2686         (TDependencyGraphTraverser::visitSelection):
2687         (TDependencyGraphTraverser::visitLoop):
2688         (TDependencyGraphTraverser::visitLogicalOp):
2689         (TDependencyGraphTraverser::getDepth):
2690         (TDependencyGraphTraverser::incrementDepth):
2691         (TDependencyGraphTraverser::decrementDepth):
2692         (TDependencyGraphTraverser::clearVisited):
2693         (TDependencyGraphTraverser::markVisited):
2694         (TDependencyGraphTraverser::isVisited):
2695         * src/compiler/depgraph/DependencyGraphBuilder.cpp: Added.
2696         (TDependencyGraphBuilder::build):
2697         (TDependencyGraphBuilder::visitAggregate):
2698         (TDependencyGraphBuilder::visitFunctionDefinition):
2699         (TDependencyGraphBuilder::visitFunctionCall):
2700         (TDependencyGraphBuilder::visitAggregateChildren):
2701         (TDependencyGraphBuilder::visitSymbol):
2702         (TDependencyGraphBuilder::visitBinary):
2703         (TDependencyGraphBuilder::visitAssignment):
2704         (TDependencyGraphBuilder::visitLogicalOp):
2705         (TDependencyGraphBuilder::visitBinaryChildren):
2706         (TDependencyGraphBuilder::visitSelection):
2707         (TDependencyGraphBuilder::visitLoop):
2708         (TDependencyGraphBuilder::connectMultipleNodesToSingleNode):
2709         * src/compiler/depgraph/DependencyGraphBuilder.h: Added.
2710         (TDependencyGraphBuilder):
2711         (TNodeSetStack):
2712         (TDependencyGraphBuilder::TNodeSetStack::TNodeSetStack):
2713         (TDependencyGraphBuilder::TNodeSetStack::~TNodeSetStack):
2714         (TDependencyGraphBuilder::TNodeSetStack::getTopSet):
2715         (TDependencyGraphBuilder::TNodeSetStack::pushSet):
2716         (TDependencyGraphBuilder::TNodeSetStack::popSet):
2717         (TDependencyGraphBuilder::TNodeSetStack::popSetIntoNext):
2718         (TDependencyGraphBuilder::TNodeSetStack::insertIntoTopSet):
2719         (TDependencyGraphBuilder::TNodeSetStack::clear):
2720         (TNodeSetMaintainer):
2721         (TDependencyGraphBuilder::TNodeSetMaintainer::TNodeSetMaintainer):
2722         (TDependencyGraphBuilder::TNodeSetMaintainer::~TNodeSetMaintainer):
2723         (TNodeSetPropagatingMaintainer):
2724         (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::TNodeSetPropagatingMaintainer):
2725         (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::~TNodeSetPropagatingMaintainer):
2726         (TLeftmostSymbolMaintainer):
2727         (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::TLeftmostSymbolMaintainer):
2728         (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::~TLeftmostSymbolMaintainer):
2729         (TDependencyGraphBuilder::TDependencyGraphBuilder):
2730         (TDependencyGraphBuilder::build):
2731         * src/compiler/depgraph/DependencyGraphOutput.cpp: Added.
2732         (TDependencyGraphOutput::outputIndentation):
2733         (TDependencyGraphOutput::visitArgument):
2734         (TDependencyGraphOutput::visitFunctionCall):
2735         (TDependencyGraphOutput::visitSymbol):
2736         (TDependencyGraphOutput::visitSelection):
2737         (TDependencyGraphOutput::visitLoop):
2738         (TDependencyGraphOutput::visitLogicalOp):
2739         (TDependencyGraphOutput::outputAllSpanningTrees):
2740         * src/compiler/depgraph/DependencyGraphOutput.h: Added.
2741         (TDependencyGraphOutput):
2742         (TDependencyGraphOutput::TDependencyGraphOutput):
2743         * src/compiler/depgraph/DependencyGraphTraverse.cpp: Added.
2744         (TGraphNode::traverse):
2745         (TGraphParentNode::traverse):
2746         (TGraphArgument::traverse):
2747         (TGraphFunctionCall::traverse):
2748         (TGraphSymbol::traverse):
2749         (TGraphSelection::traverse):
2750         (TGraphLoop::traverse):
2751         (TGraphLogicalOp::traverse):
2752         * src/compiler/glslang.h:
2753         * src/compiler/glslang.l:
2754         * src/compiler/glslang.y:
2755         * src/compiler/glslang_lex.cpp:
2756         (yy_buffer_state):
2757         (yyguts_t):
2758         (yy_get_previous_state):
2759         (yy_try_NUL_trans):
2760         (input):
2761         (yyensure_buffer_stack):
2762         (yy_scan_bytes):
2763         (yyget_leng):
2764         (string_input):
2765         (yyerror):
2766         (glslang_finalize):
2767         (glslang_scan):
2768         * src/compiler/glslang_tab.cpp:
2769         * src/compiler/intermediate.h:
2770         (TIntermAggregate::TIntermAggregate):
2771         (TIntermAggregate::~TIntermAggregate):
2772         (TIntermAggregate::isUserDefined):
2773         (TIntermAggregate):
2774         (TIntermTraverser::~TIntermTraverser):
2775         * src/compiler/osinclude.h:
2776         * src/compiler/preprocessor/atom.c:
2777         (FindHashLoc):
2778         (PrintAtomTable):
2779         * src/compiler/preprocessor/cpp.c:
2780         (CPPpragma):
2781         (readCPPline):
2782         (PredefineIntMacro):
2783         (MacroExpand):
2784         * src/compiler/preprocessor/cpp.h:
2785         * src/compiler/preprocessor/memory.h:
2786         * src/compiler/preprocessor/new: Added properties allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs and allow-tabs.
2787         * src/compiler/preprocessor/new/Context.cpp: Removed.
2788         * src/compiler/preprocessor/new/Context.h: Removed.
2789         * src/compiler/preprocessor/new/Diagnostics.h: Added.
2790         (pp):
2791         (Diagnostics):
2792         * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Added.
2793         (pp):
2794         (pp::Diagnostics::~Diagnostics):
2795         (pp::Diagnostics::report):
2796         (pp::Diagnostics::severity):
2797         * src/compiler/preprocessor/new/DirectiveHandler.h: Added.
2798         (pp):
2799         (DirectiveHandler):
2800         * src/compiler/preprocessor/new/DirectiveHandlerBase.cpp: Added.
2801         (pp):
2802         (pp::DirectiveHandler::~DirectiveHandler):
2803         * src/compiler/preprocessor/new/DirectiveParser.cpp: Added.
2804         (getDirective):
2805         (isConditionalDirective):
2806         (isEOD):
2807         (skipUntilEOD):
2808         (isMacroNameReserved):
2809         (isMacroPredefined):
2810         (pp):
2811         (DefinedParser):
2812         (pp::DefinedParser::DefinedParser):
2813         (pp::DefinedParser::lex):
2814         (pp::DirectiveParser::DirectiveParser):
2815         (pp::DirectiveParser::lex):
2816         (pp::DirectiveParser::parseDirective):
2817         (pp::DirectiveParser::parseDefine):
2818         (pp::DirectiveParser::parseUndef):
2819         (pp::DirectiveParser::parseIf):
2820         (pp::DirectiveParser::parseIfdef):
2821         (pp::DirectiveParser::parseIfndef):
2822         (pp::DirectiveParser::parseElse):
2823         (pp::DirectiveParser::parseElif):
2824         (pp::DirectiveParser::parseEndif):
2825         (pp::DirectiveParser::parseError):
2826         (pp::DirectiveParser::parsePragma):
2827         (pp::DirectiveParser::parseExtension):
2828         (pp::DirectiveParser::parseVersion):
2829         (pp::DirectiveParser::parseLine):
2830         (pp::DirectiveParser::skipping):
2831         (pp::DirectiveParser::parseConditionalIf):
2832         (pp::DirectiveParser::parseExpressionIf):
2833         (pp::DirectiveParser::parseExpressionIfdef):
2834         * src/compiler/preprocessor/new/DirectiveParser.h: Added.
2835         (pp):
2836         (DirectiveParser):
2837         (ConditionalBlock):
2838         (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
2839         * src/compiler/preprocessor/new/ExpressionParser.cpp: Added.
2840         (yysyntax_error):
2841         (yylex):
2842         (yyerror):
2843         (pp):
2844         (pp::ExpressionParser::ExpressionParser):
2845         (pp::ExpressionParser::parse):
2846         * src/compiler/preprocessor/new/ExpressionParser.h: Added.
2847         (pp):
2848         (ExpressionParser):
2849         * src/compiler/preprocessor/new/ExpressionParser.y: Added.
2850         * src/compiler/preprocessor/new/Input.cpp: Added property allow-tabs.
2851         (pp::Input::Input):
2852         (pp::Input::read):
2853         * src/compiler/preprocessor/new/Input.h: Added property allow-tabs.
2854         (pp):
2855         (Input):
2856         (pp::Input::count):
2857         (pp::Input::string):
2858         (pp::Input::length):
2859         (Location):
2860         (pp::Input::Location::Location):
2861         (pp::Input::readLoc):
2862         * src/compiler/preprocessor/new/Lexer.cpp: Added.
2863         (pp):
2864         (pp::Lexer::~Lexer):
2865         * src/compiler/preprocessor/new/Lexer.h: Added.
2866         (pp):
2867         (Lexer):
2868         * src/compiler/preprocessor/new/Macro.cpp: Added property allow-tabs.
2869         (pp::Macro::equals):
2870         * src/compiler/preprocessor/new/Macro.h: Added property allow-tabs.
2871         (pp):
2872         (pp::Macro::Macro):
2873         (Macro):
2874         * src/compiler/preprocessor/new/MacroExpander.cpp: Added.
2875         (pp):
2876         (TokenLexer):
2877         (pp::TokenLexer::TokenLexer):
2878         (pp::TokenLexer::lex):
2879         (pp::MacroExpander::MacroExpander):
2880         (pp::MacroExpander::~MacroExpander):
2881         (pp::MacroExpander::lex):
2882         (pp::MacroExpander::getToken):
2883         (pp::MacroExpander::ungetToken):
2884         (pp::MacroExpander::isNextTokenLeftParen):
2885         (pp::MacroExpander::pushMacro):
2886         (pp::MacroExpander::popMacro):
2887         (pp::MacroExpander::expandMacro):
2888         (pp::MacroExpander::collectMacroArgs):
2889         (pp::MacroExpander::replaceMacroParams):
2890         * src/compiler/preprocessor/new/MacroExpander.h: Added.
2891         (pp):
2892         (MacroExpander):
2893         (MacroContext):
2894         (pp::MacroExpander::MacroContext::MacroContext):
2895         (pp::MacroExpander::MacroContext::empty):
2896         (pp::MacroExpander::MacroContext::get):
2897         (pp::MacroExpander::MacroContext::unget):
2898         * src/compiler/preprocessor/new/Preprocessor.cpp: Added property allow-tabs.
2899         (PreprocessorImpl):
2900         (pp::PreprocessorImpl::PreprocessorImpl):
2901         (pp):
2902         (pp::Preprocessor::Preprocessor):
2903         (pp::Preprocessor::~Preprocessor):
2904         (pp::Preprocessor::init):
2905         (pp::Preprocessor::predefineMacro):
2906         (pp::Preprocessor::lex):
2907         * src/compiler/preprocessor/new/Preprocessor.h: Added property allow-tabs.
2908         (pp):
2909         (Preprocessor):
2910         * src/compiler/preprocessor/new/SourceLocation.h: Added.
2911         (pp):
2912         (pp::SourceLocation::SourceLocation):
2913         (SourceLocation):
2914         (pp::SourceLocation::equals):
2915         (pp::operator==):
2916         (pp::operator!=):
2917         * src/compiler/preprocessor/new/Token.cpp: Added property allow-tabs.
2918         (pp::Token::reset):
2919         (pp::Token::equals):
2920         (pp::Token::setAtStartOfLine):
2921         (pp::Token::setHasLeadingSpace):
2922         (pp):
2923         (pp::Token::setExpansionDisabled):
2924         (pp::operator<<):
2925         * src/compiler/preprocessor/new/Token.h: Added property allow-tabs.
2926         (pp::Token::Token):
2927         (Token):
2928         (pp::Token::atStartOfLine):
2929         (pp::Token::hasLeadingSpace):
2930         (pp::Token::expansionDisabled):
2931         (pp::operator==):
2932         (pp):
2933         (pp::operator!=):
2934         * src/compiler/preprocessor/new/Tokenizer.cpp: Added.
2935         (yy_buffer_state):
2936         (yy_trans_info):
2937         (yyguts_t):
2938         (yy_get_previous_state):
2939         (yy_try_NUL_trans):
2940         (input):
2941         (pprestart):
2942         (pp_switch_to_buffer):
2943         (pp_load_buffer_state):
2944         (pp_create_buffer):
2945         (pp_delete_buffer):
2946         (pp_init_buffer):
2947         (pp_flush_buffer):
2948         (pppush_buffer_state):
2949         (pppop_buffer_state):
2950         (ppensure_buffer_stack):
2951         (pp_scan_buffer):
2952         (pp_scan_string):
2953         (pp_scan_bytes):
2954         (yy_fatal_error):
2955         (ppget_extra):
2956         (ppget_lineno):
2957         (ppget_column):
2958         (ppget_in):
2959         (ppget_out):
2960         (ppget_leng):
2961         (ppget_text):
2962         (ppset_extra):
2963         (ppset_lineno):
2964         (ppset_column):
2965         (ppset_in):
2966         (ppset_out):
2967         (ppget_debug):
2968         (ppset_debug):
2969         (ppget_lval):
2970         (ppset_lval):
2971         (ppget_lloc):
2972         (ppset_lloc):
2973         (pplex_init):
2974         (pplex_init_extra):
2975         (yy_init_globals):
2976         (pplex_destroy):
2977         (yy_flex_strncpy):
2978         (yy_flex_strlen):
2979         (ppalloc):
2980         (pprealloc):
2981         (ppfree):
2982         (pp):
2983         (pp::Tokenizer::Tokenizer):
2984         (pp::Tokenizer::~Tokenizer):
2985         (pp::Tokenizer::init):
2986         (pp::Tokenizer::setFileNumber):
2987         (pp::Tokenizer::setLineNumber):
2988         (pp::Tokenizer::lex):
2989         (pp::Tokenizer::initScanner):
2990         (pp::Tokenizer::destroyScanner):
2991         * src/compiler/preprocessor/new/Tokenizer.h: Added.
2992         (pp):
2993         (Tokenizer):
2994         (Context):
2995         * src/compiler/preprocessor/new/Tokenizer.l: Added.
2996         * src/compiler/preprocessor/new/generate_parser.sh: Added property allow-tabs.
2997         * src/compiler/preprocessor/new/pp.l: Removed.
2998         * src/compiler/preprocessor/new/pp.y: Removed.
2999         * src/compiler/preprocessor/new/pp_lex.cpp: Removed.
3000         * src/compiler/preprocessor/new/pp_tab.cpp: Removed.
3001         * src/compiler/preprocessor/new/pp_tab.h: Removed.
3002         * src/compiler/preprocessor/new/pp_utils.h: Added.
3003         * src/compiler/preprocessor/new/preprocessor.vcproj: Added.
3004         * src/compiler/preprocessor/new/stl_utils.h: Removed.
3005         * src/compiler/preprocessor/new/token_type.h: Removed.
3006         * src/compiler/preprocessor/preprocess.h:
3007         * src/compiler/preprocessor/scanner.c:
3008         (InitScannerInput):
3009         * src/compiler/preprocessor/scanner.h:
3010         * src/compiler/preprocessor/symbols.h:
3011         * src/compiler/preprocessor/tokens.c:
3012         (ReadToken):
3013         (DumpTokenStream):
3014         * src/compiler/preprocessor/tokens.h:
3015         * src/compiler/timing: Added.
3016         * src/compiler/timing/RestrictFragmentShaderTiming.cpp: Added.
3017         (RestrictFragmentShaderTiming::RestrictFragmentShaderTiming):
3018         (RestrictFragmentShaderTiming::enforceRestrictions):
3019         (RestrictFragmentShaderTiming::validateUserDefinedFunctionCallUsage):
3020         (RestrictFragmentShaderTiming::beginError):
3021         (RestrictFragmentShaderTiming::isSamplingOp):
3022         (RestrictFragmentShaderTiming::visitArgument):
3023         (RestrictFragmentShaderTiming::visitSelection):
3024         (RestrictFragmentShaderTiming::visitLoop):
3025         (RestrictFragmentShaderTiming::visitLogicalOp):
3026         * src/compiler/timing/RestrictFragmentShaderTiming.h: Added.
3027         (RestrictFragmentShaderTiming):
3028         (RestrictFragmentShaderTiming::numErrors):
3029         * src/compiler/timing/RestrictVertexShaderTiming.cpp: Added.
3030         (RestrictVertexShaderTiming::visitSymbol):
3031         * src/compiler/timing/RestrictVertexShaderTiming.h: Added.
3032         (RestrictVertexShaderTiming):
3033         (RestrictVertexShaderTiming::RestrictVertexShaderTiming):
3034         (RestrictVertexShaderTiming::enforceRestrictions):
3035         (RestrictVertexShaderTiming::numErrors):
3036         * src/libEGL/Display.cpp:
3037         (egl):
3038         (egl::Display::getDepthTextureSupport):
3039         (egl::Display::getTexturePool):
3040         * src/libEGL/Display.h:
3041         (Display):
3042         * src/libEGL/Surface.cpp:
3043         (egl::Surface::Surface):
3044         (egl::Surface::release):
3045         (egl::Surface::resetSwapChain):
3046         (egl::Surface::swapRect):
3047         (egl):
3048         (egl::Surface::swap):
3049         (egl::Surface::postSubBuffer):
3050         * src/libEGL/Surface.h:
3051         (Surface):
3052         * src/libEGL/libEGL.cpp:
3053         * src/libGLESv2/Context.cpp:
3054         (gl::Context::makeCurrent):
3055         (gl::Context::markDxUniformsDirty):
3056         (gl):
3057         (gl::Context::getIntegerv):
3058         (gl::Context::getQueryParameterInfo):
3059         (gl::Context::applyRenderTarget):
3060         (gl::Context::applyState):
3061         (gl::Context::applyShaders):
3062         (gl::Context::applyTextures):
3063         (gl::Context::readPixels):
3064         (gl::Context::clear):
3065         (gl::Context::drawArrays):
3066         (gl::Context::drawElements):
3067         (gl::Context::supportsDepthTextures):
3068         (gl::Context::initExtensionString):
3069         (gl::Context::blitFramebuffer):
3070         (gl::VertexDeclarationCache::applyDeclaration):
3071         * src/libGLESv2/Context.h:
3072         (Context):
3073         * src/libGLESv2/Framebuffer.cpp:
3074         (gl::Framebuffer::~Framebuffer):
3075         (gl):
3076         (gl::Framebuffer::getNullColorbuffer):
3077         (gl::Framebuffer::completeness):
3078         * src/libGLESv2/Framebuffer.h:
3079         (Framebuffer):
3080         * src/libGLESv2/Program.cpp:
3081         (gl):
3082         (gl::AttributeBindings::AttributeBindings):
3083         (gl::AttributeBindings::~AttributeBindings):
3084         (gl::InfoLog::InfoLog):
3085         (gl::InfoLog::~InfoLog):
3086         (gl::InfoLog::getLength):
3087         (gl::InfoLog::getLog):
3088         (gl::InfoLog::appendSanitized):
3089         (gl::InfoLog::append):
3090         (gl::InfoLog::reset):
3091         (gl::Program::Program):
3092         (gl::Program::~Program):
3093         (gl::Program::attachShader):
3094         (gl::Program::detachShader):
3095         (gl::Program::getAttachedShadersCount):
3096         (gl::AttributeBindings::bindAttributeLocation):
3097         (gl::Program::bindAttributeLocation):
3098         (gl::Program::link):
3099         (gl::AttributeBindings::getAttributeBinding):
3100         (gl::Program::unlink):
3101         (gl::Program::getProgramBinary):
3102         (gl::Program::setProgramBinary):
3103         (gl::Program::getInfoLogLength):
3104         (gl::Program::getInfoLog):
3105         (gl::Program::getActiveAttribute):
3106         (gl::Program::getActiveAttributeCount):
3107         (gl::Program::getActiveAttributeMaxLength):
3108         (gl::Program::getActiveUniform):
3109         (gl::Program::getActiveUniformCount):
3110         (gl::Program::getActiveUniformMaxLength):
3111         (gl::Program::validate):
3112         (gl::Program::isValidated):
3113         * src/libGLESv2/Program.h:
3114         (gl):
3115         (AttributeBindings):
3116         (InfoLog):
3117         (Program):
3118         * src/libGLESv2/ProgramBinary.cpp: Added.
3119         (gl::str):
3120         (gl):
3121         (gl::Uniform::Uniform):
3122         (gl::Uniform::~Uniform):
3123         (gl::Uniform::isArray):
3124         (gl::UniformLocation::UniformLocation):
3125         (gl::ProgramBinary::ProgramBinary):
3126         (gl::ProgramBinary::~ProgramBinary):
3127         (gl::ProgramBinary::getPixelShader):
3128         (gl::ProgramBinary::getVertexShader):
3129         (gl::ProgramBinary::getAttributeLocation):
3130         (gl::ProgramBinary::getSemanticIndex):
3131         (gl::ProgramBinary::getUsedSamplerRange):
3132         (gl::ProgramBinary::getSamplerMapping):
3133         (gl::ProgramBinary::getSamplerTextureType):
3134         (gl::ProgramBinary::getUniformLocation):
3135         (gl::ProgramBinary::setUniform1fv):
3136         (gl::ProgramBinary::setUniform2fv):
3137         (gl::ProgramBinary::setUniform3fv):
3138         (gl::ProgramBinary::setUniform4fv):
3139         (gl::transposeMatrix):
3140         (gl::ProgramBinary::setUniformMatrix2fv):
3141         (gl::ProgramBinary::setUniformMatrix3fv):
3142         (gl::ProgramBinary::setUniformMatrix4fv):
3143         (gl::ProgramBinary::setUniform1iv):
3144         (gl::ProgramBinary::setUniform2iv):
3145         (gl::ProgramBinary::setUniform3iv):
3146         (gl::ProgramBinary::setUniform4iv):
3147         (gl::ProgramBinary::getUniformfv):
3148         (gl::ProgramBinary::getUniformiv):
3149         (gl::ProgramBinary::dirtyAllUniforms):
3150         (gl::ProgramBinary::applyUniforms):
3151         (gl::ProgramBinary::compileToBinary):
3152         (gl::ProgramBinary::packVaryings):
3153         (gl::ProgramBinary::linkVaryings):
3154         (gl::ProgramBinary::link):
3155         (gl::ProgramBinary::linkAttributes):
3156         (gl::ProgramBinary::linkUniforms):
3157         (gl::ProgramBinary::defineUniform):
3158         (gl::ProgramBinary::createUniform):
3159         (gl::ProgramBinary::decorateAttribute):
3160         (gl::ProgramBinary::undecorateUniform):
3161         (gl::ProgramBinary::applyUniformnbv):
3162         (gl::ProgramBinary::applyUniformnfv):
3163         (gl::ProgramBinary::applyUniform1iv):
3164         (gl::ProgramBinary::applyUniform2iv):
3165         (gl::ProgramBinary::applyUniform3iv):
3166         (gl::ProgramBinary::applyUniform4iv):
3167         (gl::ProgramBinary::applyUniformniv):
3168         (gl::ProgramBinary::isValidated):
3169         (gl::ProgramBinary::getActiveAttribute):
3170         (gl::ProgramBinary::getActiveAttributeCount):
3171         (gl::ProgramBinary::getActiveAttributeMaxLength):
3172         (gl::ProgramBinary::getActiveUniform):
3173         (gl::ProgramBinary::getActiveUniformCount):
3174         (gl::ProgramBinary::getActiveUniformMaxLength):
3175         (gl::ProgramBinary::validate):
3176         (gl::ProgramBinary::validateSamplers):
3177         (gl::ProgramBinary::getDxDepthRangeLocation):
3178         (gl::ProgramBinary::getDxDepthLocation):
3179         (gl::ProgramBinary::getDxCoordLocation):
3180         (gl::ProgramBinary::getDxHalfPixelSizeLocation):
3181         (gl::ProgramBinary::getDxFrontCCWLocation):
3182         (gl::ProgramBinary::getDxPointsOrLinesLocation):
3183         * src/libGLESv2/ProgramBinary.h: Added.
3184         (gl):
3185         (Uniform):
3186         (gl::Uniform::RegisterInfo::RegisterInfo):
3187         (RegisterInfo):
3188         (gl::Uniform::RegisterInfo::set):
3189         (UniformLocation):
3190         (ProgramBinary):
3191         (Sampler):
3192         * src/libGLESv2/Renderbuffer.cpp:
3193         (gl):
3194         (gl::RenderbufferTexture2D::RenderbufferTexture2D):
3195         (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
3196         (gl::RenderbufferTexture2D::addProxyRef):
3197         (gl::RenderbufferTexture2D::releaseProxy):
3198         (gl::RenderbufferTexture2D::getRenderTarget):
3199         (gl::RenderbufferTexture2D::getDepthStencil):
3200         (gl::RenderbufferTexture2D::getWidth):
3201         (gl::RenderbufferTexture2D::getHeight):
3202         (gl::RenderbufferTexture2D::getInternalFormat):
3203         (gl::RenderbufferTexture2D::getD3DFormat):
3204         (gl::RenderbufferTexture2D::getSamples):
3205         (gl::RenderbufferTexture2D::getSerial):
3206         (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
3207         (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
3208         (gl::RenderbufferTextureCubeMap::addProxyRef):
3209         (gl::RenderbufferTextureCubeMap::releaseProxy):
3210         (gl::RenderbufferTextureCubeMap::getRenderTarget):
3211         (gl::RenderbufferTextureCubeMap::getDepthStencil):
3212         (gl::RenderbufferTextureCubeMap::getWidth):
3213         (gl::RenderbufferTextureCubeMap::getHeight):
3214         (gl::RenderbufferTextureCubeMap::getInternalFormat):
3215         (gl::RenderbufferTextureCubeMap::getD3DFormat):
3216         (gl::RenderbufferTextureCubeMap::getSamples):
3217         (gl::RenderbufferTextureCubeMap::getSerial):
3218         (gl::DepthStencilbuffer::getDepthStencil):
3219         * src/libGLESv2/Renderbuffer.h:
3220         (gl):
3221         (RenderbufferTexture2D):
3222         (RenderbufferTextureCubeMap):
3223         * src/libGLESv2/Shader.cpp:
3224         (gl::Shader::getInfoLog):
3225         (gl::Shader::getSourceImpl):
3226         * src/libGLESv2/Shader.h:
3227         (Shader):
3228         (VertexShader):
3229         * src/libGLESv2/Texture.cpp:
3230         (gl::ConvertTextureFormatType):
3231         (gl::IsTextureFormatRenderable):
3232         (gl::GetTextureUsage):
3233         (gl):
3234         (gl::Image::createSurface):
3235         (gl::Image::updateSurface):
3236         (gl::Image::loadData):
3237         (gl::Image::loadAlphaData):
3238         (gl::Image::loadAlphaDataSSE2):
3239         (gl::Image::loadAlphaFloatData):
3240         (gl::Image::loadAlphaHalfFloatData):
3241         (gl::Image::loadLuminanceData):
3242         (gl::Image::loadLuminanceFloatData):
3243         (gl::Image::loadLuminanceHalfFloatData):
3244         (gl::Image::loadLuminanceAlphaData):
3245         (gl::Image::loadLuminanceAlphaFloatData):
3246         (gl::Image::loadLuminanceAlphaHalfFloatData):
3247         (gl::Image::loadRGBUByteData):
3248         (gl::Image::loadRGB565Data):
3249         (gl::Image::loadRGBFloatData):
3250         (gl::Image::loadRGBHalfFloatData):
3251         (gl::Image::loadRGBAUByteDataSSE2):
3252         (gl::Image::loadRGBAUByteData):
3253         (gl::Image::loadRGBA4444Data):
3254         (gl::Image::loadRGBA5551Data):
3255         (gl::Image::loadRGBAFloatData):
3256         (gl::Image::loadRGBAHalfFloatData):
3257         (gl::Image::loadBGRAData):
3258         (gl::Image::loadCompressedData):
3259         (gl::Image::copy):
3260         (gl::TextureStorage::TextureStorage):
3261         (gl::TextureStorage::isRenderTarget):
3262         (gl::TextureStorage::getUsage):
3263         (gl::Texture::setImage):
3264         (gl::Texture::setCompressedImage):
3265         (gl::Texture::subImage):
3266         (gl::Texture::subImageCompressed):
3267         (gl::TextureStorage2D::TextureStorage2D):
3268         (gl::Texture2D::getInternalFormat):
3269         (gl::Texture2D::getD3DFormat):
3270         (gl::Texture2D::copyImage):
3271         (gl::Texture2D::copySubImage):
3272         (gl::Texture2D::storage):
3273         (gl::Texture2D::isSamplerComplete):
3274         (gl::Texture2D::isCompressed):
3275         (gl::Texture2D::isDepth):
3276         (gl::Texture2D::createTexture):
3277         (gl::Texture2D::convertToRenderTarget):
3278         (gl::Texture2D::getRenderbuffer):
3279         (gl::Texture2D::getRenderTarget):
3280         (gl::Texture2D::getDepthStencil):
3281         (gl::TextureStorageCubeMap::TextureStorageCubeMap):
3282         (gl::TextureCubeMap::getWidth):
3283         (gl::TextureCubeMap::getHeight):
3284         (gl::TextureCubeMap::getInternalFormat):
3285         (gl::TextureCubeMap::getD3DFormat):
3286         (gl::TextureCubeMap::isSamplerComplete):
3287         (gl::TextureCubeMap::isCompressed):
3288         (gl::TextureCubeMap::createTexture):
3289         (gl::TextureCubeMap::convertToRenderTarget):
3290         (gl::TextureCubeMap::copyImage):
3291         (gl::TextureCubeMap::copySubImage):
3292         (gl::TextureCubeMap::storage):
3293         (gl::TextureCubeMap::getRenderbuffer):
3294         * src/libGLESv2/Texture.h:
3295         (Image):
3296         (TextureStorage):
3297         (Texture):
3298         (TextureStorage2D):
3299         (Texture2D):
3300         (TextureStorageCubeMap):
3301         (TextureCubeMap):
3302         * src/libGLESv2/VertexDataManager.cpp:
3303         (gl::VertexDataManager::prepareVertexData):
3304         * src/libGLESv2/libGLESv2.cpp:
3305         (checkTextureFormatType):
3306         (validateSubImageParams2D):
3307         (validateSubImageParamsCube):
3308         * src/libGLESv2/libGLESv2.vcproj:
3309         * src/libGLESv2/mathutil.h:
3310         (gl):
3311         * src/libGLESv2/utilities.cpp:
3312         (gl::IsDepthTexture):
3313         (gl):
3314         (gl::ComputePixelSize):
3315         (gl::ExtractFormat):
3316         (gl::ExtractType):
3317         (es2dx::ConvertCubeFace):
3318         (es2dx::ConvertRenderbufferFormat):
3319         (dx2es::GetStencilSize):
3320         (dx2es::GetDepthSize):
3321         (dx2es::IsDepthTextureFormat):
3322         (dx2es):
3323         (dx2es::IsStencilTextureFormat):
3324         (dx2es::ConvertDepthStencilFormat):
3325         * src/libGLESv2/utilities.h:
3326         (gl):
3327         (dx2es):
3328
3329 2012-07-11  Mark Rowe  <mrowe@apple.com>
3330
3331         <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
3332
3333         Reviewed by Dan Bernstein.
3334
3335         The deployment target is already set to the version that we're targeting, and it's that setting
3336         which determines which functionality from the SDK is available to us.
3337
3338         * Configurations/Base.xcconfig:
3339
3340 2012-06-22  Joshua Netterfield  <jnetterfield@rim.com>
3341
3342         [BlackBerry] Sanitize GLSL code using ANGLE.
3343
3344         BlackBerry port does not sanitize GLSL code with ANGLE
3345         https://bugs.webkit.org/show_bug.cgi?id=89583
3346
3347         Reviewed by Rob Buis.
3348
3349         * src/compiler/osinclude.h: Recognises QNX as POSIX
3350
3351 2012-03-26  Dean Jackson  <dino@apple.com>
3352
3353         Update ANGLE in WebKit
3354         https://bugs.webkit.org/show_bug.cgi?id=81717
3355
3356         Reviewed by Kenneth Russell.
3357
3358         Update angleproject to r1009. Synced the source directory
3359         between the angle repository and WebKit. Ran the OS X Lion
3360         version of Bison over the glslang.l input which generates
3361         a slightly different output than angle provided.
3362
3363         * include/EGL/eglext.h:
3364         * include/GLES2/gl2ext.h:
3365         * include/GLSLANG/ShaderLang.h:
3366         * src/common/RefCountObject.cpp: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.cpp.
3367         (RefCountObject::RefCountObject):
3368         (RefCountObject::~RefCountObject):
3369         (RefCountObject::addRef):
3370         (RefCountObject::release):
3371         (RefCountObjectBindingPointer::set):
3372         * src/common/RefCountObject.h: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.h.
3373         (RefCountObject):
3374         (RefCountObject::id):
3375         (RefCountObjectBindingPointer):
3376         (RefCountObjectBindingPointer::RefCountObjectBindingPointer):
3377         (RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
3378         (RefCountObjectBindingPointer::get):
3379         (RefCountObjectBindingPointer::id):
3380         (RefCountObjectBindingPointer::operator ! ):
3381         (BindingPointer):
3382         (BindingPointer::set):
3383         (BindingPointer::get):
3384         (BindingPointer::operator -> ):
3385         * src/common/debug.cpp:
3386         (gl::output):
3387         * src/common/version.h:
3388         * src/compiler/BaseTypes.h:
3389         * src/compiler/Compiler.cpp:
3390         (TCompiler::TCompiler):
3391         (TCompiler::~TCompiler):
3392         (TCompiler::mapLongVariableNames):
3393         * src/compiler/ConstantUnion.h:
3394         (ConstantUnion::ConstantUnion):
3395         (ConstantUnion::operator==):
3396         (ConstantUnion::operator>):
3397         (ConstantUnion::operator<):
3398         * src/compiler/Intermediate.cpp:
3399         (TIntermConstantUnion::fold):
3400         * src/compiler/MapLongVariableNames.cpp:
3401         (LongNameMap::LongNameMap):
3402         (LongNameMap::~LongNameMap):
3403         (LongNameMap::GetInstance):
3404         (LongNameMap::Release):
3405         (LongNameMap::Find):
3406         (LongNameMap::Insert):
3407         (LongNameMap::Size):
3408         (MapLongVariableNames::MapLongVariableNames):
3409         (MapLongVariableNames::visitSymbol):
3410         (MapLongVariableNames::mapGlobalLongName):
3411         * src/compiler/MapLongVariableNames.h:
3412         (LongNameMap):
3413         (MapLongVariableNames):
3414         * src/compiler/OutputHLSL.cpp:
3415         (sh::OutputHLSL::OutputHLSL):
3416         (sh::OutputHLSL::header):
3417         (sh::OutputHLSL::visitSymbol):
3418         (sh::OutputHLSL::visitUnary):
3419         (sh::OutputHLSL::visitAggregate):
3420         (sh::OutputHLSL::visitLoop):
3421         (sh::OutputHLSL::handleExcessiveLoop):
3422         (sh::OutputHLSL::typeString):
3423         (sh::OutputHLSL::addConstructor):
3424         (sh::OutputHLSL::decorateUniform):
3425         * src/compiler/OutputHLSL.h:
3426         (OutputHLSL):
3427         * src/compiler/PoolAlloc.cpp:
3428         (TAllocation::checkGuardBlock):
3429         * src/compiler/ShHandle.h:
3430         (TCompiler):
3431         * src/compiler/SymbolTable.cpp:
3432         * src/compiler/SymbolTable.h:
3433         (TSymbolTable):
3434         (TSymbolTable::getOuterLevel):
3435         * src/compiler/VariableInfo.cpp:
3436         (getVariableDataType):
3437         * src/compiler/glslang.l:
3438         * src/compiler/glslang.y:
3439         * src/compiler/glslang_lex.cpp:
3440         (yy_buffer_state):
3441         (yyguts_t):
3442         (input):
3443         (yyensure_buffer_stack):
3444         (yy_scan_bytes):
3445         (yyget_leng):
3446         * src/compiler/glslang_tab.cpp:
3447         * src/compiler/osinclude.h:
3448         * src/compiler/preprocessor/cpp.c:
3449         * src/compiler/preprocessor/memory.c:
3450         * src/compiler/preprocessor/new/Context.cpp: Added.
3451         (isMacroNameReserved):
3452         (pp):
3453         (pp::Context::Context):
3454         (pp::Context::~Context):
3455         (pp::Context::init):
3456         (pp::Context::process):
3457         (pp::Context::defineMacro):
3458         (pp::Context::undefineMacro):
3459         (pp::Context::isMacroDefined):
3460         (pp::Context::reset):
3461         (pp::Context::defineBuiltInMacro):
3462         * src/compiler/preprocessor/new/Context.h: Added.
3463         (pp):
3464         (Context):
3465         (pp::Context::lexer):
3466         (pp::Context::output):
3467         * src/compiler/preprocessor/new/Input.cpp: Added.
3468         (pp):
3469         (pp::Input::Input):
3470         (pp::Input::eof):
3471         (pp::Input::read):
3472         (pp::Input::getChar):
3473         (pp::Input::peekChar):
3474         (pp::Input::switchToNextString):
3475         (pp::Input::isStringEmpty):
3476         (pp::Input::stringLength):
3477         * src/compiler/preprocessor/new/Input.h: Added.
3478         (pp):
3479         (Input):
3480         (pp::Input::error):
3481         (pp::Input::stringIndex):
3482         * src/compiler/preprocessor/new/Macro.cpp: Added.
3483         (pp):
3484         (pp::Macro::Macro):
3485         (pp::Macro::~Macro):
3486         * src/compiler/preprocessor/new/Macro.h: Added.
3487         (pp):
3488         (Macro):
3489         (pp::Macro::type):
3490         (pp::Macro::identifier):
3491         (pp::Macro::parameters):
3492         (pp::Macro::replacements):
3493         * src/compiler/preprocessor/new/Preprocessor.cpp: Added.
3494         (pp):
3495         (pp::Preprocessor::Preprocessor):
3496         (pp::Preprocessor::~Preprocessor):
3497         (pp::Preprocessor::init):
3498         (pp::Preprocessor::process):
3499         (pp::Preprocessor::reset):
3500         * src/compiler/preprocessor/new/Preprocessor.h: Added.
3501         (pp):
3502         (Preprocessor):
3503         (pp::Preprocessor::begin):
3504         (pp::Preprocessor::end):
3505         * src/compiler/preprocessor/new/Token.cpp: Added.
3506         (pp):
3507         (pp::Token::encodeLocation):
3508         (pp::Token::decodeLocation):
3509         (pp::Token::Token):
3510         (pp::Token::~Token):
3511         (pp::operator<<):
3512         * src/compiler/preprocessor/new/Token.h: Added.
3513         (pp):
3514         (Token):
3515         (pp::Token::location):
3516         (pp::Token::type):
3517         (pp::Token::value):
3518         * src/compiler/preprocessor/new/generate_parser.sh: Added.
3519         * src/compiler/preprocessor/new/pp.l: Added.
3520         * src/compiler/preprocessor/new/pp.y: Added.
3521         * src/compiler/preprocessor/new/pp_lex.cpp: Added.
3522         (yy_buffer_state):
3523         (yy_trans_info):
3524         (yyguts_t):
3525         (yy_get_previous_state):
3526         (yy_try_NUL_trans):
3527         (input):
3528         (pprestart):
3529         (pp_switch_to_buffer):
3530         (pp_load_buffer_state):
3531         (pp_create_buffer):
3532         (pp_delete_buffer):
3533         (pp_init_buffer):
3534         (pp_flush_buffer):
3535         (pppush_buffer_state):
3536         (pppop_buffer_state):
3537         (ppensure_buffer_stack):
3538         (pp_scan_buffer):
3539         (pp_scan_string):
3540         (pp_scan_bytes):
3541         (yy_push_state):
3542         (yy_pop_state):
3543         (yy_top_state):
3544         (yy_fatal_error):
3545         (ppget_extra):
3546         (ppget_lineno):
3547         (ppget_column):
3548         (ppget_in):
3549         (ppget_out):
3550         (ppget_leng):
3551         (ppget_text):
3552         (ppset_extra):
3553         (ppset_lineno):
3554         (ppset_column):
3555         (ppset_in):
3556         (ppset_out):
3557         (ppget_debug):
3558         (ppset_debug):
3559         (ppget_lval):
3560         (ppset_lval):
3561         (ppget_lloc):
3562         (ppset_lloc):
3563         (pplex_init):
3564         (pplex_init_extra):
3565         (yy_init_globals):
3566         (pplex_destroy):
3567         (yy_flex_strncpy):
3568         (yy_flex_strlen):
3569         (ppalloc):
3570         (pprealloc):
3571         (ppfree):
3572         (extractMacroName):
3573         (pp):
3574         (pp::Context::readInput):
3575         (pp::Context::initLexer):
3576         (pp::Context::destroyLexer):
3577         * src/compiler/preprocessor/new/pp_tab.cpp: Added.
3578         (YYLTYPE):
3579         (yysyntax_error):
3580         (yyerror):
3581         (pushConditionalBlock):
3582         (popConditionalBlock):
3583         (pp::Context::parse):
3584         * src/compiler/preprocessor/new/pp_tab.h: Added.
3585         (YYLTYPE):
3586         * src/compiler/preprocessor/new/stl_utils.h: Added.
3587         (pp):
3588         (Delete):
3589         (pp::Delete::operator()):
3590         (DeleteSecond):
3591         (pp::DeleteSecond::operator()):
3592         * src/compiler/preprocessor/new/token_type.h: Added.
3593         * src/compiler/preprocessor/scanner.c:
3594         (yylex_CPP):
3595         * src/compiler/preprocessor/symbols.c:
3596         * src/compiler/preprocessor/tokens.c:
3597         * src/libEGL/Config.cpp:
3598         (egl::ConfigSet::getConfigs):
3599         * src/libEGL/Display.cpp:
3600         (egl::Display::initialize):
3601         (egl::Display::terminate):
3602         (egl::Display::restoreLostDevice):
3603         (egl::Display::sync):
3604         (egl):
3605         (egl::Display::allocateEventQuery):
3606         (egl::Display::freeEventQuery):
3607         (egl::Display::getFloat32TextureSupport):
3608         (egl::Display::getFloat16TextureSupport):
3609         (egl::Display::getEventQuerySupport):
3610         (egl::Display::initExtensionString):
3611         (egl::Display::shareHandleSupported):
3612         (egl::Display::getOcclusionQuerySupport):
3613         (egl::Display::getInstancingSupport):
3614         * src/libEGL/Display.h:
3615         (Display):
3616         (egl::Display::isD3d9ExDevice):
3617         * src/libEGL/Surface.cpp:
3618         (egl::Surface::resetSwapChain):
3619         * src/libEGL/libEGL.cpp:
3620         * src/libEGL/libEGL.vcproj:
3621         * src/libGLESv2/Blit.cpp:
3622         (gl::Blit::setCommonBlitState):
3623         * src/libGLESv2/Buffer.h:
3624         (Buffer):
3625         * src/libGLESv2/Context.cpp:
3626         (gl::Context::Context):
3627         (gl::Context::~Context):
3628         (gl::Context::makeCurrent):
3629         (gl::Context::getActiveQuery):
3630         (gl):
3631         (gl::Context::createFence):
3632         (gl::Context::createQuery):
3633         (gl::Context::deleteQuery):
3634         (gl::Context::beginQuery):
3635         (gl::Context::endQuery):
3636         (gl::Context::getQuery):
3637         (gl::Context::applyVertexBuffer):
3638         (gl::Context::applyIndexBuffer):
3639         (gl::Context::readPixels):
3640         (gl::Context::clear):
3641         (gl::Context::drawArrays):
3642         (gl::Context::drawElements):
3643         (gl::Context::sync):
3644         (gl::Context::drawLineLoop):
3645         (gl::Context::supportsOcclusionQueries):
3646         (gl::Context::supportsInstancing):
3647         (gl::Context::setVertexAttribDivisor):
3648         (gl::Context::initExtensionString):
3649         (gl::VertexDeclarationCache::applyDeclaration):
3650         (gl::VertexDeclarationCache::markStateDirty):
3651         * src/libGLESv2/Context.h:
3652         (gl):
3653         (gl::VertexAttribute::VertexAttribute):
3654         (State):
3655         (VertexDeclarationCache):
3656         (Context):
3657         * src/libGLESv2/Fence.cpp:
3658         (gl::Fence::Fence):
3659         (gl::Fence::~Fence):
3660         (gl::Fence::setFence):
3661         * src/libGLESv2/Fence.h:
3662         (egl):
3663         (Fence):
3664         * src/libGLESv2/Framebuffer.cpp:
3665         (gl::Framebuffer::lookupRenderbuffer):
3666         (gl::Framebuffer::detachTexture):
3667         (gl::Framebuffer::completeness):
3668         * src/libGLESv2/Framebuffer.h:
3669         * src/libGLESv2/IndexDataManager.cpp:
3670         (gl::IndexDataManager::IndexDataManager):
3671         (gl::IndexDataManager::~IndexDataManager):
3672         (gl::computeRange):
3673         (gl::IndexDataManager::prepareIndexData):
3674         (gl::IndexDataManager::getCountingIndices):
3675         (gl):
3676         * src/libGLESv2/IndexDataManager.h:
3677         (IndexDataManager):
3678         * src/libGLESv2/Program.cpp:
3679         (gl::Program::getUniformLocation):
3680         (gl::Program::setUniform1fv):
3681         (gl::Program::setUniform2fv):
3682         (gl::Program::setUniform3fv):
3683         (gl::Program::setUniform4fv):
3684         (gl::Program::setUniform1iv):
3685         (gl::Program::setUniform2iv):
3686         (gl::Program::setUniform3iv):
3687         (gl::Program::setUniform4iv):
3688         (gl::Program::packVaryings):
3689         (gl::Program::linkVaryings):
3690         (gl::Program::defineUniform):
3691         (gl::Program::createUniform):
3692         (gl::Program::applyUniformnbv):
3693         (gl::Program::applyUniform1iv):
3694         (gl::Program::applyUniform2iv):
3695         (gl::Program::applyUniform3iv):
3696         (gl::Program::applyUniform4iv):
3697         (gl::Program::getInfoLog):
3698         * src/libGLESv2/Program.h:
3699         (Program):
3700         * src/libGLESv2/Query.cpp: Added.
3701         (gl):
3702         (gl::Query::Query):
3703         (gl::Query::~Query):
3704         (gl::Query::begin):
3705         (gl::Query::end):
3706         (gl::Query::getResult):
3707         (gl::Query::isResultAvailable):
3708         (gl::Query::getType):
3709         (gl::Query::testQuery):
3710         * src/libGLESv2/Query.h: Added.
3711         (gl):
3712         (Query):
3713         * src/libGLESv2/Renderbuffer.cpp:
3714         (gl):
3715         (gl::RenderbufferInterface::addProxyRef):
3716         (gl::RenderbufferInterface::releaseProxy):
3717         (gl::RenderbufferTexture::RenderbufferTexture):
3718         (gl::RenderbufferTexture::~RenderbufferTexture):
3719         (gl::RenderbufferTexture::addProxyRef):
3720         (gl::RenderbufferTexture::releaseProxy):
3721         (gl::Renderbuffer::addRef):
3722         (gl::Renderbuffer::release):
3723         * src/libGLESv2/Renderbuffer.h:
3724         (gl):
3725         (RenderbufferInterface):
3726         (RenderbufferTexture):
3727         (Renderbuffer):
3728         * src/libGLESv2/Shader.cpp:
3729         (gl::Shader::Shader):
3730         (gl::Shader::getInfoLog):
3731         (gl::Shader::getSourceImpl):
3732         (gl):
3733         (gl::Shader::initializeCompiler):
3734         (gl::Shader::parseVaryings):
3735         (gl::Shader::uncompile):
3736         (gl::Shader::compileToHLSL):
3737         (gl::VertexShader::uncompile):
3738         (gl::VertexShader::compile):
3739         (gl::VertexShader::parseAttributes):
3740         (gl::FragmentShader::compile):
3741         * src/libGLESv2/Shader.h:
3742         (Shader):
3743         (VertexShader):
3744         * src/libGLESv2/Texture.cpp:
3745         (gl::Texture2D::Texture2D):
3746         (gl::Texture2D::~Texture2D):
3747         (gl):
3748         (gl::Texture2D::addProxyRef):
3749         (gl::Texture2D::releaseProxy):
3750         (gl::Texture2D::getRenderbuffer):
3751         (gl::TextureCubeMap::TextureCubeMap):
3752         (gl::TextureCubeMap::~TextureCubeMap):
3753         (gl::TextureCubeMap::addProxyRef):
3754         (gl::TextureCubeMap::releaseProxy):
3755         (gl::TextureCubeMap::isSamplerComplete):
3756         (gl::TextureCubeMap::convertToRenderTarget):
3757         (gl::TextureCubeMap::getRenderbuffer):
3758         * src/libGLESv2/Texture.h:
3759         (Texture):
3760         (Texture2D):
3761         (TextureCubeMap):
3762         * src/libGLESv2/VertexDataManager.cpp:
3763         (gl::VertexDataManager::writeAttributeData):
3764         (gl::VertexDataManager::prepareVertexData):
3765         (gl::VertexDataManager::spaceRequired):
3766         (gl):
3767         * src/libGLESv2/VertexDataManager.h:
3768         (TranslatedAttribute):
3769         (VertexDataManager):
3770         * src/libGLESv2/libGLESv2.cpp:
3771         * src/libGLESv2/libGLESv2.def:
3772         * src/libGLESv2/libGLESv2.vcproj:
3773         * src/libGLESv2/utilities.cpp:
3774         (gl::IsInternalTextureTarget):
3775         * src/libGLESv2/utilities.h:
3776         (gl):
3777
3778 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
3779
3780         Bash scripts should support LF endings only
3781         https://bugs.webkit.org/show_bug.cgi?id=79509
3782
3783         Reviewed by David Kilzer.
3784
3785         * src/compiler/generate_parser.sh: Added property svn:eol-style.
3786
3787 2012-02-21  Sam Weinig  <sam@webkit.org>
3788
3789         Attempt to fix the Snow Leopard build.
3790
3791         * Configurations/Base.xcconfig:
3792
3793 2012-02-21  Sam Weinig  <sam@webkit.org>
3794
3795         Use libc++ when building with Clang on Mac
3796         https://bugs.webkit.org/show_bug.cgi?id=78981
3797
3798         Reviewed by Dan Bernstein.
3799
3800         * Configurations/Base.xcconfig:
3801
3802 2012-01-07  Chris Marrin  <cmarrin@apple.com>
3803
3804         Fixed a warning in GTK build of ANGLE
3805
3806         Unreviewed.
3807
3808         * src/compiler/DetectRecursion.cpp:
3809         (DetectRecursion::~DetectRecursion):
3810
3811 2012-01-06  Mark Rowe  <mrowe@apple.com>
3812
3813         Regenerate a few files with a more appropriate version of bison.
3814
3815         Rubber-stamped by Dan Bernstein.
3816
3817         * src/compiler/glslang.l: Tweak the input so that it generates code that compiles without warnings.
3818         * src/compiler/glslang_lex.cpp:
3819         * src/compiler/glslang_tab.cpp:
3820         * src/compiler/glslang_tab.h:
3821
3822 2012-01-06  Chris Marrin  <cmarrin@apple.com>
3823
3824         Update ANGLE in WebKit tree
3825         https://bugs.webkit.org/show_bug.cgi?id=75753
3826
3827         Reviewed by Simon Fraser.
3828
3829         Updated ANGLE to r939. Fixed a compiler error (missing case in switch statement)
3830         and added 5 new files to xcodeproj. Other than that it is a straight copy of
3831         the files from the ANGLE repository.
3832
3833         * ANGLE.xcodeproj/project.pbxproj:
3834         * include/EGL/eglext.h:
3835         * include/EGL/eglplatform.h:
3836         * include/GLES2/gl2ext.h:
3837         * include/GLSLANG/ShaderLang.h:
3838         * src/common/debug.cpp:
3839         (gl::output):
3840         (gl::trace):
3841         (gl::perfActive):
3842         (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
3843         (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
3844         * src/common/version.h:
3845         * src/compiler/BaseTypes.h:
3846         (getBasicString):
3847         * src/compiler/BuiltInFunctionEmulator.cpp: Added.
3848         (BuiltInFunctionEmulator::BuiltInFunctionEmulator):
3849         (BuiltInFunctionEmulator::SetFunctionCalled):
3850         (BuiltInFunctionEmulator::OutputEmulatedFunctionDefinition):
3851         (BuiltInFunctionEmulator::IdentifyFunction):
3852         (BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation):
3853         (BuiltInFunctionEmulator::Cleanup):
3854         (BuiltInFunctionEmulator::GetEmulatedFunctionName):
3855         * src/compiler/BuiltInFunctionEmulator.h: Added.
3856         * src/compiler/Compiler.cpp:
3857         (TCompiler::TCompiler):
3858         (TCompiler::compile):
3859         (TCompiler::clearResults):
3860         (TCompiler::detectRecursion):
3861         (TCompiler::getMappedNameMaxLength):
3862         (TCompiler::getBuiltInFunctionEmulator):
3863         * src/compiler/DetectRecursion.cpp: Added.
3864         (DetectRecursion::FunctionNode::FunctionNode):
3865         (DetectRecursion::FunctionNode::getName):
3866         (DetectRecursion::FunctionNode::addCallee):
3867         (DetectRecursion::FunctionNode::detectRecursion):
3868         (DetectRecursion::DetectRecursion):
3869         (DetectRecursion::~DetectRecursion):
3870         (DetectRecursion::visitAggregate):
3871         (DetectRecursion::detectRecursion):
3872         (DetectRecursion::findFunctionByName):
3873         * src/compiler/DetectRecursion.h: Added.
3874         * src/compiler/ExtensionBehavior.h:
3875         * src/compiler/ForLoopUnroll.cpp:
3876         (ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling):
3877         * src/compiler/ForLoopUnroll.h:
3878         * src/compiler/Initialize.cpp:
3879         (BuiltInFunctionsCommon):
3880         (BuiltInFunctionsVertex):
3881         (BuiltInFunctionsFragment):
3882         (TBuiltIns::initialize):
3883         (IdentifyBuiltIns):
3884         (InitExtensionBehavior):
3885         * src/compiler/MapLongVariableNames.cpp:
3886         (MapLongVariableNames::MapLongVariableNames):
3887         (MapLongVariableNames::visitSymbol):
3888         (MapLongVariableNames::mapVaryingLongName):
3889         * src/compiler/MapLongVariableNames.h:
3890         * src/compiler/OutputGLSLBase.cpp:
3891         (TOutputGLSLBase::visitUnary):
3892         (TOutputGLSLBase::visitAggregate):
3893         * src/compiler/OutputHLSL.cpp:
3894         (sh::OutputHLSL::OutputHLSL):
3895         (sh::OutputHLSL::header):
3896         (sh::OutputHLSL::visitSymbol):
3897         (sh::OutputHLSL::visitAggregate):
3898         (sh::OutputHLSL::visitSelection):
3899         (sh::OutputHLSL::visitLoop):
3900         (sh::OutputHLSL::handleExcessiveLoop):
3901         (sh::OutputHLSL::addConstructor):
3902         (sh::OutputHLSL::decorate):
3903         (sh::OutputHLSL::decorateUniform):
3904         * src/compiler/OutputHLSL.h:
3905         * src/compiler/ParseHelper.cpp:
3906         (TParseContext::recover):
3907         (TParseContext::reservedErrorCheck):
3908         (TParseContext::constructorErrorCheck):
3909         (TParseContext::extensionErrorCheck):
3910         (TParseContext::supportsExtension):
3911         (TParseContext::enterStructDeclaration):
3912         (TParseContext::exitStructDeclaration):
3913         (TParseContext::structNestingErrorCheck):
3914         * src/compiler/ParseHelper.h:
3915         (TParseContext::TParseContext):
3916         * src/compiler/PoolAlloc.h:
3917         (pool_allocator::pool_allocator):
3918         (pool_allocator::operator=):
3919         (pool_allocator::setAllocator):
3920         (pool_allocator::getAllocator):
3921         * src/compiler/ShHandle.h:
3922         * src/compiler/ShaderLang.cpp:
3923         (checkActiveUniformAndAttribMaxLengths):
3924         (checkMappedNameMaxLength):
3925         (getVariableInfo):
3926         (ShInitBuiltInResources):
3927         (ShGetInfo):
3928         * src/compiler/SymbolTable.cpp:
3929         (TType::computeDeepestStructNesting):
3930         * src/compiler/TranslatorESSL.cpp:
3931         (TranslatorESSL::translate):
3932         (TranslatorESSL::writeExtensionBehavior):
3933         * src/compiler/TranslatorGLSL.cpp:
3934         (TranslatorGLSL::translate):
3935         * src/compiler/Types.h:
3936         (TType::TType):
3937         (TType::copyType):
3938         (TType::setStruct):
3939         (TType::getDeepestStructNesting):
3940         * src/compiler/UnfoldSelect.cpp:
3941         (sh::UnfoldSelect::traverse):
3942         (sh::UnfoldSelect::visitSelection):
3943         (sh::UnfoldSelect::visitLoop):
3944         (sh::UnfoldSelect::getNextTemporaryIndex):
3945         * src/compiler/UnfoldSelect.h:
3946         * src/compiler/ValidateLimitations.cpp:
3947         * src/compiler/ValidateLimitations.h:
3948         * src/compiler/VariableInfo.cpp:
3949         (getVariableDataType):
3950         * src/compiler/generate_glslang_lexer.sh: Removed.
3951         * src/compiler/generate_glslang_parser.sh: Removed.
3952         * src/compiler/generate_parser.sh: Added.
3953         * src/compiler/glslang.l:
3954         * src/compiler/glslang.y:
3955         * src/compiler/glslang_lex.cpp:
3956         (yy_get_previous_state):
3957         (yy_try_NUL_trans):
3958         * src/compiler/glslang_tab.cpp:
3959         * src/compiler/glslang_tab.h:
3960         * src/compiler/intermOut.cpp:
3961         (TOutputTraverser::visitAggregate):
3962         * src/compiler/intermediate.h:
3963         (TIntermUnary::TIntermUnary):
3964         (TIntermUnary::setUseEmulatedFunction):
3965         (TIntermUnary::getUseEmulatedFunction):
3966         (TIntermAggregate::TIntermAggregate):
3967         (TIntermAggregate::setUseEmulatedFunction):
3968         (TIntermAggregate::getUseEmulatedFunction):
3969         * src/compiler/osinclude.h:
3970         * src/compiler/ossource_posix.cpp:
3971         (OS_AllocTLSIndex):
3972         (OS_SetTLSValue):
3973         (OS_FreeTLSIndex):
3974         * src/compiler/preprocessor/atom.c:
3975         (GrowAtomTable):
3976         * src/compiler/preprocessor/length_limits.h: Added.
3977         * src/compiler/preprocessor/scanner.h:
3978         * src/libEGL/Display.cpp:
3979         (egl::Display::getDisplay):
3980         (egl::Display::Display):
3981         (egl::Display::~Display):
3982         (egl::Display::initialize):
3983         (egl::Display::terminate):
3984         (egl::Display::startScene):
3985         (egl::Display::endScene):
3986         (egl::Display::createDevice):
3987         (egl::Display::initializeDevice):