blob: bec64e997f287b33c09973d8c0d8abeca942b665 [file] [log] [blame]
2022-01-14 Kyle Piddington <kpiddington@apple.com>
ANGLE: Supports32BitFloatFiltering is not supported on TVOS
https://bugs.webkit.org/show_bug.cgi?id=235239
Reviewed by Darin Adler.
<rdar://86457081>
Broke an internal build. Caused by https://trac.webkit.org/changeset/286323/webkit
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::supports32BitFloatFiltering const):
2022-01-12 Chris Lord <clord@igalia.com>
[WPE] Enable WebGL ANGLE support
https://bugs.webkit.org/show_bug.cgi?id=235064
Reviewed by Alejandro G. Castro.
Enable building on WPE (mostly copying the GTK build file).
* PlatformWPE.cmake:
2022-01-11 Kyle Piddington <kpiddington@apple.com>
ANGLE: ASTC-HDR is not available on TVOS
https://bugs.webkit.org/show_bug.cgi?id=235076
Reviewed by Dean Jackson.
<rdar://87384038>
This is a follow on patch to https://bugs.webkit.org/show_bug.cgi?id=234164,
ASTC-HDR is only available on macOS and iOS, not tvOS or watchOS
This patch fixes an internal build.
* scripts/code_generation_hashes/Metal_format_table.json:
* src/libANGLE/renderer/metal/gen_mtl_format_table.py:
(gen_image_map_switch_astc_case_tv_watchos):
(gen_image_map_switch_string):
(gen_image_mtl_to_angle_switch_string):
(gen_image_map_switch_astc_case_watchos): Deleted.
(gen_image_map_switch_astc_case_watchos.gen_format_assign_code): Deleted.
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::MetalToAngleFormatID):
(rx::mtl::Format::init):
2022-01-10 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
2022-01-09 Sam Weinig <weinig@apple.com>
Remove support for Direct2D
https://bugs.webkit.org/show_bug.cgi?id=234999
Reviewed by Darin Adler.
Direct2D and FTW have not been building for over a year. It is
time to remove them.
* PlatformFTW.cmake: Removed.
2022-01-07 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r287698.
Broke an internal build
Reverted changeset:
"Start using C++20"
https://bugs.webkit.org/show_bug.cgi?id=233963
https://commits.webkit.org/r287698
2022-01-06 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
2022-01-05 Kyle Piddington <kpiddington@apple.com>
Roll ANGLE to aabfe8747d 12-17-2021
https://bugs.webkit.org/show_bug.cgi?id=234523
Reviewed by Kenneth Russell.
The changelog has been removed to improve readability.
The following ANGLE commits were merged:
aabfe8747 Metal: Use the context device to Texture::resize
34ea81111 Reland "Vulkan: Don't expose MSRTT on SwiftShader"
624e3c3d5 Fix dangerous use of AutoObjCPtr after ownership identity change
4a148e9d9 Revert "Vulkan: Suppress VUID-vkCmdDraw-blendEnable"
ede0b8b71 Avoid ANGLE_MTL_AUTORELEASE inside ASSERT, it leaks on Release
cb4f441c8 Roll vulkan-deps from 39f3a18bdfbe to 5568048d205e (8 revisions)
2f78b48db Roll Chromium from 14ca75d254a5 to 81decb7250e1 (191 revisions)
001221f0e Metal: upstream fix from WebKit for texture leak.
dca434bdc Roll Chromium from 3f6c88f5581a to 14ca75d254a5 (401 revisions)
b9f2d9cc1 Use text expectations to skip a test
6c894e829 Vulkan: Replace BufferVk::getBufferAndOffset() with getBuffer()
f2736f6dc Tests: Add My Talking Tom Friends trace.
a93a3930b Vulkan: Track enabled in VertexArray
83a670ab0 Vulkan: Implement BufferPool using VMA's virtual allocator
836797166 Vulkan: Dirty vertex buffers if default attrib values changed
543f5750f (origin/chromium/4771) Vulkan: Disable protected memory for ARM
c7446ac42 Add support for GL_MESA_framebuffer_flip_y 1/*
60383b41e Tests: Add Dota Underlords trace.
f26687a03 Tests: Add My Talking Tom 2 trace.
438de17ee Roll vulkan-deps from a8221eed5970 to 39f3a18bdfbe (5 revisions)
e7413adff system_utils_posix: Check for SEGV_MAPERR si_code.
6e5fd8165 Support more ImageLayout in ConvertImageLayoutToGLImageLayout
b26bb13ab Metal: Remove references to xfbActiveUnpaused uniform
bb5bab031 Roll Chromium from 2dae07eeb163 to 3f6c88f5581a (414 revisions)
c4d434b91 Metal: Enable OES_fbo_render_mipmap
670679918 Metal: Fix Webkit warnings in ANGLE build
bda493258 Add guards for 64 bit types on 32bit systems
e7c9dbb88 Skip SimpleStateChangeTestES3.OutOfBoundsByteAttribute on Pixel4 GLES
89e11878b Vulkan: Fix the UAF issue with BufferData
ee1d3cf74 Metal: Integrate Metal Binary Shader generation
3e7e2758f Metal: Fix macOS ANGLE build on Catalina (10.15) SDK
05a44dd24 Vulkan: Set content undefined on eglSwapBuffers
26fa0fe68 Tests: Add Asphalt 9 trace
5275f487e Vulkan: Disable async command queue with Vulkan SCBs
feb599ad8 Invalidate EGL handles during eglTerminate
32e23bb9d Expand WebGLCompressedTextureAvailabilityTest
d6b9a2597 end2end_tests: Add SwS + AsyncQueue testing.
a0eb6146c Update warning message for invalid include
cac81f077 Return full error info when opening a library with dlopen
90c3038e5 Vulkan: Fix desc set updates with Vulkan SCBs
8419f4fcd Roll vulkan-deps from c03890076954 to a8221eed5970 (2 revisions)
db367bd71 Roll Chromium from 0c0a3654694f to 2dae07eeb163 (450 revisions)
bfc7f09ae Revert "Upgrade restricted traces to new trace format."
800c6971c Modified buffer fallback format to smaller storage format
709d87278 Revert "Trace Tests: Remove auto-generated code."
3da54250b Skip MultithreadingTest.MultiContextDrawWithSwapBuffers
7f1a0f89b Switch to non-deprecated bbagent, remove defunct experiments.
9d49d8438 Add WebGLCompressedTextureAvailabilityTest
2022-01-05 Michael Saboff <msaboff@apple.com>
REGRESSION (r287382): libANGLE is built into a wrong location on iOS
https://bugs.webkit.org/show_bug.cgi?id=234857
Reviewed by Saam Barati.
Reverted to the prior logic to compute INSTALL_PATH. Then added an optional prefix
for the alternate root framework location.
* Configurations/ANGLE-dynamic.xcconfig:
2021-12-22 Michael Saboff <msaboff@apple.com>
Fix WebKit Build issues when using system content path
https://bugs.webkit.org/show_bug.cgi?id=234624
Reviewed by Filip Pizlo.
Changed INSTALL_PATH on macOS builds to use a fully qualified .../WebCore.framework/Versions/A/Frameworks.
Deleted unused create-symlink-to-altroot.sh script.
* Configurations/ANGLE-dynamic.xcconfig:
* scripts/create-symlink-to-altroot.sh: Removed.
2021-12-21 Michael Saboff <msaboff@apple.com>
Fix symlinks for alternate root framework locations
https://bugs.webkit.org/show_bug.cgi?id=234567
Reviewed by Filip Pizlo.
Eliminated the creation of symlinks for ANGLE as it is under WebCore.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
2021-12-21 Arcady Goldmints-Orlov <agoldmints@igalia.com>
[GTK] build fails with undefined symbol in ANGLE if USE_ANGLE_WEBGL is enabled.
https://bugs.webkit.org/show_bug.cgi?id=234239
Reviewed by Kenneth Russell.
Add a new linux.cmake file that defines angle_dma_buf_sources.
This list gets appended it into ANGLE_SOURCES in PlatformGTK.cmake.
* linux.cmake: Added. Manual translation of src/common/linux/BUILD.gn.
* PlatformGTK.cmake:
2021-12-17 Fujii Hironori <Hironori.Fujii@sony.com>
[ANGLE] "WARN: driver_utils.cpp:169 (rx::GetVendorString):! Unimplemented: rx::GetVendorString" on WinCairo debug testing bot
https://bugs.webkit.org/show_bug.cgi?id=234371
Reviewed by Kenneth Russell.
After r286603 updated ANGLE, WinCairo debug testing bot was
observing annoying warning message for all WebGL tessts.
> WARN: driver_utils.cpp:169 (rx::GetVendorString): ! Unimplemented: rx::GetVendorString(..\..\Source\ThirdParty\ANGLE\src\libANGLE\renderer\driver_utils.cpp:169)
The vendor ID was 0x1414 (Microsoft).
<https://pcisig.com/membership/member-companies>
* src/libANGLE/renderer/driver_utils.cpp:
(rx::GetVendorString): Added more vendor strings for vendor IDs.
* src/libANGLE/renderer/driver_utils.h: Added VENDOR_ID_MICROSOFT.
2021-12-17 Kimmo Kinnunen <kkinnunen@apple.com>
REGRESSION (r287068): [macOS arm64] TestWebKitAPI.GraphicsContextGLCocoaTest.UnrecycledDisplayBuffersNoLeaks is failing
https://bugs.webkit.org/show_bug.cgi?id=234356
<rdar://problem/86533892>
Reviewed by Antti Koivisto.
Avoid leaking MTLTexture instances for render targets. Leak would happen through
temporary render pass descriptor that would ref the render target texture.
The descriptor was created without autoreleasepool in call stack.
Also fixes the error string leaks.
UnrecycledDisplayBuffersNoLeaks would report leaks of iosurface-backed
GraphicsContextGL default framebuffer bound textures if glClear was called.
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::getRenderPassCommandEncoder):
2021-12-16 John Cunningham <johncunningham@apple.com>
Add support to attribute ownership of ANGLE Metal's resources
https://bugs.webkit.org/show_bug.cgi?id=233941
Reviewed by Kimmo Kinnunen.
Add SPI to mtl_resource_spi.h to attribute memory to another task.
* Configurations/ANGLE-dynamic.xcconfig:
* Configurations/ANGLE-static.xcconfig:
* src/libANGLE/renderer/metal/mtl_resource_spi.h:
(rx::mtl::setOwnerWithIdentity):
2021-12-16 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* scripts/create-symlink-to-altroot.sh: Added.
2021-12-15 Dean Jackson <dino@apple.com>
[ANGLE] clang with -Wunknown-warning-option will fail on -Wweak-template-vtables
https://bugs.webkit.org/show_bug.cgi?id=233837
<rdar://problem/86335819>
Reviewed by Antoine Quint.
Turn off unknown-warning-option on Apple builds. This shouldn't need to be
upstreamed - the Xcode configurations for ANGLE are specific to WebKit.
* Configurations/Base.xcconfig:
2021-12-15 Chris Lord <clord@igalia.com>
[GTK] Use libgbm and the ANGLE gbm backend to fix initialisation
https://bugs.webkit.org/show_bug.cgi?id=234293
Reviewed by Don Olmstead.
Use GBM backend for GTK platform.
* CMakeLists.txt:
* GL.cmake:
* PlatformGTK.cmake:
2021-12-15 Kyle Piddington <kpiddington@apple.com>
[ANGLE] Roll ANGLE to 12-14-2021 (5ee7dfbd5a3)
https://bugs.webkit.org/show_bug.cgi?id=234317
Reviewed by Kenneth Russell.
Roll ANGLE to 12-14-2021 to include new memory-attribution
Metal device, merge up fixes, EAC/ ASTC support on M1
The changelog has been removed to promote readability
2021-12-13 Alejandro G. Castro <alex@igalia.com>
[GTK] Fix ANGLE compilation
https://bugs.webkit.org/show_bug.cgi?id=233327
Reviewed by Kenneth Russell.
There is a define with a typo in the name and activating EGL and
X11 does not work at the same time.
* PlatformGTK.cmake:
2021-12-13 Kyle Piddington <kpiddington@apple.com>
[MacCatalyst] fix iOSMac after refactor in r286899
https://bugs.webkit.org/show_bug.cgi?id=234250
Reviewed by Dean Jackson.
Also includes a longer term fix for
https://bugs.webkit.org/show_bug.cgi?id=233977
Tested builds on mac, iOS, TV SDKs, plus iOSMac
* src/common/platform.h:
* src/libANGLE/renderer/metal/gen_mtl_format_table.py:
(gen_image_map_switch_string):
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
2021-12-13 Kimmo Kinnunen <kkinnunen@apple.com>
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
https://bugs.webkit.org/show_bug.cgi?id=232235
<rdar://problem/84878815>
Reviewed by Dean Jackson.
Remove validation for IOSurface element size when a IOSurface is bound
to a pbuffer. The IOSurfaceGetBytesPerElementOfPlane is not valid for some internal formats
that might be compressed.
Will add a WebKit level test in subsequent fix.
Will add an ANGLE level test during upstreaming of the patch.
Same as "Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]"
but this time for CGL.
https://webkit.org/b/218637 rdar://problem/71102126
Remove incorrect validation that IOSurface pixel format matches
the pixel format of the texture image being specified.
The "Element" in IOSurface is a block of pixels, while the validation assumed
it means one pixel. The validation failed for a compressed format.
Currently we map non-public YUV formats, to which there is no elequent way
of implementing the validation.
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
(rx::IOSurfaceSurfaceCGL::validateAttributes):
2021-12-10 Kyle Piddington <kpiddington@apple.com>
[ANGLE] ASTC-HDR is unavailable on some platforms
https://bugs.webkit.org/show_bug.cgi?id=234164
Reviewed by Kenneth Russell.
Update autogenerated format table to avoid using ASTC_HDR on
platforms that don't have the enum.
* src/libANGLE/renderer/metal/gen_mtl_format_table.py:
(gen_image_map_switch_astc_case_iosmac):
(gen_image_map_switch_astc_case_tvos):
(gen_image_map_switch_astc_case_tvos.gen_format_assign_code):
(gen_image_map_switch_string):
(gen_image_mtl_to_angle_switch_string):
(gen_mtl_format_caps_init_string):
(gen_image_map_switch_astc_case): Deleted.
(gen_image_map_switch_astc_case.gen_format_assign_code): Deleted.
* src/libANGLE/renderer/metal/mtl_format_map.json:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::MetalToAngleFormatID):
(rx::mtl::Format::init):
(rx::mtl::FormatTable::initNativeFormatCapsAutogen):
2021-12-10 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Yusuke Suzuki.
Updated install paths for changes in the build system that use a system path prefix.
* Configurations/ANGLE-dynamic.xcconfig:
2021-12-09 Dean Jackson <dino@apple.com>
[ANGLE] Code generation happens on each build and produces SCM diffs
https://bugs.webkit.org/show_bug.cgi?id=234025
Reviewed by Kimmo Kinnunen.
Temporarily remove the build phase that generates the
mtl_default_shaders_src_autogen files because they are producing
diffs.
We either need to generate these manually, or fix the Xcode project
to generate them into Derived Sources so they don't appear in our
repository.
* ANGLE.xcodeproj/project.pbxproj:
2021-12-08 Kyle Piddington <kpiddington@apple.com>
Update ANGLE changes.diff with new roll.
https://bugs.webkit.org/show_bug.cgi?id=233952
Reviewed by Kenneth Russell.
* changes.diff:
2021-12-08 Adrian Perez de Castro <aperez@igalia.com>
Avoid noisy Wcomment warnings after ANGLE update in r286603
https://bugs.webkit.org/show_bug.cgi?id=233964
<rdar://problem/86186455>
Reviewed by Michael Catanzaro.
* CMakeLists.txt: Pass also -Wno-comment when building with GCC or Clang; arrange to
set compiler flags for any of the ANGLE library targets instead of only for libANGLE.
* src/compiler/translator/tree_util/IntermTraverse.h: Revert change from 233964 to
avoid having differences with the upstream version of the file.
2021-12-07 Myles C. Maxfield <mmaxfield@apple.com>
[MacCatalyst] Fix build after r286603
https://bugs.webkit.org/show_bug.cgi?id=233977
Unreviewed.
Previously, TARGET_OS_IOS and TARGET_OS_MACCATALYST were never on at the same time.
Now, they're on at the same time, and ANGLE doesn't expect that. This patch turns
off TARGET_OS_IOS when TARGET_OS_MACCATALYST is on, just to get ANGLE to build.
The long-term fix is to either update all the sites to use correct macros, or to
use the ANGLE_PLATFORM_* defines instead.
* src/common/platform.h:
2021-12-07 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, these files are modified after building ANGLE
https://bugs.webkit.org/show_bug.cgi?id=220896
<rdar://problem/73539682>
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.metal:
2021-12-07 Lauro Moura <lmoura@igalia.com>
Avoid noisy Wcomment warnings after ANGLE update in r286603
https://bugs.webkit.org/show_bug.cgi?id=233964
Unreviewed warning removal.
* src/compiler/translator/tree_util/IntermTraverse.h:
2021-12-07 Kyle Piddington <kpiddington@apple.com>
Roll ANGLE to include upstreamed Metal backend
https://bugs.webkit.org/show_bug.cgi?id=220896
<rdar://problem/73539682>
Reviewed by Ken Russell and Dean Jackson.
Update ANGLE to ce854632690e505551414f80d01d864df6118882
The changelog has been intentionally deleted to preserve
readability
The following additional changes were made in the mergeup.
Update ShaderMtl get debug info to return translated source.
Fix crashes in webgl/2.0.y/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html
Fix angle-instanced-arrays-out-of-bounds.html
Skip additional validation when primitive count in drawArraysInstanced is zero
Fix Clear-Invalidate-Render bug for multisample attachments.
Clearing a multisample texture, and then invalidating the render pass would lead
to the next pass not loading the cleared texture.
Fix exports and includes for egl_autogen.h files.
Fix webgl/2.0.0/deqp/functional/gles3/fboinvalidate/default.html
Add synchronization when reading pixels back from shared framebuffers
2021-11-30 Kyle Piddington <kpiddington@apple.com>
Hardware PCF filtering does not work on iOS 15 when using WebGL2
https://bugs.webkit.org/show_bug.cgi?id=232071
Lower restrictions on sampling D32F formats, and allow filtering
of Depth16F on iOS hardware, as it was previously restricted.
Reviewed by Kenneth Russell.
* include/platform/FeaturesMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeFeatures):
(rx::DisplayMtl::supports32BitFloatFiltering const):
(rx::DisplayMtl::supportsDepth24Stencil8PixelFormat const):
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::ensureSamplerStateCreated):
* src/libANGLE/renderer/metal/mtl_format_map.json:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::FormatTable::initNativeFormatCapsAutogen):
2021-11-17 Dean Jackson <dino@apple.com>
ANGLE build failure - sprintf is deprecated
https://bugs.webkit.org/show_bug.cgi?id=233279
Reviewed by Wenson Hsieh.
Replace sprintf with snprintf.
* src/compiler/translator/TranslatorMetalDirect/IdGen.cpp:
(IdGen::createNewName):
* src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp:
* src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
(SymbolEnv::TemplateName::fullName const):
2021-11-06 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository as of r285357
<https://webkit.org/b/232773>
Unreviewed clean up.
* src/id: Removed.
* src/libANGLE/renderer/metal/shaders/compiled: Removed.
* src/tests/perf_tests/restricted_traces: Removed.
2021-11-03 Kyle Piddington <kpiddington@apple.com>
REGRESSION (iOS 15): Tab crashes when trying to render Projector stories
https://bugs.webkit.org/show_bug.cgi?id=231607
Rework vertex buffer caching to allow us to reuse parts
of converted buffers. This dramatically drops the memory usage
of this tab from 4.5 gb to roughly 1.3gb
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::BufferMtl::getVertexConversionBuffer):
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::convertVertexBuffer):
(rx::VertexArrayMtl::convertVertexBufferCPU):
(rx::VertexArrayMtl::convertVertexBufferGPU):
2021-11-01 David Kilzer <ddkilzer@apple.com>
[ANGLE] Enable -Wformat=2 warnings
<https://webkit.org/b/232358>
<rdar://problem/84568935>
Reviewed by Kimmo Kinnunen.
* Configurations/Base.xcconfig:
(WARNING_CFLAGS):
- Add -Wformat=2 switch, which includes -Wformat-nonliteral.
* src/common/angleutils.h:
(FormatStringIntoVector):
- Move below definition of ANGLE_FORMAT_PRINTF() and add macro
to the function declaration to fix -Wformat-nonliteral
warning.
* src/compiler/translator/Common.h:
(sh::str):
- Make `formatStr` a constexpr to fix -Wformat-nonliteral
warning.
2021-10-27 Kimmo Kinnunen <kkinnunen@apple.com>
REGRESSION (Safari 15): Poor WebGL performance on https://downloads.scirra.com/labs/particles
https://bugs.webkit.org/show_bug.cgi?id=230749
<rdar://problem/83576271>
Reviewed by Kenneth Russell.
The site would draw indexed per frame with each frame increasing the size of the draw.
This would cause index buffer range cache update for each draw.
Range computation needs to look inside the index buffer.
Mapping the index buffer for read would cause command buffer flush for each computation,
since previous frame would have used the index buffer for reading. This would cause
performance degradation for the duration where the range cache would need update.
Since the buffer is read by the draw but not written, the map should be a no-op.
Consult the "CPU memory needs synchronizing" flag of the mtl::Resource when
mapping. Only synchronize with GPU if the memory needs synchronizing.
* src/libANGLE/renderer/metal/mtl_resources.mm:
(rx::mtl::Buffer::mapWithOpt):
2021-10-25 Kyle Piddington <kpiddington@apple.com>
REGRESSION (iOS 15), safari604.1: Could not link the shader program
https://bugs.webkit.org/show_bug.cgi?id=231475
Renaming regex incorrectly substituted an attribute.
Update to require exact attribute match
Reviewed by Dean Jackson
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::updateShaderAttributes):
2021-10-15 Ross Kirsling <ross.kirsling@sony.com>
Realize Mac CMake build of WebCore and WebKit
https://bugs.webkit.org/show_bug.cgi?id=231749
Reviewed by Alex Christensen.
* Compiler.cmake:
2021-10-15 Kyle Piddington <kpiddington@apple.com>
REGRESSION (r283667): webgl/2.0.0/deqp/functional/gles3/lifetime.html fails
https://bugs.webkit.org/show_bug.cgi?id=231682
Transform feedback should avoid appending _u for
builtin output variables.
Reviewed by Kimmo Kinnunen.
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::GenerateTransformFeedbackVaryingOutput):
2021-10-14 Kyle Piddington <kpiddington@apple.com>
https://tankionline.com/play/ html5 engine not working: crashes. (Metal shader not working)
https://bugs.webkit.org/show_bug.cgi?id=231490
Add argument to RemoveInactiveInterfaceVariables to keep
output fragment variables, even if they are
Add a new test to verify that this problem is fixed.
Reviewed by Kenneth Russell.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorVulkan.cpp:
(sh::TranslatorVulkan::translateImpl):
* src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp:
(sh::RemoveInactiveInterfaceVariables):
* src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h:
2021-10-14 Myles C. Maxfield <mmaxfield@apple.com>
All the SDKVariant.xcconfig files should match
https://bugs.webkit.org/show_bug.cgi?id=231663
Reviewed by Youenn Fablet.
* Configurations/SDKVariant.xcconfig:
2021-10-13 Kyle Piddington <kpiddington@apple.com>
Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands
https://bugs.webkit.org/show_bug.cgi?id=231626
<rdar:/problem/84167241>
Primitive restart draw commands were being encoded
incorrectly. Single element ranges were being disregarded,
and a maximum draw size was not being enforced when the
index buffer was aliased / reused.
Cherry-pick from upstream anglebug.com/6535
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getDrawIndices):
2021-10-12 Alexey Proskuryakov <ap@apple.com>
Invoke ThirdParty build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231605
Reviewed by Dean Jackson.
* ANGLE.xcodeproj/project.pbxproj:
* adjust-angle-include-paths.py:
* src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:
2021-10-06 Kyle Piddington <kpiddington@apple.com>
Shadertoy "truchet district" fails to compile with error: Internal error compiling shader with Metal backend"
https://bugs.webkit.org/show_bug.cgi?id=229378
<rdar://problem/82299053>
Reviewed by Kenneth Russell.
Change TranslatorMetalDirect to prefix '_u' to all user defined variables.
Clean up builtins like samplers and ANGLE structs that were being
accidently promoted to userDefined variables.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::GetMslKeywords):
* src/compiler/translator/TranslatorMetalDirect/Name.cpp:
(Name::emit const):
* src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
(SymbolEnv::getTextureEnv):
(SymbolEnv::getSamplerStruct):
(sh::GetTextureTypeName):
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::GenerateTransformFeedbackVaryingOutput):
2021-09-28 Alex Christensen <achristensen@webkit.org>
Mostly fix Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=230868
Reviewed by Don Olmstead.
* Compiler.cmake:
* Metal.cmake:
2021-09-23 Kyle Piddington <kpiddington@apple.com>
[WebGL2, Safari 15 - iOS15] Problems with drawElements in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230107
Index buffer rewrite was dispatching too many threads.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ProvokingVertexHelper.mm:
(rx::ProvokingVertexHelper::preconditionIndexBuffer):
2021-09-20 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal: single-component swizzles do not compile
https://bugs.webkit.org/show_bug.cgi?id=230472
<rdar://problem/83310780>
Reviewed by Dean Jackson.
Fix metal compiler compile errors when using
single value swizles (glslvariable.r) in position where lvalues would
be needed. Use the variable instead of single element array
(copy-paste typo).
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
2021-09-16 Kyle Piddington <kpiddington@apple.com>
webgl/2.0.y/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html fails on Intel+AMD Metal
https://bugs.webkit.org/show_bug.cgi?id=229941
Zero-initialize compressed textures explicitly, as they aren't implicitly initalized in Metal.
Reviewed by Kenneth Russell <kbr@chromium.org>.
* src/libANGLE/renderer/metal/mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::GetCompressedBufferForTextureWithFormat):
(rx::mtl::InitializeCompressedTextureContents):
(rx::mtl::InitializeTextureContents):
2021-08-31 Kimmo Kinnunen <kkinnunen@apple.com>
webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html fails
https://bugs.webkit.org/show_bug.cgi?id=223317
<rdar://problem/75772659>
Reviewed by Kenneth Russell.
The parser maintains invariance metadata for each input and output
with the help of the symbol table, during parsing.
Use this metadata through the collection phase done by CollectVariables
section of shader compilation.
Remove the manual tree rewrite section that collected the invariance
information. The implementation had following problems:
1) It would declare the variables present. This would fail the test case
fixed here, due to the test case using invariant declarations to both
FragColor and FragData, which would cause both to be present as outputs
to the MSL.
2) It would operate on rewritten variables. For example, FragCoord would
be replaced with different variable, causing the invariance be marked
based on the rewritten name but the later lookup intended to be done
with the original name.
Remove logic to mark FragCoord as invariant, as MSL specification explicitly
says that only the vertex [[position]] output can be marked as [[invariant]].
As noted above, this never worked.
Fix cases where the tree rewriters assume that all variable references are
done within functions. The global qualifier declarations are now left
in the tree and as such can refer to variables but do not belong to any
function.
Fixes:
webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html
webgl/2.0.y/conformance/glsl/misc/fragcolor-fragdata-invariant.html
* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/DiscoverDependentFunctions.cpp:
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::GenMetalTraverser):
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitGlobalQualifierDeclaration):
(sh::EmitMetal):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.h:
* src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp: Removed.
* src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.h: Removed.
* src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp:
(sh::IsVariableInvariant):
(sh::GeneratePipelineStruct::Exec):
(sh::GeneratePipelineStruct::GeneratePipelineStruct):
(sh::GeneratePipelineStruct::createInternalPipelineStruct):
(sh::UpdatePipelineSymbols):
(sh::RewritePipeline):
(sh::RewritePipelines):
* src/compiler/translator/TranslatorMetalDirect/RewritePipelines.h:
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp:
2021-08-25 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal index buffer restart range cache is could be maintained more consistently
https://bugs.webkit.org/show_bug.cgi?id=227451
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/BufferMtl.h:
(rx::BufferMtl::RestartRangeCache::RestartRangeCache):
Add optional<RestartRangeCache> which contains the ranges and
the index type used to build the ranges.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::BufferMtl::markConversionBuffersDirty):
(rx::BufferMtl::clearConversionBuffers):
Invalidate the range cache when clearing conversion buffers.
Otherwise the cache would be left in inconsistent state vs.
the contents of the index buffer in cases of code like:
BufferMtl::setDataImpl() ...
if (...) {
markConversionBufferDirty();
} else {
clearConversionBuffers();
}
(rx::BufferMtl::getRestartIndices):
2021-08-24 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal infinities and NaNs generated with incorrect syntax
https://bugs.webkit.org/show_bug.cgi?id=229439
<rdar://81033366>
Reviewed by Dean Jackson.
Generate NaN and infinity constant values correctly.
An else was missing from if-block, causing double processing.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitSingleConstant):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::CreateShaderLibrary):
2021-08-17 David Kilzer <ddkilzer@apple.com>
[Metal ANGLE] Fix over-autorelease of rx::DisplayMtl::getMetalDeviceMatchingAttribute() and various Objective-C leaks
<https://webkit.org/b/229128>
<rdar://problem/81964007>
Reviewed by Alex Christensen.
* src/libANGLE/renderer/metal/DisplayMtl.h:
(rx::DisplayMtl::getMetalDeviceMatchingAttribute):
- Change to return mtl::AutoObjCPtr<> to make ownership clear.
(rx::DisplayMtl::mMetalDevice):
- No need to initialize to nil.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeImpl):
- Update for changes to getMetalDeviceMatchingAttribute().
(rx::DisplayMtl::getMetalDeviceMatchingAttribute):
- Change to return mtl::AutoObjCPtr<> to make ownership clear.
- Fix leak of `deviceList`, `externalGPUs`, `integratedGPUs`, and
`discreteGPUs`.
- Use mtl::adoptObjCObj<>() to prevent leak of
MTLCreateSystemDefaultDevice().
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
- Fix leak of `captureDescriptor` in two different if blocks.
* src/libANGLE/renderer/metal/ProgramMtl.mm:
- Fix leak of `funcConstants` in early return on error path.
* src/libANGLE/renderer/metal/ProvokingVertexHelper.mm:
(rx::ProvokingVertexHelper::getSpecializedShader):
- Fix leak of `fcValues`.
* src/libANGLE/renderer/metal/SurfaceMtl.mm:
- Fix leak of `captureDescriptor` in two different if blocks.
* src/libANGLE/renderer/metal/mtl_common.h:
(rx::mtl::WrappedObject::retainAssign):
- Move statement inside #if/#endif that isn't needed for ARC.
(rx::mtl::WrappedObject::unretainAssign): Add.
(rx::mtl::AutoObjCPtr::AutoObjCPtr): Add.
(rx::mtl::adoptObjCObj): Add.
- Add a helper method to adopt an Objective-C object to
eliminate the need to autorelease a +1 retained object before
an mtl::AutoObjCPtr<> object wraps it. Modeled after
WTF::RetainPtr<> in WebKit.
* src/libANGLE/renderer/metal/mtl_state_cache.mm:
(rx::mtl::RenderPipelineCache::createRenderPipelineState):
(rx::mtl::ProvokingVertexComputePipelineCache::createComputePipelineState):
- Use adoptObjCObj<>() to fix potential leak on the early return
path since these methods return an mtl::AutoObjCPtr<>.
2021-08-16 David Kilzer <ddkilzer@apple.com>
"make analyze" should run clang static analyzer in deep mode
<https://webkit.org/b/229127>
<rdar://problem/81960587>
Reviewed by Alexey Proskuryakov.
* ANGLE.xcodeproj/project.pbxproj:
- Treat "analyze" the same as "build" for "ACTION" environment
variable.
2021-08-12 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Cocoa compiles contents of ContextEAGL on mac
https://bugs.webkit.org/show_bug.cgi?id=228987
Reviewed by Kenneth Russell.
Add include guards that are consistent with other EAGL files.
* src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp:
2021-08-12 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Cocoa compiles parts of HLSL translator, vulkan translator, libgl api, capture redundantly
https://bugs.webkit.org/show_bug.cgi?id=228986
Reviewed by Kenneth Russell.
Remove following from ANGLE (dynamic) target:
- HLSL translator and tree ops used only by it
- Vulkan translator output
- libgl API validation implementation
- API trace capture implementation (was only partially compiled)
The features are not part of Cocoa use of ANGLE, and should
not be compiled as such.
Does not affect the binary size more than few kilobytes.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
2021-08-11 Kyle Piddington <kpiddington@apple.com>
Avoid infinite recursion when command buffer creation fails
https://bugs.webkit.org/show_bug.cgi?id=228978
<rdar://79224824>
Reviewed by Kenneth Russell.
In cases where the MTLCommandBuffer is not a valid metal object,
we can end up in an infinite recursive loop during draw call setup. Refactor setupDraw to take no more than two attempts through the setup function.
Testing: Ran WebGL tests, use case samples. Set up synthetic
repro forcing bail out path, saw WebGL content fail to render
instead of a web process crash.
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::setupDraw):
(rx::ContextMtl::setupDrawImpl):
2021-08-11 Kimmo Kinnunen <kkinnunen@apple.com>
Cherry-pick ANGLE: Revise WebGL's shaderSource validation
https://bugs.webkit.org/show_bug.cgi?id=228951
Reviewed by Kenneth Russell.
Cherry-pick ANGLE commit: b4fd46288aa65d61dc9c7140c7d1cdba3f4cdf9a
From: Kenneth Russell <kbr@chromium.org>
Date: Wed, 27 Jan 2021 15:56:58 -0800
Revise WebGL's shaderSource validation.
Per discussion in the WebGL working group, shaderSource no longer
generates INVALID_VALUE for sources containing characters outside the
ESSL character set. Compilation and/or linking is still specified to
fail when illegal constructs are used.
With this change, https://github.com/KhronosGroup/WebGL/pull/3206
passes with the passthrough command decoder.
Revise WebGL compatibility tests to follow the new rules.
* src/libANGLE/validationES2.cpp:
(gl::ValidateShaderSource):
* src/tests/gl_tests/WebGLCompatibilityTest.cpp:
2021-07-23 Dean Jackson <dino@apple.com>
3.5 MB system-wide footprint impact due to thread-locals in libANGLE
https://bugs.webkit.org/show_bug.cgi?id=228240
rdar://79504783
Reviewed by Ken Russell and Geoff Garen.
Apple's dyld has a bug where thread_local variables are dirtied on
process launch, causing a memory regression. Work around this
temporarily in ANGLE by using pthread thread local storage.
I don't expect this to be upstreamed to ANGLE unless they
want it. If it isn't, this patch will have to be applied until
the dyld bug is fixed.
* src/libANGLE/Context.cpp: Implement some methods to get/set what was
the global variable gCurrentValidContext.
(gl::GetCurrentValidContextTLSIndex):
(gl::GetCurrentValidContextTLS):
(gl::SetCurrentValidContextTLS):
(gl::Context::setContextLost):
* src/libANGLE/Context.h:
* src/libGLESv2/global_state.cpp: Ditto, but for gCurrentThread.
(egl::GetCurrentThreadTLSIndex):
(egl::GetCurrentThreadTLS):
(egl::SetCurrentThreadTLS):
(egl::GetCurrentThread):
(egl::SetContextCurrent):
* src/libGLESv2/global_state.h:
(gl::GetGlobalContext):
(gl::GetValidGlobalContext):
2021-07-16 Kyle Piddington <kpiddington@apple.com>
Build Default Metal library offline
https://bugs.webkit.org/show_bug.cgi?id=227333
<rdar://79923371>
This patch compiles and creates a Metal library at build time, storing
the library as a compiled binary file. This library is baked into the dylib,
and is loaded at context creation time.
Unlike the previous version of this patch, this patch does not save or store the .metallib on disk, but rather
bakes it into a binary.
Fixed internal build breaks by skipping Metallib bake script.
Reviewed by Kenneth Russell.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeShaderLibrary):
* src/libANGLE/renderer/metal/mtl_utils.h:
2021-07-16 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r279980.
Broke Internal Builds
Reverted changeset:
"Build Default Metal library offline"
https://bugs.webkit.org/show_bug.cgi?id=227333
https://commits.webkit.org/r279980
2021-07-16 Kyle Piddington <kpiddington@apple.com>
Build Default Metal library offline
https://bugs.webkit.org/show_bug.cgi?id=227333
<rdar://79923371>
This patch compiles and creates a Metal library at build time, storing
the library as a compiled binary file. This library is baked into the dylib,
and is loaded at context creation time.
Unlike the previous version of this patch, this patch does not save or store the .metallib on disk, but rather
bakes it into a binary.
Reviewed by Kenneth Russell.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeShaderLibrary):
* src/libANGLE/renderer/metal/mtl_utils.h:
2021-07-15 Kyle Piddington <kpiddington@apple.com>
WebGL2 demo doesn't work due to failing compilation to metal backend
https://bugs.webkit.org/show_bug.cgi?id=226865
Fix translation of struct-arrays to contain the array type as well.
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
2021-07-13 Kyle Piddington <kpiddington@apple.com>
rAF driven WebGL submits excessive amount of GPU work when frames are slow
https://bugs.webkit.org/show_bug.cgi?id=227059
Reviewed by Dean Jackson.
Advertise GL_ARB_sync for the Metal backend.
Since GL_ARB_sync is core in OpenGL ES 3.0 and the Metal backend advertises OpenGL ES 3.0,
the API must be working already.
Limit in-flight WebGL frames to three frames. Do not continue preparation for display
until the commands for the oldest frame have been executed by the GPU.
This limits the impact slow frames have, especially in the
case where the compositor skip frames and WebKit would issue a new slow frame
on top of the skipped frame.
An additional change ensures that Nvidia configs, which do not support MTLEvents
to a level of conformance required (See http://crbug.com/1136673), continue to run. The more powerful eGPUs will not experience throttling to the same level as integrated GPUS.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeExtensions const):
2021-07-07 Kyle Piddington <kpiddington@apple.com>
WebGL shader link error in iOS 15 beta: "Internal error compiling shader with Metal backend"
https://bugs.webkit.org/show_bug.cgi?id=227723
The sequence operator can be used to combine statements. Our initial
logic did not account for this.
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp:
(sh::Separator::isStandaloneExpr):
2021-07-06 Kyle Piddington <kpiddington@apple.com>
REGRESSION (r279466): [Big Sur] webgl/1.0.3/conformance & webgl/2.0.0/conformance are failing
https://bugs.webkit.org/show_bug.cgi?id=227596
Provide Intel workaround for Big Sur systems. Atan and invariant have
issues on older systems, and require us to disable fastmath to produce correct results.
Reviewed by Kenneth Russell.
* include/platform/FeaturesMtl.h:
* src/compiler/translator/TranslatorMetalDirect.h:
(sh::TranslatorMetalReflection::reset):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitUnary):
(GenMetalTraverser::visitAggregate):
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeFeatures):
* src/libANGLE/renderer/metal/ProgramMtl.h:
(rx::ProgramMtl::getTranslatedShaderInfo const):
* src/libANGLE/renderer/metal/ProgramMtl.mm:
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::GlslangGetMSL):
* src/libANGLE/renderer/metal/mtl_render_utils.h:
* src/libANGLE/renderer/metal/mtl_render_utils.mm:
(rx::mtl::TransformFeedbackUtils::createMslXfbLibrary):
(rx::mtl::TransformFeedbackUtils::getTransformFeedbackRenderPipeline):
* src/libANGLE/renderer/metal/mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::CreateShaderLibrary):
2021-07-01 Ben Nham <nham@apple.com>
Unreviewed, reverting r279172.
Broke WebGL context construction on some devices.
Reverted changeset:
"rAF driven WebGL submits excessive amount of GPU work when frames are slow"
https://bugs.webkit.org/show_bug.cgi?id=227059
https://commits.webkit.org/r279172
2021-07-01 Kyle Piddington <kpiddington@apple.com>
BabylonJS Under water demo is slower than it should be on Intel
https://bugs.webkit.org/show_bug.cgi?id=227226
Remove fastMath restriction on Intel
Removing fastmath in all scenarios leads to unacceptable performance on integrated graphics
Currently, webgl conformance tests and the Safari tests don't have any invariance tests that show invariance issues. deQP tests are similarly passing.
In Metal-ANGLE, gl_position and gl_fragcoord are valid attributes to be marked as invariant. All others will be ignored.
Reviewed by Kenneth Russell.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::CreateShaderLibrary):
2021-06-30 Kimmo Kinnunen <kkinnunen@apple.com>
ASSERT in webgl/1.0.x/conformance/glsl/misc/uninitialized-local-global-variables.html IdGen ASSERT(*base != '_');
https://bugs.webkit.org/show_bug.cgi?id=227482
Reviewed by Kenneth Russell.
Give unnamed structs normal "_<number>" name.
The original code thought it gave "ANGLE__unnamed<number>", but in reality it
gave "__unnamed<number>".
Since other constructs already create names of form "_<number>", it is unwarranted to
special case this particular case to give "_unnamed<number>" or "ANGLE_unnamed<number" or
"ANGLE_<number>".
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
* src/tests/compiler_tests/MSLOutput_test.cpp:
(TEST_F):
2021-06-29 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal primitive restart range computation could index with size_t
https://bugs.webkit.org/show_bug.cgi?id=227449
Reviewed by Kenneth Russell.
Make the `calculateRestartRanges()` a bit simpler in order
for it to be easier to understand.
* src/libANGLE/renderer/metal/BufferMtl.h:
(rx::IndexRange::IndexRange):
Add documentation what the mtl::IndexRange is.
Add constructor so that `std::vector::emplace_back()` works.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::calculateRestartRanges):
Index with size_t to make it simpler to understand if the index
overflows or not.
Use reinterpret_cast in order to not accidentally cast away
const from `mtl::BufferRef::mapReadOnly()`.
Skip the non-marker elements with `continue` to avoid deep nesting.
Give a name to the restart range marker value.
Remove intermediate variable `value = bufferData[i]` as it is never
used more than once. This simplifies the code as the do-while loop
does not need to check the if condition as the loop ending condition
already checks.
Make the array a returned result instead of out variable.
(rx::BufferMtl::getRestartIndices):
2021-06-29 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal primitive restart range computation should not be done unless primitive restart is enabled
https://bugs.webkit.org/show_bug.cgi?id=227452
Reviewed by Kenneth Russell.
Primitive restart needs to scan the whole index buffer for values.
This should not be done unless needed.
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getDrawIndices):
First check for primitive restart enabledness.
Compute the primitive restart values after this.
The algoritm should succeed when the count of primitive
restart ranges is zero, and it does not do much of work.
Use the restart range vector as reference, so that no copy
would be done.
Add spaces the if statements, comments and references.
Move the else arm of the if statement with return statement
to body of the function to reduce nesting.
2021-06-28 Kimmo Kinnunen <kkinnunen@apple.com>
iPhone 6S - iOS 15.0 - unable to retrieve WebGL2 context
https://bugs.webkit.org/show_bug.cgi?id=226975
rdar://78966563
Reviewed by Kenneth Russell.
Limit the OpenGL ES 3.0 contexts to iOS GPU Family 3, not
4.
The limit was most likely added to guard sample_compare
lod_options properties .lod and .gradient. However, these
are always supported on iOS.
Currently there is already ES 3.0 features implemented
in ANGLE that are guarded by iOS GPU Family 3.
Fixes WebGL 2.0 to work on iPhone6s and similar
devices (A9, A9X).
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::getMaxSupportedESVersion const):
2021-06-28 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal index buffer left mapped when building primitive restart ranges
https://bugs.webkit.org/show_bug.cgi?id=227371
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::calculateRestartRanges):
Add unmap.
2021-06-25 Myles C. Maxfield <mmaxfield@apple.com>
[macOS] WebGL content is unable to use the discrete GPU
https://bugs.webkit.org/show_bug.cgi?id=227408
<rdar://problem/79216506>
Reviewed by Dean Jackson.
There appears to be a key collision:
Source/ThirdParty/ANGLE/include/platform/PlatformMethods.h:#define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
Source/ThirdParty/ANGLE/include/EGL/eglext_angle.h:#define EGL_POWER_PREFERENCE_ANGLE 0x3482
Both these keys seem to be accepted by EGL_GetPlatformDisplayEXT().
This patch just changes the value of one of them to a value I picked out of a hat, just so they don't conflict.
We should work with upstream to either:
A) Find a better solution (maybe disambiguate these values based on which function is accepting them), or
B) Make a robust way to make sure keys don't collide in the future.
* include/platform/PlatformMethods.h:
2021-06-24 John Cunningham <johncunningham@apple.com>
[ANGLE Metal] - Set barriers on transform feedback buffers only up to the in use buffer count
https://bugs.webkit.org/show_bug.cgi?id=227272
<rdar://79587861>
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::onEndTransformFeedback):
2021-06-23 Kyle Piddington <kpiddington@apple.com>
Fix incorrect indexing / out of bounds access in getRestartIndices
https://bugs.webkit.org/show_bug.cgi?id=227274
<rdar://79244789>
In the case where a restart index is present in the last element of an index array, we can accidently
access out of bounds. Fix this by checking boundaries, and fixing other indexing errors
Tests: Ran deqp/functional/gles3/primitiverestart suite. Passed 8 tests.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::calculateRestartRanges):
2021-06-23 Kyle Piddington <kpiddington@apple.com>
Guard against compile failures of the default libraries
https://bugs.webkit.org/show_bug.cgi?id=227239
<rdar://79037623>
Under certain events (High memory usage), the MTLCompilerService can fail when creating the default library.
Guard against nil pipelines by failing GL calls instead, if this happens. While this can create rendering artifacts
due to missing blits / conversions, this can at least avoid crashing the process.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/mtl_render_utils.h:
* src/libANGLE/renderer/metal/mtl_render_utils.mm:
(rx::mtl::ClearUtils::setupClearWithDraw):
(rx::mtl::ClearUtils::clearWithDraw):
(rx::mtl::ColorBlitUtils::setupColorBlitWithDraw):
(rx::mtl::ColorBlitUtils::blitColorWithDraw):
(rx::mtl::DepthStencilBlitUtils::setupDepthStencilBlitWithDraw):
(rx::mtl::DepthStencilBlitUtils::blitDepthStencilWithDraw):
(rx::mtl::VertexFormatConversionUtils::setupCommonConvertVertexFormatToFloat):
(rx::mtl::VertexFormatConversionUtils::expandVertexFormatComponentsVS):
(rx::mtl::VertexFormatConversionUtils::setupCommonExpandVertexFormatComponents):
2021-06-23 Kimmo Kinnunen <kkinnunen@apple.com>
rAF driven WebGL submits excessive amount of GPU work when frames are slow
https://bugs.webkit.org/show_bug.cgi?id=227059
<rdar://problem/79385858>
Reviewed by Kenneth Russell.
Advertise GL_ARB_sync for the Metal backend.
Since GL_ARB_sync is core in OpenGL ES 3.0 and the Metal backend advertises OpenGL ES 3.0,
the API must be working already.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeExtensions const):
2021-06-22 Dean Jackson <dino@apple.com>
[ANGLE] Support importing external MTLTextures
https://bugs.webkit.org/show_bug.cgi?id=226690
Reviewed by Tim Horton.
Support MTLTextures as GL textures.
Merge https://chromium-review.googlesource.com/c/angle/angle/+/2820178
* ANGLE.xcodeproj/project.pbxproj:
* extensions/EGL_ANGLE_metal_texture_client_buffer.txt: Added.
* include/EGL/eglext_angle.h:
* src/common/utilities.cpp:
(egl::IsExternalImageTarget):
* src/libANGLE/Caps.cpp:
(egl::DisplayExtensions::getStrings const):
* src/libANGLE/Caps.h:
* src/libANGLE/renderer/metal/BUILD.gn:
* src/libANGLE/renderer/metal/DisplayMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::createImage):
(rx::DisplayMtl::createExternalImageSibling):
(rx::DisplayMtl::generateExtensions const):
(rx::DisplayMtl::validateImageClientBuffer const):
(rx::DisplayMtl::initializeExtensions const):
* src/libANGLE/renderer/metal/ImageMtl.h: Added.
(rx::TextureImageSiblingMtl::getTexture const):
(rx::TextureImageSiblingMtl::getFormatMtl const):
(rx::ImageMtl::getTexture const):
(rx::ImageMtl::getImageTextureType const):
(rx::ImageMtl::getImageLevel const):
(rx::ImageMtl::getImageLayer const):
* src/libANGLE/renderer/metal/ImageMtl.mm: Added.
(rx::TextureImageSiblingMtl::TextureImageSiblingMtl):
(rx::TextureImageSiblingMtl::~TextureImageSiblingMtl):
(rx::TextureImageSiblingMtl::ValidateClientBuffer):
(rx::TextureImageSiblingMtl::initialize):
(rx::TextureImageSiblingMtl::initImpl):
(rx::TextureImageSiblingMtl::onDestroy):
(rx::TextureImageSiblingMtl::getFormat const):
(rx::TextureImageSiblingMtl::isRenderable const):
(rx::TextureImageSiblingMtl::isTexturable const):
(rx::TextureImageSiblingMtl::getSize const):
(rx::TextureImageSiblingMtl::getSamples const):
(rx::ImageMtl::ImageMtl):
(rx::ImageMtl::~ImageMtl):
(rx::ImageMtl::onDestroy):
(rx::ImageMtl::initialize):
(rx::ImageMtl::orphan):
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageEGLImageTarget):
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::setEGLImageTarget):
* src/libANGLE/renderer/metal/gen_mtl_format_table.py:
(gen_image_map_switch_mac_case.gen_format_assign_code):
(gen_image_mtl_to_angle_switch_string):
(main):
* src/libANGLE/renderer/metal/mtl_common.h:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::MetalToAngleFormatID):
* src/libANGLE/renderer/metal/mtl_format_utils.h:
* src/libANGLE/validationEGL.cpp:
(egl::ValidateCreateImage):
* src/tests/BUILD.gn:
* src/tests/gl_tests/ImageTest.cpp:
(angle::TEST_P):
* src/tests/gl_tests/ImageTestMetal.mm: Added.
(angle::ScopeMetalTextureRef::ScopeMetalTextureRef):
(angle::ScopeMetalTextureRef::~ScopeMetalTextureRef):
(angle::ScopeMetalTextureRef::get const):
(angle::ScopeMetalTextureRef::operator id<MTLTexture> const):
(angle::ScopeMetalTextureRef::operator=):
(angle::ScopeMetalTextureRef::release):
(angle::CreateMetalTexture2D):
(angle::ImageTestMetal::ImageTestMetal):
(angle::ImageTestMetal::getMtlDevice):
(angle::ImageTestMetal::createMtlTexture2D):
(angle::ImageTestMetal::verifyResultsTexture):
(angle::ImageTestMetal::verifyResults2D):
(angle::ImageTestMetal::reinterpretHelper):
(angle::ImageTestMetal::hasImageNativeMetalTextureExt const):
(angle::ImageTestMetal::hasOESExt const):
(angle::ImageTestMetal::hasBaseExt const):
(angle::ImageTestMetal::sourceMetalTarget2D_helper):
(angle::TEST_P):
2021-06-17 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] Shaders with reserved metal keywords do not translate, nor do shaders with struct and variable names that are the same except prefixed by an underscore
https://bugs.webkit.org/show_bug.cgi?id=226660
Fix keyword translation problem by correcting symbol space. This avoids renaming structs unnecessarily
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp:
(sh::Rewriter::createRenamed):
2021-06-16 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal gl sync objects do not work in case of listener being needed
https://bugs.webkit.org/show_bug.cgi?id=227024
Reviewed by Per Arne Vollan.
Add an assert to notice when MTLSharedEventListener instantiation
fails. Without this, the fence implementation would not signal
the completion until the timeout would pass.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::getOrCreateSharedEventListener):
2021-06-16 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal AutoObjCPtr == nullptr comparison is inverted
https://bugs.webkit.org/show_bug.cgi?id=227026
Reviewed by Anders Carlsson.
Make it more correct and add != nullptr variant for
consistency.
Use std::nullptr_t instead of const std::nullptr_t &
in all functions for consistency.
* src/libANGLE/renderer/metal/mtl_common.h:
(rx::mtl::AutoObjCPtr::operator== const):
(rx::mtl::AutoObjCPtr::operator!= const):
2021-06-15 Kyle Piddington <kpiddington@apple.com>
Tensorflow.js Broken in Safari 15
https://bugs.webkit.org/show_bug.cgi?id=226953
Tensorflow shaders use a 'NAN' uniform. This is a reserved keyword
in metal. Add NAN to the reserved list.
'inf' constants need to be replaced with INFINITY, much like nan constants need to be replaced with NAN
Reviewed by Kenneth Russell.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::GetMslKeywords):
2021-06-15 Alex Christensen <achristensen@webkit.org>
Fix typo in r276318
https://bugs.webkit.org/show_bug.cgi?id=227041
<rdar://76284889>
Reviewed by Chris Dumez.
@ uses the string @(DYLIB_INSTALL_NAME_BASE)
$ uses the value of the environment variable.
This turns out to be an important difference.
* Configurations/ANGLE-dynamic.xcconfig:
2021-06-11 Eleni Maria Stea <estea@igalia.com>
ANGLE EGL and GLES libraries should link with lib dl.
https://bugs.webkit.org/show_bug.cgi?id=226920
Reviewed by Kenneth Russell.
GLES and EGL that are generated from ANGLE should link
with libdl because they use dlsym and dlopen. Also,
with the updated CMakeLists.txt we can safely link with libEGL
when USE_ANGLE_WEBGL is set because the symbols of EGL are now
found.
* CMakeLists.txt:
2021-06-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Make ANGLE library types configurable
https://bugs.webkit.org/show_bug.cgi?id=226840
Reviewed by Kenneth Russell.
The type for ANGLE's libraries was being hard coded. Now the libraries can be set by
specifying the _LIBRARY_TYPE which defaults to STATIC. Windows platforms override this
and use SHARED libraries.
Additionally make compiling ANGLE's EGL library contingent on USE_ANGLE_EGL being enabled
since its not used otherwise.
* CMakeLists.txt:
* PlatformFTW.cmake:
* PlatformWin.cmake:
2021-06-02 Kyle Piddington <kpiddington@apple.com>
Add 'mix' override with bool-vectors to MSL translator
https://bugs.webkit.org/show_bug.cgi?id=226366
Reviewed by Dean Jackson.
Add in 'mix' overrides, and logic for selecting mix with bool when necessary.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GetOperatorString):
(GenMetalTraverser::visitAggregate):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
2021-06-01 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] transformFeedback samples on webglsamples.org do not render correctly
https://bugs.webkit.org/show_bug.cgi?id=226285
<rdar://78524773>
Reviewed by Dean Jackson.
Metal ANGLE does not render these samples correctly, for a number of reasons.
For transform_feedback_interleaved and seperated, We need to start a new renderEncoder to get the results from the transform feedback.
for transform_feedback-seperated_2, we need to invalidate the current render pass descriptor in order to switch to the rasterizer-enabled version of the shader.
Testing: Ran all transform feedback tests from deqp suite to ensure no regressions are present.
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawTriFanArraysWithBaseVertex):
(rx::ContextMtl::drawArraysImpl):
(rx::ContextMtl::drawTriFanElements):
(rx::ContextMtl::prepareForTransformFeedbackPassTwo):
(rx::ContextMtl::drawLineLoopElements):
(rx::ContextMtl::drawElementsImpl):
(rx::ContextMtl::onEndTransformFeedback):
* src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
(rx::TransformFeedbackMtl::end):
2021-06-01 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal translator pre-rotation code is unused and it asserts when used
https://bugs.webkit.org/show_bug.cgi?id=226262
Reviewed by Dean Jackson.
Remove the pre-rotation code. It is Android specific and most likely it is useful
only when ANGLE is used as the drawing mechanism for the primary app window picture.
Thus most likely it is not useful in WebKit on Cocoa platforms where the window
server does the compositing.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect.h:
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::handleDirtyDriverUniforms):
2021-05-31 Kimmo Kinnunen <kkinnunen@apple.com>
Cherry-pick ANGLE: Add array bounds checks for WebGL shaders
https://bugs.webkit.org/show_bug.cgi?id=226397
Reviewed by Dean Jackson.
Cherry-pick ANGLE commit b0d39ba2aba218402ff2f32f6e16f18cf4975ff4
At the moment does not affect any WebKit client.
Makes the code consistent with OpenGL.
Makes it easier to understand same change in Metal backend.
Upstream description:
Add array bounds checks for WebGL shaders
WebGL shaders may contain OOB array accesses which in turn
cause undefined behavior, which may result in security
issues. This was detected as an UNKNOWN READ by UBSAN while
testing with SwANGLE.
* src/libANGLE/renderer/vulkan/ShaderVk.cpp:
(rx::ShaderVk::compile):
2021-05-28 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE Metal translator should always collect variables
https://bugs.webkit.org/show_bug.cgi?id=226261
Reviewed by Dean Jackson.
Always collect the variables when translating GLSL to Metal.
This way tests that invoke translation without SH_VARIABLES still
work.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect.h:
2021-05-27 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE could be compiled with "aggressive uninitialised variable" setting
https://bugs.webkit.org/show_bug.cgi?id=226260
Reviewed by Alexey Proskuryakov.
Turn on compiler flag to warn about uninitialized variables that might be
conditionally uninitialized. This is the same flag as upstream ANGLE uses.
Fix a spurious warning produced by this flag.
This helps in scenarios where custom targets compile ANGLE sources and
this flag set, such as tests.
* Configurations/Base.xcconfig:
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp:
2021-05-27 Kimmo Kinnunen <kkinnunen@apple.com>
Cherry-pick ANGLE: D3D11: Skip blits if there is no intersection of dest areas
https://bugs.webkit.org/show_bug.cgi?id=225190
<rdar://77084155>
Reviewed by David Kilzer.
Cherry-pick ANGLE commit b574643ef28c92fcea5122dd7a72acb42a514eed
Fixes a security issue on D3D11.
Potential a correctness issue on some OpenGL drivers.
No effect on Metal, but the nodiscard part is still useful.
Upstream description:
D3D11: Skip blits if there is no intersection of dest areas
Blit11 would clip the destination rectangle with the destination size
but ignore the result. gl::ClipRectangle returns false when the
rectangles do not intersect at all, indicating the blit can be skipped.
This could lead to an out-of-bounds write to the GPU memory for the
destination texture.
Mark ClipRectangle as nodiscard to prevent future issues.
* src/libANGLE/angletypes.h:
* src/libANGLE/renderer/d3d/d3d11/Blit11.cpp:
* src/libANGLE/renderer/gl/FramebufferGL.cpp:
(rx::FramebufferGL::clipSrcRegion):
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::updateScissor):
* src/libANGLE/renderer/vulkan/ContextVk.cpp:
(rx::ContextVk::updateScissor):
* src/tests/gl_tests/BlitFramebufferANGLETest.cpp:
(TEST_P):
2021-05-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
<rdar://problem/77280211>
Reviewed by Ken Russell.
Support ANGLE using the OpenGL backend for GTK. Support ANGLE using Metal
backend for Mac. Add the generated sources for these two backends.
Clean up the CMake and introduce additional targets.
* CMakeLists.txt:
* Compiler.cmake:
* GL.cmake: Added.
* Metal.cmake: Added.
* PlatformFTW.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWin.cmake:
2021-05-20 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] Handle NAN constant folding correctly
https://bugs.webkit.org/show_bug.cgi?id=226052
NAN values (0.0f/0.0f) were being handled incorrectly. MSL was being emitted as lowercase 'nanf', instead of NAN
Check for an unlikely NAN case, and emit correct MSL
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitSingleConstant):
2021-05-20 Kyle Piddington <kpiddington@apple.com>
Red flashes zooming on Google Maps when using external monitor on multi-gpu systems
https://bugs.webkit.org/show_bug.cgi?id=225956
<rdar://77024179>
Reviewed by Dean Jackson.
IOSurface presentation swaps require that a command buffer is queued for execution before
swapping. Otherwise, we're liable to drop frames, or present old IOSurface buffers.
Ensure work flushed via glFlush completes before presenation by waiting for it to enqueue before
swapping a surface.
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::flush):
* src/libANGLE/renderer/metal/mtl_command_buffer.h:
* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
(rx::mtl::CommandBuffer::waitUntilScheduled):
(rx::mtl::CommandBuffer::commitImpl):
2021-05-19 Kyle Piddington <kpiddington@apple.com>
ASSERT(!toType.isArray()) failure in sh::CoerceSimple due to vector array dereference
https://bugs.webkit.org/show_bug.cgi?id=225864
<rdar://77968214>
Reviewed by Dean Jackson.
Fixed program translation error, additional issues with transform feedback shaders
* src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::reset):
2021-05-19 Kyle Piddington <kpiddington@apple.com>
[ANGLE Metal] Support Provoking Vertex Emulation, Pass Fragment Output test suite.
https://bugs.webkit.org/show_bug.cgi?id=225842
Reviewed by Dean Jackson.
Add support for provoking vertex emulation. Metal only supports using the first vertex
of a primitive as a provoking vertex. To adapt, rewrite the index buffer on the fly when provoking vertex support is required. This method does not rewrite any primitives that would be
culled by primitive restart, such as simple triangles and lines. Triangle and line strips are re-written to line and triangle buffers. Tri fans and line loops are not supported for this
rewrite as of this patch.
* ANGLE.xcodeproj/project.pbxproj:
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::ContextMtl):
(rx::ContextMtl::initialize):
(rx::ContextMtl::onDestroy):
(rx::ContextMtl::drawElementsImpl):
(rx::ContextMtl::flushCommandBufer):
(rx::ContextMtl::present):
(rx::ContextMtl::ensureCommandBufferReady):
(rx::ContextMtl::requiresIndexRewrite):
* src/libANGLE/renderer/metal/ProgramMtl.h:
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::ProgramMtl):
(rx::ProgramMtl::programHasFlatAttributes const):
(rx::ProgramMtl::linkImpl):
* src/libANGLE/renderer/metal/ProvokingVertexHelper.h: Added.
* src/libANGLE/renderer/metal/ProvokingVertexHelper.mm: Added.
(rx::primCountForIndexCount):
(rx::ProvokingVertexHelper::ProvokingVertexHelper):
(rx::ProvokingVertexHelper::onDestroy):
(rx::ProvokingVertexHelper::commitPreconditionCommandBuffer):
(rx::ProvokingVertexHelper::getComputeCommandEncoder):
(rx::ProvokingVertexHelper::ensureCommandBufferReady):
(rx::buildIndexBufferKey):
(rx::ProvokingVertexHelper::getSpecializedShader):
(rx::ProvokingVertexHelper::hasSpecializedShader):
(rx::ProvokingVertexHelper::prepareCommandEncoderForDescriptor):
(rx::ProvokingVertexHelper::preconditionIndexBuffer):
* src/libANGLE/renderer/metal/mtl_state_cache.h:
(std::hash<rx::mtl::ProvokingVertexComputePipelineDesc>::operator() const):
* src/libANGLE/renderer/metal/mtl_state_cache.mm:
(rx::mtl::ProvokingVertexComputePipelineDesc::ProvokingVertexComputePipelineDesc):
(rx::mtl::ProvokingVertexComputePipelineDesc::operator=):
(rx::mtl::ProvokingVertexComputePipelineDesc::operator== const):
(rx::mtl::ProvokingVertexComputePipelineDesc::operator!= const):
(rx::mtl::ProvokingVertexComputePipelineDesc::hash const):
(rx::mtl::ProvokingVertexComputePipelineCache::ProvokingVertexComputePipelineCache):
(rx::mtl::ProvokingVertexComputePipelineCache::setComputeShader):
(rx::mtl::ProvokingVertexComputePipelineCache::clearPipelineStates):
(rx::mtl::ProvokingVertexComputePipelineCache::clear):
(rx::mtl::ProvokingVertexComputePipelineCache::getComputePipelineState):
(rx::mtl::ProvokingVertexComputePipelineCache::insertComputePipelineState):
(rx::mtl::ProvokingVertexComputePipelineCache::recreatePipelineStates):
(rx::mtl::ProvokingVertexComputePipelineCache::createComputePipelineState):
(rx::mtl::ProvokingVertexComputePipelineCache::~ProvokingVertexComputePipelineCache):
* src/libANGLE/renderer/metal/mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::CreateMslShader):
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
* src/libANGLE/renderer/metal/shaders/rewrite_indices.metal: Added.
* src/libANGLE/renderer/metal/shaders/rewrite_indices_shared.h: Added.
2021-05-18 Alex Christensen <achristensen@webkit.org>
Stop compiling ANGLE metal files twice
https://bugs.webkit.org/show_bug.cgi?id=225919
<rdar://78013511>
Reviewed by Dean Jackson.
ANGLE currently generates an unused default.metallib that conflicts with other default.metallibs being built.
Since it is unused, remove it.
What we currently do is put all the source bytes into gDefaultMetallibSrc and compile it at runtime.
This could be optimized to do it at compile time and use newLibraryWithData instead of newLibraryWithSource,
but that should be done separately.
* ANGLE.xcodeproj/project.pbxproj:
2021-05-12 Kyle Piddington <kpiddington@apple.com>
[Angle METAL] Remove thread qualifiers and pass-by-reference qualifiers for cast functions
https://bugs.webkit.org/show_bug.cgi?id=225702
<rdar://76799461>
Cast functions fail to compile when casting from user uniforms. Update cast functions to remove pass-by-reference
qualifiers.
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
2021-05-08 Basuke Suzuki <basuke.suzuki@sony.com>
[WinCairo] Remove linker warning on ANGLE
https://bugs.webkit.org/show_bug.cgi?id=225501
Reviewed by Darin Adler.
libANGLE is statically linked to libGLESv2.dll so that __declspec(dllimport) is not required here.
* include/platform/PlatformMethods.h:
2021-05-06 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] Only clear dirty state bits after all state has been successfully set
https://bugs.webkit.org/show_bug.cgi?id=225468
<rdar://77066752>
When running in release, if any ANGLE calls fail, we eventually return to this part of the code.
We can be left with an incomplete state, where we have an incomplete program or attachment,
but a 'clean' state. This can lead to errors such as setting nil render pipeline states, leading to
crashes.
To mitigate this, hold off on setting state bits until we've completly set up a program.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::setupDraw):
* src/libANGLE/renderer/metal/ProgramMtl.mm:
2021-05-03 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE]: Fix conversions tests and remove failing test expectations
https://bugs.webkit.org/show_bug.cgi?id=225261
<rdar://77349615>
bool conversion workaround was being applied to all shaders. Correct shader translation to generate
better conversion code on platforms that don't need a workaround.
Conversions for basic types like vec2, ivec2, uvec2 were only using the first components when workaround
was active. Correct swizzle logic to get all components when doing a conversion.
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
* src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp:
(sh::CoerceSimple):
* src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:
2021-04-30 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE]: fix webgl/2.0.0/deqp/functional/gles3/negativebufferapi
https://bugs.webkit.org/show_bug.cgi?id=225222
<rdar://77349908>
Arbitrary alignments are not allowed in Metal. Update UBO alignment to
a platform-dependant offset to match specifications.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::ensureCapsInitialized const):
2021-04-29 Kyle Piddington <kpiddington@apple.com>
Metal-ANGLE: Shared memory texture tests failing in iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=222685
<rdar://75001722>
Using replaceRegion to perform texture uploads on simulator causes issues on some workflows.
As a workaround, use a GPU-driven upload instead of a CPU driven upload.
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/TextureMtl.mm:
2021-04-29 Kyle Piddington <kpiddington@apple.com>
[ANGLE-Metal] Fix 17 textureshadow tests
https://bugs.webkit.org/show_bug.cgi?id=224965
<rdar://77053085>
Depth24Stencil8 copies were being incorrectly managed when dealing with D24S8 emulation.
Fix conversion functions
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/mtl_format_utils.h:
* src/libANGLE/renderer/metal/mtl_format_utils.mm:
(rx::mtl::priv::OffsetDataPointer):
(rx::mtl::LoadS8D24S8ToD32FX24S8):
(rx::mtl::DEPTH24_STENCIL8_to_D32_FLOAT_X24S8_UINT):
(rx::mtl::GetLoadFunctionsMap):
(rx::mtl::FormatTable::initialize):
(): Deleted.
2021-04-28 Alex Christensen <achristensen@webkit.org>
Stop building libANGLE.a
https://bugs.webkit.org/show_bug.cgi?id=225162
<rdar://problem/57349384>
Reviewed by Alexey Proskuryakov.
Now that everyone's linking against the dylib, we don't need to build the static library any more.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* src/empty.cpp: Removed.
2021-04-28 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE should be compiled with thread-safe statics
https://bugs.webkit.org/show_bug.cgi?id=224854
Reviewed by Kenneth Russell.
Compile ANGLE with normal thread-safe c++ local statics.
No known threading failures. Based on ad-hoc risk vs benefit
evaluation of today and after future merges, it appears
better to err in the side of caution.
* Configurations/Base.xcconfig:
2021-04-26 Alex Christensen <achristensen@webkit.org>
Update Mac-specific CMake files
https://bugs.webkit.org/show_bug.cgi?id=225064
Rubber-stamped by Tim Horton.
* PlatformMac.cmake:
2021-04-25 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] support primitive restart behavior with simple data types
https://bugs.webkit.org/show_bug.cgi?id=225011
Primitive restart behavior for simple data types is not defined in Metal. Add a pre-draw pass to
create a set of restart indices, rather than re-write the index buffer. This pass avoids
storing more copies of the index buffer: instead, we cache the location of restart indices, and
use them to build draw lists.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/BufferMtl.h:
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::IndexConversionBufferMtl::IndexConversionBufferMtl):
(rx::BufferMtl::markConversionBuffersDirty):
(rx::calculateRestartRanges):
(rx::BufferMtl::getRestartIndices):
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawLineLoopElements):
(rx::ContextMtl::drawElementsImpl):
(rx::ContextMtl::drawElementsSimpleTypesPrimitiveRestart): Deleted.
* src/libANGLE/renderer/metal/VertexArrayMtl.h:
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getIndexBuffer):
(rx::VertexArrayMtl::getDrawIndices):
(rx::VertexArrayMtl::convertIndexBuffer):
(rx::VertexArrayMtl::streamIndexBufferFromClient):
2021-04-25 John Cunningham <johncunningham@apple.com>
[Metal ANGLE] Temporarily remove AST validation even for debug builds
https://bugs.webkit.org/show_bug.cgi?id=224991
rdar://76299178
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/ShaderMtl.mm:
(rx::ShaderMtl::compileImplMtl):
2021-04-25 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] Select proper IOSurface backing format for WebGL environment
https://bugs.webkit.org/show_bug.cgi?id=224948
<rdar://76284889>
Depending on the architecture, WebCore expects different
IOSurface texture targets for the main buffer. When running catalyst on
Arm64 devices, Metal-ANGLE needs to select the TEXTURE_2D texture target for our
IOSurface/Pbuffer bind point, rather than TEXTURE_RECTANGLE.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/DisplayMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::needsEAGLOnMac):
(rx::DisplayMtl::EGLDrawingBufferTextureTarget):
(rx::DisplayMtl::generateConfigs):
2021-04-23 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r276190.
broke a test internally.
Reverted changeset:
"Metal-ANGLE: Shared memory texture tests failing in iOS
Simulator"
https://bugs.webkit.org/show_bug.cgi?id=222685
https://commits.webkit.org/r276190
2021-04-22 Lauro Moura <lmoura@igalia.com>
[CMake][ANGLE] Silence -Wreturn-type for gcc and clang
https://bugs.webkit.org/show_bug.cgi?id=224949
Reviewed by Don Olmstead.
Avoid "control reaches end of non-void function" in
sh::TIntermRebuild::traverseChildren(...)
* CMakeLists.txt:
2021-04-22 Philippe Normand <pnormand@igalia.com>
Unreviewed, WPE build fix after r276390
Fix namespacing issues in nullptr_t invocations.
* src/compiler/translator/tree_util/IntermRebuild.cpp:
(sh::TIntermRebuild::BaseResult::BaseResult):
(sh::PreResult::PreResult):
(sh::PostResult::PostResult):
* src/compiler/translator/tree_util/IntermRebuild.h:
2021-04-21 Don Olmstead <don.olmstead@sony.com>
[Python 3] Update gni-to-cmake.py
https://bugs.webkit.org/show_bug.cgi?id=224880
Reviewed by Kenneth Russell.
Update gni-to-cmake.py to run on Python 3. Added ArgumentParser support to be able to run
the script on Windows since the script assumed it would be called through a UNIX style
shell.
Ran the .gni files through the converter to verify output. It appears that the
Compiler.cmake file wasn't generated in the last update to ANGLE so it has many changes.
* Compiler.cmake:
* D3D.cmake:
* gni-to-cmake.py:
2021-04-21 Don Olmstead <don.olmstead@sony.com>
[CMake] Add OpenGLES2 targets
https://bugs.webkit.org/show_bug.cgi?id=224786
Reviewed by Adrian Perez de Castro.
Add an ALIAS target mapping ANGLE's GLESv2 target to OpenGL::GLES if the target is not
already present. This is the case for Windows which uses ANGLE as its sole OpenGL ES
implementation.
* CMakeLists.txt:
2021-04-20 Alex Christensen <achristensen@webkit.org>
MacCatalyst ANGLE is linked with @loader_path/../../../libANGLE-shared.dylib
https://bugs.webkit.org/show_bug.cgi?id=224602
Reviewed by Alexey Proskuryakov.
* Configurations/ANGLE-dynamic.xcconfig:
2021-04-19 Alex Christensen <achristensen@webkit.org>
Build ANGLE dylib into WK_OVERRIDE_FRAMEWORKS_DIR in builds that use it
https://bugs.webkit.org/show_bug.cgi?id=224785
<rdar://76641662>
Reviewed by Alexey Proskuryakov.
* Configurations/ANGLE-dynamic.xcconfig:
2021-04-16 Kyle Piddington <kpiddington@apple.com>
Metal-ANGLE: Shared memory texture tests failing in iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=222685
Reviewed by Dean Jackson.
Simulator-only path drives filling textures via Blit encoders instead of mapped memory.
This workaround fixes dropped texture writes when using replaceRegion
* src/libANGLE/renderer/metal/TextureMtl.mm:
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::InitializeTextureContents):
2021-04-15 Alex Christensen <achristensen@webkit.org>
Use kIOMainPortDefault where available
https://bugs.webkit.org/show_bug.cgi?id=224632
Reviewed by Alexey Proskuryakov.
In ANGLE we don't include WTF headers, so we can't use the HAVE macro like we do elsewhere in WebKit,
but this is pretty close.
* src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetVendorIDFromMetalDeviceRegistryID):
2021-04-15 Alex Christensen <achristensen@webkit.org>
Add deprecation macros
https://bugs.webkit.org/show_bug.cgi?id=224624
* src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetVendorIDFromMetalDeviceRegistryID):
2021-04-12 Dean Jackson <dino@apple.com>
REGRESSION (Metal ANGLE): [Catalina] 6 consistent WebGL failures / timeouts
https://bugs.webkit.org/show_bug.cgi?id=224016
<rdar://problem/76070325>
Patch by John Cunningham <johncunnigham@apple.com>
Reviewed by Dean Jackson.
Implement a workaround for Intel GPUs where we explicitly type cast floating
point values to booleans. This is only needed for Catalina systems.
* include/GLSLANG/ShaderLang.h:
* include/platform/FeaturesMtl.h:
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
(sh::Rewriter::Rewriter):
(sh::AddExplicitTypeCasts):
* src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.h:
* src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp:
(sh::SubVector):
(sh::CoerceSimple):
* src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeFeatures):
* src/libANGLE/renderer/metal/ShaderMtl.mm:
(rx::ShaderMtl::compile):
2021-04-12 Kyle Piddington <kpiddington@apple.com>
Crash in webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variables.html ANGLE+METAL
https://bugs.webkit.org/show_bug.cgi?id=223923
Anonymous structs require a name in MSL, add a default name ANGLE__unnamed$id to any structs.
Also add a unit test to ensure this works.
Reviewed by Kenneth Russell.
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
(sh::Separator::Separator):
(sh::SeparateCompoundStructDeclarations):
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.h:
* src/tests/BUILD.gn:
* src/tests/angle_unittests.gni:
* src/tests/compiler_tests/MSLOutput_Test.cpp:
2021-04-08 Kyle Piddington <kpiddington@apple.com>
[Metal-ANGLE] Support GPU power preferences, select low-power GPU by default.
Respond to GPU power preference flags, expose extension, and avoid creating a high-powered GPU by default.
https://bugs.webkit.org/show_bug.cgi?id=224337
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/DisplayMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeImpl):
(rx::DisplayMtl::getMetalDeviceMatchingAttribute):
(rx::DisplayMtl::generateExtensions const):
2021-04-07 Kyle Piddington <kpiddington@apple.com>
Crash in conformance2/textures/misc/compressed-tex-image.html with ANGLE+METAL
Handle uploading a compressed texture with a non-aligned offset. Path requires that we still fill the entire level of a
compressed texture.
https://bugs.webkit.org/show_bug.cgi?id=223925
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::convertAndSetPerSliceSubImage):
2021-04-07 John Cunningham <johncunnigham@apple.com>
[METAL ANGLE] Interface block declerations need to have children marked as struct accesses. Add implicit backing textures for multisample render targets
https://bugs.webkit.org/show_bug.cgi?id=224265
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
* src/libANGLE/renderer/metal/FrameBufferMtl.h:
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::setLoadStoreActionOnRenderPassFirstStart):
(rx::FramebufferMtl::onStartedDrawingToFrameBuffer):
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageImpl):
2021-04-05 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=224084
Reviewed by Tim Horton.
* PlatformMac.cmake: Added.
2021-04-05 John Cunningham <johncunnigham@apple.com>
[METAL ANGLE] Stencil only formats being used as the depth attachment.
https://bugs.webkit.org/show_bug.cgi?id=224183
Reviewed by Jon Lee.
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
* src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp:
(sh::Rewriter::argAlreadyProcessed):
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::setupDraw):
* src/libANGLE/renderer/metal/mtl_command_buffer.h:
* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
(rx::mtl::RenderCommandEncoder::reset):
(rx::mtl::RenderCommandEncoder::setRenderPipelineState):
(rx::mtl::RenderCommandEncoder::draw):
(rx::mtl::RenderCommandEncoder::drawInstanced):
(rx::mtl::RenderCommandEncoder::drawIndexed):
(rx::mtl::RenderCommandEncoder::drawIndexedInstanced):
(rx::mtl::RenderCommandEncoder::drawIndexedInstancedBaseVertex):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::InitializeDepthStencilTextureContentsGPU):
2021-03-30 Kyle Piddington <kpiddington@apple.com>
Enable sample_compare operations in Metal ANGLE
Sample_compare operations, and shadow sampling was accidently switched off when initially
setting up ANGLE_Metal. Enabling shadow sampling fixes most of the
webgl/2.0.0/deqp/functional/gles3/textureshadow/ test suite, which is currently failing.
https://bugs.webkit.org/show_bug.cgi?id=223833
Reviewed by Jon Lee.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeFeatures):
2021-03-26 Jessie Berlin <jberlin@webkit.org>
Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags
https://bugs.webkit.org/show_bug.cgi?id=223779
Reviewed by Tim Horton.
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2021-03-25 Kyle Piddington <kpiddington@apple.com>
ANGLE Metal crash ASAN webgl/1.0.3/conformance/misc/object-deletion-behaviour.html
https://bugs.webkit.org/show_bug.cgi?id=223739
Reviewed by Dean Jackson.
Previously, ANGLE would try to read color attachments off of the
cached render targets. However, since validation happens before
state sync, the cached render targets may be out of date.
For non-surface backed render targets, we instead get a fresh copy
of the render target when determening the native pixel format.
* src/libANGLE/renderer/metal/FrameBufferMtl.h:
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::getImplementationColorReadFormat const):
(rx::FramebufferMtl::getColorReadRenderTargetNoCache const):
2021-03-25 Kyle Piddington <kpiddington@apple.com>
[Metal ANGLE] Add CPU mipmap generation for workaround on Intel devices.
https://bugs.webkit.org/show_bug.cgi?id=223778
Reviewed by Dean Jackson.
Mipmap generation on Intel does not reliably work for textures with
width less than four. To reliably pass webGL conformance, we need
to switch to CPU mipmap generation when generating mipmaps in this
specific circumstance.
This patch fixes the following four tests on Intel
webgl/1.0.3/conformance/limits/gl-max-texture-dimensions.html
webgl/1.0.3/conformance/textures/texture-size.html
webgl/2.0.0/conformance/limits/gl-max-texture-dimensions.html
webgl/2.0.0/conformance/textures/misc/texture-size.html
* include/platform/Feature.h:
(angle::FeatureCategoryToString):
* include/platform/FeaturesMtl.h:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeFeatures):
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::generateMipmap):
2021-03-25 Jessie Berlin <jberlin@webkit.org>
Remove 10.13 DEPLOYMENT_TARGETs and SYSTEM_VERSION_PREFIXs
https://bugs.webkit.org/show_bug.cgi?id=223765
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
2021-03-24 Kyle Piddington <kpiddington@apple.com>
Metal ANGLE non-blockers: Fix webgl/1.0.3/conformance/uniforms/uniform-default-values.html, Stencil debug layer assertions
https://bugs.webkit.org/show_bug.cgi?id=223667
https://bugs.webkit.org/show_bug.cgi?id=223667
On Release, uniformDefaultValues was resetting program memory
either early, or oddly. Since program reflection should be constant
per Shader anyway, drop the 'reset' after assigning reflection data.
In addition, clamp stencil rectangle to always be within framebuffer bounds. Code taken from upstream ANGLE.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::linkImplDirect):
* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
(rx::mtl::RenderCommandEncoder::initAttachmentWriteDependencyAndScissorRect):
(rx::mtl::RenderCommandEncoder::restart):
(rx::mtl::RenderCommandEncoder::setScissorRect):
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::TranslatedShaderInfo::reset):
(rx::mtl::GlslangGetMSL):
2021-03-24 Kyle Piddington <kpiddington@apple.com>
Metal ANGLE crashes LayoutTests/inspector/canvas/updateShader-webgl.html
Rather than rely on an instance variable in a C++ class, just query the dictionary constant when needed.
https://bugs.webkit.org/show_bug.cgi?id=223695
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ProgramMtl.h:
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::ProgramMtl):
(rx::ProgramMtl::linkImplSpirv):
(rx::ProgramMtl::linkImplDirect):
(rx::ProgramMtl::linkTranslatedShaders):
2021-03-23 Kyle Piddington <kpiddington@apple.com>
ANGLE Metal fixes for program generation bugs
https://bugs.webkit.org/show_bug.cgi?id=223627
Reviewed by Dean Jackson.
webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html is fixed by dropping 'thread' qualifiers on pregenerated functions
webgl/2.0.0/conformance/glsl/bugs/compound-assignment-type-combination.html is fixed by introducing new operators for matrix +/- scalars
webgl/2.0.0/conformance/glsl/bugs/complex-glsl-does-not-crash.html is fixed by adding a pre-pass to rename any reserved keywords, such as 'vertex'
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(BuildExternalAttributeIndexMap):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
* src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp:
(sh::Rewriter::maybeCreateNewName):
(sh::Rewriter::visitSymbolPost):
(sh::Rewriter::predefineName):
(sh::RewriteKeywords):
2021-03-23 Kimmo Kinnunen <kkinnunen@apple.com>
ANGLE is missing the explicit context headers
https://bugs.webkit.org/show_bug.cgi?id=223470
Reviewed by Alexey Proskuryakov.
Add the autogenerated .inc files for explicit context
API into the ANGLE public headers.
* ANGLE.xcodeproj/project.pbxproj:
* adjust-angle-include-paths.py:
(replace):
2021-03-19 Kyle Piddington <kpiddington@apple.com>
Metal-Angle on Simulator does not support D24S8 correctly
https://bugs.webkit.org/show_bug.cgi?id=223494
Reviewed by Dean Jackson.
Re-ran autogen script for format table to add the missing format
Corrected texture swizzle support. Swizzle is unsupported on simulator.
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
2021-03-19 Alex Christensen <achristensen@webkit.org>
libANGLE-shared.dylib needs INSTALL_PATH when building Catalyst roots
https://bugs.webkit.org/show_bug.cgi?id=223499
Reviewed by Dean Jackson.
INSTALL_PATH was empty, so no dylib was being included in the root.
This is needed to fix the Catalyst build after bug 218539
* Configurations/ANGLE-dynamic.xcconfig:
2021-03-06 Dean Jackson <dino@apple.com>
Metal-ANGLE can ASSERT because MTL signal event code is compiled out
https://bugs.webkit.org/show_bug.cgi?id=222859
<rdar://problem/75132180>
Reviewed by Ken Russell.
With the Metal backend enabled, the test
webgl/2.0.0/conformance2/state/gl-object-get-calls.html will
occasionally crash in mtl_command_buffer when it hits unreachable
code because ANGLE_MTL_EVENT_AVAILABLE hasn't been defined. This is
available on macOS 10.14 and above, so should be enabled.
At the same time, it doesn't make sense to call the method that has
unreachable code, so guard against that in mtl_command_buffer.
* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
(rx::mtl::CommandBuffer::setPendingEvents):
* src/libANGLE/renderer/metal/mtl_common.h: Define ANGLE_MTL_EVENT_AVAILABLE.
2021-03-18 Kyle Piddington <kpiddington@apple.com>
'MTLLanguageVersion1_0' is unavailable on Catalyst
https://bugs.webkit.org/show_bug.cgi?id=223392
Reviewed by Jon Lee.
Disable switch case in catalyst builds
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GetOperatorString):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::readPixels):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::GetUserSetOrHighestMSLVersion):
2021-03-17 Kyle Piddington <kpiddington@apple.com>
ANGLE Metal fixups for program generation, readPixels
https://bugs.webkit.org/show_bug.cgi?id=223260
Reviewed by Dean Jackson.
This diff fixes the following tests:
webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html Is fixed by dropping 'thread' qualifiers on our intermediate texture sampling helper functions. Previously, any uniforms used in sampling textures would have had issues with their namespace.
webgl/2.0.0/conformance2/reading/read-pixels-pack-parameters.html is fixed by correcting an issue with reading from outside the framebuffer. ANGLE Metal was previously reading to the start of the output array, rather than a proper offset.
webgl/2.0.0/conformance2/glsl3/array-equality.html is fixed by adding additional equality functions for handling arrays of structs.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GetOperatorString):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::readPixels):
2021-03-16 Kyle Piddington <kpiddington@apple.com>
Regressions from ANGLE Metal enablement
https://bugs.webkit.org/show_bug.cgi?id=222239
This patch addressed several large bits of funcitonality that was missing from the original patch.
1) Introduce support for UBO's. This patch adds a DEQP-conformant implementation for UBO structs. This includes changes to the translator,
and the frontend.
2) Introduce support for Transform feedback to the translator. We use a series of substitution macros at program link time to produce a transform-feedback varient shader, and use a vertex pre-pass to emulate transform feedback.
3) Various fixes to handle a few webgl2 asserts, such as large uniform buffers. This change (in ProgramMtl.mm) will reserve a uniform buffer of twice the normal size (4kb) if the program uniforms exceed that limit. (Fixes webgl/2.0.0/conformance/glsl/bugs/complex-glsl-does-not-crash.html webgl/2.0.0/conformance/glsl/misc/shader-with-too-many-uniforms.html webgl/2.0.0/conformance/uniforms/gl-uniform-arrays.html)
Reviewed by Jon Lee.
* ANGLE.xcodeproj/project.pbxproj:
* include/platform/FeaturesMtl.h:
* src/compiler.gni:
* src/compiler/translator/BaseTypes.h:
(sh::getQualifierString):
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::insertSampleMaskWritingLogic):
(sh::metalShaderTypeFromGLSL):
(sh::TranslatorMetalDirect::translateImpl):
(sh::TranslatorMetalDirect::translate):
* src/compiler/translator/TranslatorMetalDirect.h:
(sh::TranslatorMetalReflection::TranslatorMetalReflection):
(sh::TranslatorMetalReflection::addUserUniformBufferBinding):
(sh::TranslatorMetalReflection::addUniformBufferBinding):
(sh::TranslatorMetalReflection::getUserUniformBufferBindings const):
(sh::TranslatorMetalReflection::getUserUniformBufferBinding const):
(sh::TranslatorMetalReflection::getUniformBufferBinding const):
(sh::TranslatorMetalReflection::reset):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::~GenMetalTraverser):
(GenMetalTraverser::emitOpeningPointerParen):
(GenMetalTraverser::emitClosingPointerParen):
(GetOperatorString):
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::emitType):
(GenMetalTraverser::emitFieldDeclaration):
(GenMetalTraverser::emitAttributeDeclaration):
(GenMetalTraverser::emitUniformBufferDeclaration):
(GenMetalTraverser::emitStructDeclaration):
(GenMetalTraverser::emitOrdinaryVariableDeclaration):
(GenMetalTraverser::visitSymbol):
(GenMetalTraverser::visitBinary):
(GenMetalTraverser::emitFunctionSignature):
(GenMetalTraverser::emitFunctionReturn):
(GenMetalTraverser::emitFunctionParameter):
(GenMetalTraverser::visitFunctionDefinition):
(GenMetalTraverser::visitAggregate):
(RequiresSemicolonTerminator):
(GenMetalTraverser::visitBlock):
(GenMetalTraverser::visitBranch):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp:
* src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp: Added.
(sh::Rewriter::Rewriter):
(sh::IntroduceVertexAndInstanceIndex):
* src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h: Added.
* src/compiler/translator/TranslatorMetalDirect/Layout.cpp:
* src/compiler/translator/TranslatorMetalDirect/Layout.h:
* src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp:
(sh::TryCreateModifiedStruct):
* src/compiler/translator/TranslatorMetalDirect/ModifyStruct.h:
* src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
(Pipeline::uses const):
(Pipeline::getStructTypeName const):
(Pipeline::getStructInstanceName const):
(AllowPacking):
(AllowPadding):
(SaturateVectorOf):
(Pipeline::externalStructModifyConfig const):
(Pipeline::alwaysRequiresLocalVariableDeclarationInMain const):
(Pipeline::isPipelineOut const):
(Pipeline::externalAddressSpace const):
(PipelineStructs::matches const):
* src/compiler/translator/TranslatorMetalDirect/Pipeline.h:
(sh::PipelineScoped::matches const):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
(sh::ProgramPrelude::ProgramPrelude):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.h:
(sh::ProgramPreludeConfig::ProgramPreludeConfig):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
(sh::Reducer::Reducer):
* src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp:
(sh::GeneratePipelineStruct::exec):
(sh::GeneratePipelineStruct::createInternalPipelineStruct):
(sh::PipelineFunctionEnv::getUpdatedFunction):
(sh::RewritePipelines):
* src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
(SymbolEnv::removeSpace):
(SymbolEnv::removePointer):
(SymbolEnv::markAsUBO):
(SymbolEnv::isUBO const):
* src/compiler/translator/TranslatorMetalDirect/SymbolEnv.h:
* src/compiler/translator/tree_ops/NameNamelessUniformBuffers.cpp: Added.
(sh::NameNamelessUniformBuffers):
* src/compiler/translator/tree_ops/NameNamelessUniformBuffers.h: Added.
* src/compiler/translator/util.cpp:
(sh::IsBuiltinOutputVariable):
* src/libANGLE/renderer/gl/cgl/ContextCGL.cpp:
* src/libANGLE/renderer/metal/BufferMtl.h:
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::IndexConversionBufferMtl::IndexConversionBufferMtl):
(rx::IndexConversionBufferMtl::getRangeForConvertedBuffer):
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::handleDirtyDriverUniforms):
(rx::ContextMtl::handleDirtyGraphicsTransformFeedbackBuffersEmulation):
(rx::ContextMtl::handleDirtyDepthBias):
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::getMaxSupportedESVersion const):
(rx::DisplayMtl::generateConfigs):
(rx::DisplayMtl::ensureCapsInitialized const):
(rx::DisplayMtl::initializeFeatures):
(rx::DisplayMtl::initializeShaderLibrary):
* src/libANGLE/renderer/metal/FrameBufferMtl.h:
* src/libANGLE/renderer/metal/ProgramMtl.h:
(rx::ProgramMtl::createMslShaderLib):
(rx::ProgramMtl::getXfbBindings const):
(rx::ProgramMtl::getTranslatedShaderSource const):
(rx::ProgramMtl::getXfbMslSource const): Deleted.
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::ProgramMtl):
(rx::ProgramMtl::destroy):
(rx::ProgramMtl::reset):
(rx::ProgramMtl::saveTranslatedShaders):
(rx::ProgramMtl::loadTranslatedShaders):
(rx::ProgramMtl::linkImplSpirv):
(rx::ProgramMtl::linkImplDirect):
(rx::ProgramMtl::linkImpl):
(rx::ProgramMtl::linkTranslatedShaders):
(rx::ProgramMtl::getBufferPool):
(rx::ProgramMtl::resizeDefaultUniformBlocksMemory):
(rx::ProgramMtl::getSpecializedShader):
(rx::ProgramMtl::createMslShaderLib):
(rx::ProgramMtl::commitUniforms):
* src/libANGLE/renderer/metal/QueryMtl.h:
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageImpl):
* src/libANGLE/renderer/metal/RenderTargetMtl.mm:
(rx::RenderTargetMtl::setWithImplicitMSTexture):
(rx::RenderTargetMtl::reset):
* src/libANGLE/renderer/metal/ShaderMtl.mm:
(rx::ShaderMtl::compile):
* src/libANGLE/renderer/metal/SurfaceMtl.mm:
(rx::WindowSurfaceMtl::initialize):
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::ensureSamplerStateCreated):
(rx::TextureMtl::setPerSliceSubImage):
(rx::TextureMtl::initializeContents):
* src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getIndexBuffer):
* src/libANGLE/renderer/metal/mtl_common.h:
* src/libANGLE/renderer/metal/mtl_constants.h:
* src/libANGLE/renderer/metal/mtl_format_map.json:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
* src/libANGLE/renderer/metal/mtl_format_utils.mm:
(rx::mtl::FormatTable::initialize):
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::updateShaderAttributes):
(rx::mtl::SubstituteTransformFeedbackMarkers):
(rx::mtl::GenerateTransformFeedbackVaryingOutput):
(rx::mtl::GenerateTransformFeedbackEmulationOutputs):
(rx::mtl::getReflectionFromCompiler):
(rx::mtl::GlslangGetMSL):
* src/libANGLE/renderer/metal/mtl_render_utils.mm:
(rx::mtl::TransformFeedbackUtils::createMslXfbLibrary):
(rx::mtl::TransformFeedbackUtils::getTransformFeedbackRenderPipeline):
* src/libANGLE/renderer/metal/mtl_resources.h:
* src/libANGLE/renderer/metal/mtl_resources.mm:
(rx::mtl::Texture::Texture):
* src/libANGLE/renderer/metal/mtl_state_cache.mm:
(rx::mtl::SamplerDesc::SamplerDesc):
(rx::mtl::SamplerDesc::reset):
(rx::mtl::RenderPipelineCache::RenderPipelineCache):
(rx::mtl::RenderPipelineCache::createRenderPipelineState):
* src/libANGLE/renderer/metal/mtl_utils.h:
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::GetUserSetOrHighestMSLVersion):
(rx::mtl::CreateShaderLibrary):
(rx::mtl::GetHighestSupportedMSLVersion): Deleted.
* src/libANGLE/renderer/metal/shaders/blit.metal:
* src/libANGLE/renderer/metal/shaders/format_autogen.h:
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
2021-03-03 Kyle Piddington <kpiddington@apple.com>
Support Depth24_Stencil8 simulation in the MTLSimulator
https://bugs.webkit.org/show_bug.cgi?id=222624
Reviewed by Dean Jackson.
Fixes the following tests:
fast/canvas/webgl/context-creation-attributes.html
fast/canvas/webgl/webgl-depth-texture.html
webgl/1.0.3/conformance/misc/webgl-specific.html
webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment.html
* src/libANGLE/renderer/metal/mtl_format_map.json:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
2021-02-26 Kyle Piddington <kpiddington@apple.com>
Support fast/canvas/webgl/copyBufferSubData.html, fix bugs in fast/canvas/webgl/getBufferSubData-webgl1.html in Metal ANGLE on Simulator
https://bugs.webkit.org/show_bug.cgi?id=222508
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/BufferMtl.mm:
(rx::BufferMtl::unmap):
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::getMaxSupportedESVersion const):
2021-02-26 Kyle Piddington <kpiddington@apple.com>
Fix iOS simulator crashes due to unsupported simulator pixel formats: r8Unorm_srgb, a1bgr5Unorm, b5g6r5Unorm, abgr4Unorm, bgr5A1Unorm, and program generation asserts.
iOS Simulator doesn't support the following packed 16 bit formats natively. While some of these can be emulated, we should fix up the crashing cases first.
Also fix up program generation issues for void fragment shaders
Disable support for PVRTC temporarily, as Non-square / NPOT PVRTC textures are not supported nativley on metal.
https://bugs.webkit.org/show_bug.cgi?id=222458
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitStructDeclaration):
(GenMetalTraverser::emitFunctionReturn):
(GenMetalTraverser::emitFunctionParameter):
* src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
(PipelineStructs::matches const):
* src/compiler/translator/TranslatorMetalDirect/Pipeline.h:
(sh::PipelineScoped::matches const):
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::setPerSliceSubImage):
* src/libANGLE/renderer/metal/gen_mtl_format_table.py:
* src/libANGLE/renderer/metal/mtl_format_map.json:
* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
(rx::mtl::VertexFormat::init):
(rx::mtl::FormatTable::initNativeFormatCapsAutogen):
* src/libANGLE/renderer/metal/mtl_format_utils.mm:
(rx::mtl::FormatTable::initialize):
* src/libANGLE/renderer/metal/mtl_resources.mm:
(rx::mtl::Texture::Make2DTexture):
(rx::mtl::Texture::MakeTexture):
2021-02-26 Kimmo Kinnunen <kkinnunen@apple.com>
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
https://bugs.webkit.org/show_bug.cgi?id=218637
<rdar://problem/71102126>
Reviewed by Kenneth Russell.
Remove incorrect validation that IOSurface pixel format matches
the pixel format of the texture image being specified.
The "Element" in IOSurface is a block of pixels, while the validation assumed
it means one pixel. The validation failed for a compressed format.
Currently we map non-public YUV formats, to which there is no elequent way
of implementing the validation.
Most likely this started to reproduce if IOSurfaceGetBytesPerElementOfPlane
was changed to produce correct results for the above YUV format.
Later commits could add the validation back for formats that we know the
pixel format type.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
(rx::IOSurfaceSurfaceEAGL::validateAttributes):
2021-02-25 Kyle Piddington <kpiddington@apple.com>
Fix crashes in fast/canvas/webgl/texImage video tests
Refactor IOSurfaceSurfaceMtl to match open source implementation.
Additional cleanup
https://bugs.webkit.org/show_bug.cgi?id=222331
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::onBackbufferResized):
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::createPbufferSurface):
(rx::DisplayMtl::createPbufferFromClientBuffer):
* src/libANGLE/renderer/metal/FrameBufferMtl.h:
(rx::FramebufferMtl::getAttachedBackbuffer const):
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::FramebufferMtl):
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
(rx::IOSurfaceSurfaceMtl::~IOSurfaceSurfaceMtl):
(rx::IOSurfaceSurfaceMtl::bindTexImage):
(rx::IOSurfaceSurfaceMtl::releaseTexImage):
(rx::IOSurfaceSurfaceMtl::getAttachmentRenderTarget):
(rx::IOSurfaceSurfaceMtl::ensureColorTextureCreated):
(rx::IOSurfaceSurfaceMtl::ValidateAttributes):
* src/libANGLE/renderer/metal/SurfaceMtl.h:
(rx::SurfaceMtl::getColorTexture):
(rx::SurfaceMtl::getSamples const):
(rx::SurfaceMtl::hasRobustResourceInit const):
(rx::WindowSurfaceMtl::preserveBuffer const):
* src/libANGLE/renderer/metal/SurfaceMtl.mm:
(rx::SurfaceMtl::SurfaceMtl):
* src/libANGLE/renderer/metal/TextureMtl.h:
* src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::ensureTextureCreated):
(rx::TextureMtl::ensureSamplerStateCreated):
(rx::TextureMtl::bindTexImage):
(rx::TextureMtl::releaseTexImage):
(rx::TextureMtl::getAttachmentRenderTarget):
* src/libANGLE/renderer/metal/mtl_common.h:
2021-02-19 Kyle Piddington <kpiddington@apple.com>
Fix a number of functional regressions caused by enabling the Metal ANGLE backend by default.
https://bugs.webkit.org/show_bug.cgi?id=220895
<rdar://problem/73539537>
Reviewed by Kenneth Russell.
Take two of this commit - this time with the new files FixTypeConstructors and NameEmbeddedUniformStructsMetal.
Fixed webgl/1.0.3/conformance/context/context-hidden-alpha.html
MTL Translator direct fixes for webgl/1.0.3/conformance/glsl/constructors/glsl-construct-*vec2 tests, Plus fix for GL_VertexIndex
Fix EmitMetal crash for missing function textureRect.
Additional fixes for 73675990, shaders-with-invariance.html, shaders-with-uniform-structs.html, struct-specifiers-in-uniforms.html, framebuffer-object-attachment.html
Fixed clamping of array elements.
* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitBinary):
(GenMetalTraverser::BuildFuncToName):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp: Added.
(sh::FixTypeTraverser::FixTypeTraverser):
(sh::FixTypeConstructors):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h: Added.
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp: Added.
(sh::NameEmbeddedStructUniformsMetal):
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h: Added.
* src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
(SaturateVectorOf):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
(sh::ProgramPrelude::ProgramPrelude):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
(sh::Reducer::Reducer):
(sh::ReduceInterfaceBlocks):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h:
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
* src/libANGLE/renderer/load_functions_table_autogen.cpp:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawElementsImpl):
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
(rx::IOSurfaceSurfaceMtl::createBackingTexture):
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageImpl):
* src/libANGLE/renderer/metal/VertexArrayMtl.h:
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getIndexBuffer):
(rx::VertexArrayMtl::convertIndexBuffer):
(rx::VertexArrayMtl::streamIndexBufferFromClient):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::InitializeDepthStencilTextureContentsGPU):
* src/libANGLE/renderer/metal/shaders/blit.metal:
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
2021-02-19 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r273188.
Broke the build: Is missing a cpp file
Reverted changeset:
"Fix a number of functional regressions caused by enabling the
Metal ANGLE backend by default."
https://bugs.webkit.org/show_bug.cgi?id=220895
https://commits.webkit.org/r273188
2021-02-19 Kyle Piddington <kpiddington@apple.com>
Fix a number of functional regressions caused by enabling the Metal ANGLE backend by default.
https://bugs.webkit.org/show_bug.cgi?id=220895
<rdar://problem/73539537>
Reviewed by Kenneth Russell.
Fixed webgl/1.0.3/conformance/context/context-hidden-alpha.html
MTL Translator direct fixes for webgl/1.0.3/conformance/glsl/constructors/glsl-construct-*vec2 tests, Plus fix for GL_VertexIndex
Fix EmitMetal crash for missing function textureRect.
Additional fixes for 73675990, shaders-with-invariance.html, shaders-with-uniform-structs.html, struct-specifiers-in-uniforms.html, framebuffer-object-attachment.html
Fixed clamping of array elements.
* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitBinary):
(GenMetalTraverser::BuildFuncToName):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp: Added.
(sh::FixTypeTraverser::FixTypeTraverser):
(sh::FixTypeConstructors):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h: Added.
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp: Added.
(sh::NameEmbeddedStructUniformsMetal):
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h: Added.
* src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
(SaturateVectorOf):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
(sh::ProgramPrelude::ProgramPrelude):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
(sh::Reducer::Reducer):
(sh::ReduceInterfaceBlocks):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h:
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
* src/libANGLE/renderer/load_functions_table_autogen.cpp:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawElementsImpl):
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
(rx::IOSurfaceSurfaceMtl::createBackingTexture):
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageImpl):
* src/libANGLE/renderer/metal/VertexArrayMtl.h:
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getIndexBuffer):
(rx::VertexArrayMtl::convertIndexBuffer):
(rx::VertexArrayMtl::streamIndexBufferFromClient):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::InitializeDepthStencilTextureContentsGPU):
* src/libANGLE/renderer/metal/shaders/blit.metal:
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
2021-02-19 Kyle Piddington <kpiddington@apple.com>
Crash in readPixels with ANGLE Metal backend
https://bugs.webkit.org/show_bug.cgi?id=220877
RenderbufferMtl::initializeContents is sometimes bound with a
default level index, which doesn't specify type, layer count, or
other information. When this path is called with an invalid index,
assume a 2d index.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::initializeContents):
2021-02-17 Dean Jackson <dino@apple.com>
Metal-Angle on IOS fails in ValidateCreatePbufferFromClientBuffer
https://bugs.webkit.org/show_bug.cgi?id=222069
Reviewed by Simon Fraser.
Due to the differences between OpenGL and OpenGLES, WebCore
binds its IOSurfaces to a different texture target on macOS and iOS.
This isn't really needed with the Metal-ANGLE backend, but while we're
still supporting the OpenGL backend it is easier to have the Metal backend
use both targets.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::generateConfigs): Look for EGL_TEXTURE_2D on iOS. Note
we don't have to worry about the weird "iOS App on macOS" situation since
that only applies to using OpenGLES on macOS. Yay for Metal!
2021-01-13 Kenneth Russell <kbr@chromium.org>
[WebGL2] fbostatequery, negativebufferapi, negativevertexarrayapi, shaderstatequery conformance failures
https://bugs.webkit.org/show_bug.cgi?id=220372
Reviewed by Darin Adler.
Add a needed early-out in drawArraysInstanced validation when the
primitive count is zero. This patch will be upstreamed to ANGLE
afterward.
* src/libANGLE/validationES.h:
(gl::ValidateDrawArraysAttribs):
(gl::ValidateDrawArraysCommon):
2021-01-08 Kyle Piddington <kpiddington@apple.com>
Failures of attribute location conformance tests with Metal backend
https://bugs.webkit.org/show_bug.cgi?id=220137
Reviewed by Dean Jackson.
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitAttributeDeclaration):
* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::updateShaderAttributes):
(rx::mtl::GlslangGetMSL):
2021-01-04 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][CMake][MSBuild][ANGLE] entry_points_*.h was generated twice both in LibGLESv2EntryPointsHeaders and GLESv2 projects
https://bugs.webkit.org/show_bug.cgi?id=220251
Reviewed by Kenneth Russell.
WinCairo port is supporting both CMake Visual Studio generator and
Ninja generator. However, CMake Visual Studio builds was failing
as the following error.
> ANGLE\Headers\ANGLE/entry_points_egl.h(13,10): fatal error C1083: Cannot open include file: 'export.h': No such file or directory (compiling source file ...\texmap\ANGLEContext.cpp)
entry_points_egl.h was generated twice both in
LibGLESv2EntryPointsHeaders and GLESv2 projects. However, the
post-process script adjust-angle-include-paths.py was invoked only
in LibGLESv2EntryPointsHeaders project.
GLESv2 target needs to have a direct or indirect dependency to
LibGLESv2EntryPointsHeaders target for CMake Visual Studio
generator to eliminate duplicated custom commands.
* CMakeLists.txt: Added add_dependencies(GLESv2 LibGLESv2EntryPointsHeaders) only if WIN32.
2021-01-02 James Darpinian <jdarpinian@chromium.org>
Enable some ANGLE workarounds on iOS
https://bugs.webkit.org/show_bug.cgi?id=220203
Reviewed by Kenneth Russell.
Running ANGLE's unit tests on iOS upstream exposed the need to enable a couple of existing
workaround flags. https://crrev.com/c/2601106 and https://crrev.com/c/2606657 are the
upstream changes corresponding to these fixes.
* src/libANGLE/renderer/gl/FramebufferGL.cpp:
(rx::FramebufferGL::blit):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-12-23 Kyle Piddington <kpiddington@apple.com>
[ANGLE] Metal backend renders tdl.js samples as red
https://bugs.webkit.org/show_bug.cgi?id=220129
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::blitWithDraw):
2020-12-22 Michael Catanzaro <mcatanzaro@gnome.org>
warning: enumerated and non-enumerated type in conditional expression in Compiler.cpp
https://bugs.webkit.org/show_bug.cgi?id=220062
Reviewed by Dean Jackson.
Building ANGLE with -Wextra is too aggressive. -Wextra is great for code that we control,
where the burden of squashing warnings is relatively low. But with ANGLE, we have to either
land fixes upstream, or carry them downstream forever. It doesn't make sense to bother with
this for minor build warning fixes when upstream is clearly not using the same warning flags
and/or same compiler that we do.
Since we add -Wextra in our global flags, we have to manually override it here. We can now
also stop explicitly disabling other warnings that are implied by -Wextra.
Finally, note that changes.diff is not modified because this is, confusingly, a downstream
WebKit build file.
* CMakeLists.txt:
2020-12-22 Kenneth Russell <kbr@chromium.org>
[WebGL2] deqp/functional/gles3/texturespecification RGB4444 and RGB565 failures on Mac AMD
https://bugs.webkit.org/show_bug.cgi?id=220093
Reviewed by Alex Christensen.
Promote the RGBA4444 and RGB565 texture formats to RGB[A]8 in
order to work around OpenGL driver bugs on macOS with AMD GPUs.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::GetNativeInternalFormat):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-12-16 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Enable USE_ANGLE
https://bugs.webkit.org/show_bug.cgi?id=219421
Reviewed by Don Olmstead.
* CMakeLists.txt: Added entry_points_egl_ext.h to libglesv2_entry_points_headers.
2020-12-14 Alex Christensen <achristensen@webkit.org>
Fix build.
* src/gpu_info_util/SystemInfo_apple.mm:
(angle::GetSystemInfo):
##if should be #if
2020-12-14 Dean Jackson <dino@apple.com>
Build fix for Mac Catalyst. Remove code that was accidentally
included in the previous commit.
* src/gpu_info_util/SystemInfo_apple.mm:
(angle::GetSystemInfo):
2020-12-12 Kyle Piddington <kpiddington@apple.com>
Improved Metal backend for ANGLE, with direct GLSL to Metal compiler translation
https://bugs.webkit.org/show_bug.cgi?id=219759
<rdar://problem/72200222>
Reviewed by Dean Jackson.
Reviewer's note: While this patch is landing in WebKit now, it will
be submitted to the main ANGLE project for official review, then re-merged
back into WebKit. The feature provided here is not enabled by default.
Provide a WebGL1 compliant transpiler for GLSL content. With this
change, we can leverage the already present open source work in the
ANGLE project to enable webgl to run on top of Metal. In addition,
this patch contains a number of fixes to the existing ANGLE Metal backend.
Test: Tests were validated with the dEQP test suite with ANGLE, in
addition to running standard layout tests.
2020-12-04 Adam Roben <aroben@apple.com>
More FALLBACK_PLATFORM adoption
https://bugs.webkit.org/show_bug.cgi?id=219545
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig:
WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
NO.
2020-12-04 Rob Buis <rbuis@igalia.com>
WebGL2: Null pointer dereference in std::string implementation in gl::Shader::getTransformFeedbackVaryingMappedName
https://bugs.webkit.org/show_bug.cgi?id=218602
Reviewed by Dean Jackson.
Skip varying if field is not found since in this
case we have no match for the varying parameter name.
* src/libANGLE/Shader.cpp:
(gl::Shader::getTransformFeedbackVaryingMappedName):
2020-12-03 Adam Roben <aroben@apple.com>
Adopt FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=219504
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
2020-12-02 Dean Jackson <dino@apple.com>
Build fix for Mac Catalyst. Include the SystemInfo header.
* src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
2020-12-02 Rob Buis <rbuis@igalia.com>
Fix ANGLE CMakeLists.txt warnings
https://bugs.webkit.org/show_bug.cgi?id=219260
Reviewed by Philippe Normand.
Fix warning when building on GTK:
Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
Syntax Warning in cmake code at column 37
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
* CMakeLists.txt:
2020-12-02 James Darpinian <jdarpinian@chromium.org>
Update ANGLE 2020-11-12
https://bugs.webkit.org/show_bug.cgi?id=218877
Reviewed by Kenneth Russell.
* Excessively large list of upstream changes omitted.
2020-11-30 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r270129, r270194, and r270258.
r270129 broke macCatalyst build
Reverted changesets:
"Update ANGLE 2020-11-12"
https://bugs.webkit.org/show_bug.cgi?id=218877
https://trac.webkit.org/changeset/270129
"Fix ANGLE CMakeLists.txt warnings"
https://bugs.webkit.org/show_bug.cgi?id=219260
https://trac.webkit.org/changeset/270194
"Attempted build fix for Mac Catalyst. Include the SystemInfo
header."
https://trac.webkit.org/changeset/270258
2020-11-30 Dean Jackson <dino@apple.com>
Attempted build fix for Mac Catalyst. Include the SystemInfo header.
* src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
2020-11-27 Fujii Hironori <Hironori.Fujii@sony.com>
[ANGLE] Convert adjust-angle-include-paths.sh to a Python script for Windows without Cygwin
https://bugs.webkit.org/show_bug.cgi?id=219299
Reviewed by Kenneth Russell.
WinCairo port can't use shell scripts because it isn't using
Cygwin.
* ANGLE.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* adjust-angle-include-paths.py: Added.
* adjust-angle-include-paths.sh: Removed.
2020-11-27 Rob Buis <rbuis@igalia.com>
Fix ANGLE CMakeLists.txt warnings
https://bugs.webkit.org/show_bug.cgi?id=219260
Reviewed by Philippe Normand.
Fix warning when building on GTK:
Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
Syntax Warning in cmake code at column 37
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
* CMakeLists.txt:
2020-11-20 James Darpinian <jdarpinian@chromium.org>
Update ANGLE 2020-11-12
https://bugs.webkit.org/show_bug.cgi?id=218877
Reviewed by Kenneth Russell.
* Excessively large list of upstream changes omitted.
2020-11-19 James Darpinian <jdarpinian@chromium.org>
Improve update-angle script and move to Tools/Scripts
https://bugs.webkit.org/show_bug.cgi?id=218831
Reviewed by Kenneth Russell.
update-angle fetches changes from upstream ANGLE into Source/ThirdParty/ANGLE,
updates WebKit's build files and helps merge WebKit's local changes.
- Moved to Tools/Scripts so that it doesn't overwrite itself during the
update process.
- Reversed direction of rebase. Before the script rebased ANGLE on WebKit;
now it rebases WebKit's ANGLE changes on upstream ANGLE master. This
makes a lot more sense and results in fewer changes to rebase. This
requires the use of git-filter-repo to make the rebase not prohibitively
slow.
- Removed bash dependency.
- Fixed all issues identified by shellcheck.
- Fixed changes.diff to show added files, while filtering files added by
WebKit's build process.
- Fixed changes.diff to ignore whitespace changes.
- Added --regenerate-changes-diff option to update changes.diff in between
ANGLE updates.
- Updated [angle_]commit.h generation for upstream changes.
- Removed need to run the script multiple times during the rebase process.
* update-angle.sh: Removed.
2020-11-19 Dean Jackson <dino@apple.com>
Add schemes for ANGLE to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=217546
rdar://69062082
Reviewed by Alex Christensen.
* Configurations/Base.xcconfig: Update paths for built frameworks.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (dynamic).xcscheme: Added.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (static).xcscheme: Added.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE.xcscheme: Added.
2020-11-04 David Kilzer <ddkilzer@apple.com>
WebKit should remove unused debug variant support
<https://webkit.org/b/218315>
<rdar://problem/70785369>
Reviewed by Darin Adler.
Remove support for building the debug variant since it is
currently unused. We now set default values for the
DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
STRIP_INSTALLED_PRODUCT variables.
Also move these values out of the Xcode project into
Base.xcconfig files using the [config=Debug] specifier so that
these overrides are next to the definitions.
Additional changes in behavior are noted below.
* Configurations/ANGLE-dynamic.xcconfig:
- Move DEBUG_DEFINES to Base.xcconfig.
- Set up DEAD_CODE_STRIPPING and STRIP_INSTALLED_PRODUCT the
same as for other WebKit projects. Previously dead code and
symbols were never stipped in Release or Production builds.
* Configurations/ANGLE-static.xcconfig:
- Move DEBUG_DEFINES to Base.xcconfig.
* Configurations/Base.xcconfig:
- Set up DEBUG_DEFINES and GCC_OPTIMIZATION_LEVEL the same as
other WebKit projects. Previously Debug builds were built with
-Os instead of -O0.
2020-11-03 David Kilzer <ddkilzer@apple.com>
Stop building ANGLE source files twice
<https://webkit.org/b/218469>
Reviewed by Dean Jackson.
* ANGLE.xcodeproj/project.pbxproj:
(ANGLE (dynamic)):
- Replace sources with empty.cpp. Xcode requires a single source
file to be compiled to create a dylib, even if the static
library contains all necessary symbols.
- Add dependency on "ANGLE (static)" target.
* Configurations/ANGLE-dynamic.xcconfig:
(ANGLE_OTHER_LDFLAGS):
- Add $(ANGLE_STATIC_LIB_OTHER_LDFLAGS).
(ANGLE_STATIC_LIB_OTHER_LDFLAGS): Add.
- Special linker command-line switch to load all symbols from
libANGLE.a when linking libANGLE-shared.dylib.
* src/empty.cpp: Add.
- See above why this is needed by Xcode.
2020-10-12 Dean Jackson <dino@apple.com>
Add schemes for ANGLE to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=217546
rdar://69062082
Reviewed by Alex Christensen.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (dynamic).xcscheme: Added.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (static).xcscheme: Added.
* ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE.xcscheme: Added.
2020-10-28 Tim Horton <timothy_horton@apple.com>
macCatalyst WebGL on Apple Silicon devices is using a software renderer
https://bugs.webkit.org/show_bug.cgi?id=218303
<rdar://problem/70587571>
Reviewed by Geoffrey Garen.
* src/gpu_info_util/SystemInfo.h:
* src/gpu_info_util/SystemInfo_apple.mm:
(angle::GetSystemInfo):
We can just use the macOS version of GetSystemInfo in macCatalyst.
* src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetSystemInfo_mac):
* src/libANGLE/Display.cpp:
* src/libANGLE/formatutils.cpp:
(gl::BuildInternalFormatInfoMap):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateCaps):
It turns out we must use EAGL in macCatalyst on Apple Silicon in all cases,
not just in-process in iOS apps (the problem is not just about coexistence
of the two GLs, but actually about our ability to load the accelerated
renderer /at all/ in macCatalyst processes).
I left the runtime switching in place, because there is a future in which
we /can/ use CGL in non-iOS-app processes, but that future is not now.
2020-10-13 Keith Rollin <krollin@apple.com>
Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
https://bugs.webkit.org/show_bug.cgi?id=217649
<rdar://problem/70236877>
Reviewed by Darin Adler.
Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
for compiling WebKit against iOS SDKs". Support for the iOS part of
this feature was later removed in several changes, including Bug
139212, Bug 139463 and Bug 144762. However, vestiges have remained for
five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
needed and can be removed.
This changes brings most projects in conformance with other projects
that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
TestWebKitAPI.
Along the way, remove a couple of left-over references to macOS 10.16,
and a couple of places where [sdk=macosx*] was still being used.
With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
consistent across all projects, with two exceptions: WebKitLauncher
(which hardcodes it to 10.12) and libwebrtc's copy of googletest
(which hardcodes it to 10.4). The reasons for these hard-coded values
is not apparent, so leave them be.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
The previous workaround turns out to be ineffective because we can't set the value of
TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new
variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly
adjust MAC_OS_X_VERSION_MAJOR to 110000.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the
minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit
to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.
To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number,
drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.
Note: This change should be reverted after <rdar://70185899> is resolved.
* Configurations/DebugRelease.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur
or later
https://bugs.webkit.org/show_bug.cgi?id=217594
rdar://70188497
Reviewed by Darin Adler.
To ensure successful Mac Catalyst WebKit builds, strip the patch version from
TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET.
* Configurations/Base.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Ignore deployment suffix and identifier when computing major OS version for macOS
Big Sur and newer
https://bugs.webkit.org/show_bug.cgi?id=217584
rdar://70168426
Reviewed by Darin Adler.
Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions.
Only use the deployment target base for macOS Big Sur and newer. Keep the manual
definitions for legacy versions of macOS.
* Configurations/Base.xcconfig:
2020-10-07 Keith Rollin <krollin@apple.com>
Update post-processing rules for headers to not unnecessarily change timestamps
https://bugs.webkit.org/show_bug.cgi?id=217371
<rdar://problem/69992230>
Reviewed by Darin Adler.
Under XCBuild, the scripts employed in custom build rules can be
invoked in innocuous situations. A common example is when the user is
building from the command-line and they change the `make` output from
stdout to a file, or vice-versa. Changing the output changes the
setting of the COLOR_DIAGNOSTICS environment variable, which is enough
to cause XCBuild to think something is different and that the custom
build rule needs to be invoked. For the script's part, nothing
significant has changed, yet it post-processes the header files,
causing their modification dates to change, causing downstream
rebuilds to occur.
Fix this problem by adopting an approach that doesn't modify the
post-processed header files unless their contents actually change.
* adjust-angle-include-paths-rule:
2020-10-02 Kimmo Kinnunen <kkinnunen@apple.com>
[iOS WK1] Crashes when using ANGLE WebGL from another thread
https://bugs.webkit.org/show_bug.cgi?id=216106
<rdar://problem/68602452>
Reviewed by Kenneth Russell.
Add two extensions for EAGL and CGL backends to declare the
underlying platform context being "volatile". It means that
the thread-global current context is being modified behind
ANGLE. If ANGLE context is marked volatile for a particular
API, it will sync the underlying context for every EGL
function that needs the context. Most intuitive use is
for the client to call eglMakeCurrent before calling any
gl function if the client knowns the platform state might
be dirty.
Implement eglReleaseThread for EAGL and CGL backends.
Releasing thread will unset the platform current context.
Fix a bug of omitting EGL_ANGLE_device_eagl from being
advertised.
* extensions/EGL_ANGLE_platform_angle_device_context_volatile_cgl.txt: Added.
* extensions/EGL_ANGLE_platform_angle_device_context_volatile_eagl.txt: Added.
* include/EGL/eglext_angle.h:
* src/libANGLE/Caps.cpp:
(egl::DeviceExtensions::getStrings const):
(egl::ClientExtensions::getStrings const):
* src/libANGLE/Caps.h:
* src/libANGLE/Display.cpp:
(egl::Display::prepareForCall):
(egl::Display::releaseThread):
(egl::GenerateClientExtensions):
* src/libANGLE/Display.h:
* src/libANGLE/renderer/DisplayImpl.cpp:
(rx::DisplayImpl::prepareForCall):
(rx::DisplayImpl::releaseThread):
* src/libANGLE/renderer/DisplayImpl.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
(rx::DisplayCGL::initialize):
(rx::DisplayCGL::terminate):
(rx::DisplayCGL::prepareForCall):
(rx::DisplayCGL::releaseThread):
(rx::DisplayCGL::makeCurrent):
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.h:
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::initialize):
(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::prepareForCall):
(rx::DisplayEAGL::releaseThread):
* src/libANGLE/validationEGL.cpp:
* src/libGLESv2/entry_points_egl.cpp:
* src/libGLESv2/entry_points_egl_ext.cpp:
2020-09-29 James Darpinian <jdarpinian@chromium.org>
Fix EXT_color_buffer_half_float on iOS
https://bugs.webkit.org/show_bug.cgi?id=217107
Reviewed by Kenneth Russell.
* src/libANGLE/Context.cpp:
(gl::Context::generateSupportedExtensions const):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateTextureFormatCaps):
2020-09-24 Dean Jackson <dino@apple.com>
WebGL should use GLES in iOS apps running on Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=216722
<rdar://problem/68976337>
Reviewed by Tim Horton.
Change ANGLE to dynamically load either EAGL (OpenGLES) or CGL (OpenGL) depending
on both compile and runtime configurations.
Intel Mac -> CGL
Intel Mac Catalyst -> CGL
Intel iOS Simulator -> EAGL
iOS Device -> EAGL
Apple Silicon Mac -> CGL
Apple Silicon Mac Catalyst (with Mac app) -> CGL
Apple Silicon Mac Catalyst (with iOS app) -> EAGL
The trickiest bit is Apple Silicon Mac Catalyst, which depends on the
type of the application it is attempting to run. In that case ANGLE must compile
both the CGL and EAGL interfaces and then pick one to use after launch.
* ANGLE.xcodeproj/project.pbxproj: Add new files.
* Configurations/ANGLE-dynamic.xcconfig: Remove all the OpenGL* linking.
* Configurations/ANGLE-static.xcconfig:
* GLESv2.cmake: New files.
* src/common/platform.h: New definitions for CPU type on Apple Systems.
* src/gpu_info_util/SystemInfo.h: Split SystemInfo for Apple into two
files, for iOS and Mac. Added a field for isiOSAppOnMac that will only
be true when running an iOS binary on Apple Silicon.
* src/gpu_info_util/SystemInfo_apple.mm: Added. Decides which SystemInfo
to call.
(angle::GetSystemInfo):
* src/gpu_info_util/SystemInfo_ios.cpp:
(angle::GetSystemInfo_ios):
(angle::GetSystemInfo): Deleted.
* src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetSystemInfo_mac):
(angle::GetSystemInfo): Deleted.
* src/libANGLE/Caps.cpp: Can no longer just check for PLATFORM_IOS. This
might still need a runtime check.
(gl::DetermineDepthTextureANGLESupport):
(gl::DetermineDepthTextureOESSupport):
* src/libANGLE/Display.cpp: This is the main initialization point for
ANGLE, which decides at compile/runtime which variant of Display to
create.
* src/libANGLE/formatutils.cpp: Add the correct formats.
(gl::BuildInternalFormatInfoMap):
* src/libANGLE/renderer/gl/SoftLinking_apple.h: Added. Macros to help soft-link
functions and ObjC classes.
* src/libANGLE/renderer/gl/cgl/CGLFunctions.cpp: Added. Where we soft-link all
the OpenGL/CGL API.
* src/libANGLE/renderer/gl/cgl/CGLFunctions.h: Added.
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Use the soft-linked methods.
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Rename WebSwapLayer to WebSwapLayerCGL
otherwise it clashes with the EAGL version.
(rx::WindowSurfaceCGL::initialize):
(-[WebSwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
(-[WebSwapLayer copyCGLPixelFormatForDisplayMask:]): Deleted.
(-[WebSwapLayer copyCGLContextForPixelFormat:]): Deleted.
(-[WebSwapLayer canDrawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Deleted.
(-[WebSwapLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Deleted.
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Similar changes to the CGL implementation.
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.h:
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.h:
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::initialize):
(rx::DisplayEAGL::terminate):
(rx::WorkerContextEAGL::~WorkerContextEAGL):
(rx::WorkerContextEAGL::makeCurrent):
(rx::WorkerContextEAGL::unmakeCurrent):
(rx::DisplayEAGL::createWorkerContext):
* src/libANGLE/renderer/gl/eagl/EAGLFunctions.h: Added.
* src/libANGLE/renderer/gl/eagl/EAGLFunctions.mm: Added.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
* src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp:
* src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp:
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h:
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
(-[WebSwapLayerEAGL display]):
(rx::WindowSurfaceEAGL::initialize):
(-[WebSwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
(-[WebSwapLayer display]): Deleted.
* src/libANGLE/renderer/gl/renderergl_utils.cpp: Runtime check.
(rx::nativegl_gl::GenerateCaps):
2020-09-25 James Darpinian <jdarpinian@chromium.org>
Support EXT_float_blend
https://bugs.webkit.org/show_bug.cgi?id=216949
Reviewed by Kenneth Russell.
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateCaps):
2020-09-24 Kimmo Kinnunen <kkinnunen@apple.com>
REGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
https://bugs.webkit.org/show_bug.cgi?id=215908
<rdar://problem/68000962>
Reviewed by Dean Jackson.
Disable ANGLE workers until EAGL implementation is more complete.
Current implementation fails to compile any shader, since the
compilation happens in the worker thread and worker EAGL context
which does not use the same sharegroup as the main context.
The shader objects are created in the main context but the shader
source setting and compilation happens in the worker context.
EAGL needs a flush between state changes, and adding that
correctly is a bigger change to be done later.
Use sized formats when calling [EAGLContext -texImageIOSurface]
from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface
accepts parameters with glTexImage2D logic. On ES3, some of the
internal formats must be sized formats. The EAGLContext instantiated
by ANGLE is ES3, even if the ANGLE context would be ES2.
No tests added since this should be caught with the many video
related tests. It's unclear why this is not the case -- at
least on real hw. This is to be investigated later, too.
* src/libANGLE/renderer/driver_utils.h:
(rx::IsIOS):
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-09-11 James Darpinian <jdarpinian@chromium.org>
[WebGL2] Support EXT_color_buffer_half_float on WebGL 2.0 contexts
https://bugs.webkit.org/show_bug.cgi?id=216010
Reviewed by Kenneth Russell.
* src/libANGLE/formatutils.cpp:
(gl::SizedHalfFloatRGTextureAttachmentSupport):
(gl::SizedHalfFloatRGBTextureAttachmentSupport):
(gl::SizedHalfFloatRGBRenderbufferSupport):
(gl::SizedHalfFloatRGBATextureAttachmentSupport):
2020-09-03 Kimmo Kinnunen <kkinnunen@apple.com>
Mark uniform samplers in an array unused per element
https://bugs.webkit.org/show_bug.cgi?id=215630
Reviewed by Dean Jackson.
Mark uniform samplers in an uniform sampler array unused per
element, if driver informs the element being unused.
Before, one element would mark the whole array as being
unused, and samplers that were in use would not be updated.
* src/libANGLE/Context.cpp:
(gl::StateCache::updateActiveImageUnitIndices):
* src/libANGLE/Program.cpp:
(gl::SamplerBinding::SamplerBinding):
(gl::ImageBinding::ImageBinding):
(gl::Program::getSamplerUniformBinding const):
(gl::Program::getImageUniformBinding const):
(gl::Program::linkSamplerAndImageBindings):
(gl::Program::updateSamplerUniform):
(gl::Program::serialize const):
(gl::Program::deserialize):
* src/libANGLE/ProgramExecutable.cpp:
(gl::ProgramExecutable::updateActiveSamplers):
(gl::ProgramExecutable::updateActiveImages):
(gl::ProgramExecutable::setSamplerUniformTextureTypeAndFormat):
* src/libANGLE/ProgramExecutable.h:
* src/libANGLE/renderer/gl/ProgramGL.cpp:
(rx::ProgramGL::markUnusedUniformLocations):
* src/libANGLE/renderer/metal/ProgramMtl.mm:
(rx::ProgramMtl::updateTextures):
* src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp:
(rx::ProgramExecutableVk::updateImagesDescriptorSet):
(rx::ProgramExecutableVk::updateTexturesDescriptorSet):
* src/tests/gl_tests/ComputeShaderTest.cpp:
* src/tests/gl_tests/UniformTest.cpp:
2020-09-01 David Kilzer <ddkilzer@apple.com>
[ANGLE] InternalFormat::blendSupport is uninitialized by constructor
<https://webkit.org/b/216053>
<rdar://problem/68166032>
Reviewed by Kenneth Russell.
* changes.diff: Add this patch.
* src/libANGLE/formatutils.cpp:
(gl::InternalFormat::InternalFormat):
- Initialize blendSupport to NeverSupported.
2020-08-31 James Darpinian <jdarpinian@chromium.org>
Implement WEBGL_compressed_texture_s3tc_srgb extension
https://bugs.webkit.org/show_bug.cgi?id=215973
Reviewed by Dean Jackson.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::ExtAndVersionOrExt):
(rx::nativegl::BuildInternalFormatInfoMap):
2020-08-12 Keith Rollin <krollin@apple.com>
Remove the need for defining USE_NEW_BUILD_SYSTEM
https://bugs.webkit.org/show_bug.cgi?id=215439
Reviewed by Darin Adler.
When building WebKit for XCBuild, we currently require that the
external build system (such as the Makefile, build-webkit, etc.)
defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
controls parts of our build instructions that are sensitive to when
XCBuild or the Legacy build system are being used. Notably, we need to
know when to use our custom “copy and modify” scripts with copying
certain header files (used with the Legacy build system) vs. using the
enhanced Copy Headers build phase that’s enabled with
APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
The choice of which method to copy headers is used is controlled by
USE_NEW_BUILD_SYSTEM.
There is no built-in build setting that we can probe to help us
determine which approach to take when copying and modifying headers,
which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
turns out that we can *detect* which build system is being used by
taking advantage of a subtle difference between the two systems. As
noted in:
https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
“When an .xcconfig file contains multiple assignments of the same
build setting, later assignments using $(inherited) or
$(<setting_name>) will inherit from earlier assignments in the
.xcconfig. The legacy build system caused every use of
$(inherited) or $(<setting_name>) skip any other values defined
within the .xcconfig.”
This difference can be exploited as follows:
WK_WHICH_BUILD_SYSTEM = not_
WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
WK_USE_NEW_BUILD_SYSTEM_legacy = NO
WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
externally-defined USE_NEW_BUILD_SYSTEM.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* Configurations/ANGLE-static.xcconfig:
* Configurations/Base.xcconfig:
2020-08-07 Dean Jackson <dino@apple.com>
ANGLE: No need to check for Catalyst in the iOS build
https://bugs.webkit.org/show_bug.cgi?id=215249
<rdar://problem/66655478>
Reviewed by Tim Horton.
The DisplayEAGL class is never used for Catalyst, so doesn't
need to handle it.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::generateConfigs):
2020-08-05 Tim Horton <timothy_horton@apple.com>
Remove all references to non-existent 10.16
https://bugs.webkit.org/show_bug.cgi?id=215202
Reviewed by Wenson Hsieh.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-07-29 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] 2.29.4 fails to link on armv7hl
https://bugs.webkit.org/show_bug.cgi?id=214934
Reviewed by Carlos Alberto Lopez Perez.
Link ANGLE to with -ldl
* CMakeLists.txt:
2020-07-29 Kenneth Russell <kbr@chromium.org>
Roll ANGLE to 2020-07-28
https://bugs.webkit.org/show_bug.cgi?id=214897
Reviewed by Alex Christensen.
Roll to current ANGLE revision. Large ChangeLog below has been
truncated except for a few significant files.
Add dependency on zlib wrapper in third_party/zlib/google for both
Xcode and CMake builds. Small change to this wrapper for the
WinCairo build's system zlib, which doesn't define z_const.
* .gitignore:
* ANGLE.plist:
* ANGLE.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* Configurations/ANGLE-dynamic.xcconfig:
* Configurations/ANGLE-static.xcconfig:
* GLESv2.cmake:
* PlatformWin.cmake:
* third_party/zlib/google/compression_utils_portable.cc: Added.
* third_party/zlib/google/compression_utils_portable.h: Added.
2020-07-28 Kenneth Russell <kbr@chromium.org>
Pause during ANGLE roll script after rebasing and before deleting temporary Git repo
https://bugs.webkit.org/show_bug.cgi?id=212717
Reviewed by Dean Jackson.
Give the user the opportunity to manually examine the changes
relative to upstream ANGLE, and to undo any accidental or
undesired ones, before finishing the roll.
* update-angle.sh:
2020-07-22 Conrad Shultz <conrad_shultz@apple.com>
Update macOS Version macros
https://bugs.webkit.org/show_bug.cgi?id=214653
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-07-17 Kenneth Russell <kbr@chromium.org>
[WebGL2] Fix validation of pixel unpack parameters
https://bugs.webkit.org/show_bug.cgi?id=214509
Reviewed by Dean Jackson.
Fix small error discovered while upstreaming the previous fix to
the ANGLE project.
* src/libANGLE/validationES3.cpp:
(gl::ValidateES3TexImageParametersBase):
2020-07-17 Kenneth Russell <kbr@chromium.org>
[WebGL2] ReadPixels updates
https://bugs.webkit.org/show_bug.cgi?id=209516
Reviewed by Dean Jackson.
Add workaround for OpenGL driver bug on macOS where
GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored.
Add WebGL 2.0-specific validation constraints for pixel pack and
unpack parameters.
These changes are being upstreamed to ANGLE in
http://crbug.com/angleproject/4849 .
* include/platform/FeaturesGL.h:
* src/libANGLE/ErrorStrings.h:
* src/libANGLE/renderer/gl/FramebufferGL.cpp:
(rx::FramebufferGL::readPixels):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
* src/libANGLE/validationES.cpp:
(gl::ValidatePixelPack):
* src/libANGLE/validationES3.cpp:
(gl::ValidateES3TexImageParametersBase):
2020-07-10 Kenneth Russell <kbr@chromium.org>
Remove glBindFramebuffer flush workaround from ANGLE
https://bugs.webkit.org/show_bug.cgi?id=214104
Reviewed by Dean Jackson.
Remove this driver bug workaround, which very likely had no
effect, and which was never upstreamed to ANGLE.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-07-08 Darin Adler <darin@apple.com>
Fix adjust-angle-include-paths.sh error seen building ANGLE library
https://bugs.webkit.org/show_bug.cgi?id=214059
Reviewed by Alexey Proskuryakov.
* ANGLE.xcodeproj/project.pbxproj: Remove the build step that adjusts paths.
Dean Jackson told me we don't need it for the static library target.
2020-06-30 Andy Estes <aestes@apple.com>
[Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=213740
Reviewed by Darin Adler.
* Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this
project supports building for Mac Catalyst.
2020-06-22 Tim Horton <timothy_horton@apple.com>
Update macOS version macros
https://bugs.webkit.org/show_bug.cgi?id=213484
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-06-22 Tim Horton <timothy_horton@apple.com>
WebGL cannot create a context if there is no GPU on the PCIe bus
https://bugs.webkit.org/show_bug.cgi?id=213479
Reviewed by Maciej Stachowiak and Dean Jackson.
* src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetSystemInfo):
Do not bail from WebGL initialization if there are no GPUs on the PCIe bus.
Instead, continue on to context creation, and allow the system frameworks
to return an error if there truly is no GPU.
2020-06-19 Jonathan Bedard <jbedard@apple.com>
[ANGLE] Correct Catalyst guards
https://bugs.webkit.org/show_bug.cgi?id=211410
<rdar://problem/62891185>
Reviewed by Dean Jackson.
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Do not compile on Mac.
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.h: Definitions should not be available on Mac.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Definitions should not be available on Mac.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Do not compile on Mac.
2020-06-10 Dean Jackson <dino@apple.com>
Add a dynamic library target for ANGLE
https://bugs.webkit.org/show_bug.cgi?id=207591
Reviewed by Tim Horton.
In preparation for moving to a dynamic library, start
by compiling and linking it. It isn't used anywhere
but getting it into the build will help Apple's
build system remain happy as we migrate, as well
as have the system know it exists for building
the shared system cache.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig: Added.
* Configurations/ANGLE-static.xcconfig: Added.
* Configurations/ANGLE.xcconfig: Removed.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2020-06-07 James Darpinian <jdarpinian@chromium.org>
[ANGLE - iOS] fast/canvas/webgl/uninitialized-test.html is still failing
https://bugs.webkit.org/show_bug.cgi?id=212249
Reviewed by Dean Jackson.
copyTexImage2D is broken in some way on iOS. Work around it by reimplementing
it with ANGLE's BlitGL class.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/BlitGL.cpp:
(rx::BlitGL::blitColorBufferWithShader):
* src/libANGLE/renderer/gl/BlitGL.h:
* src/libANGLE/renderer/gl/TextureGL.cpp:
(rx::TextureGL::copyImage):
(rx::TextureGL::copySubImage):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
* src/tests/gl_tests/CopyTexImageTest.cpp:
* src/tests/gl_tests/TextureTest.cpp:
* src/tests/test_utils/angle_test_configs.cpp:
(angle::operator<<):
* src/tests/test_utils/angle_test_configs.h:
(angle::WithEmulateCopyTexImage2DFromRenderbuffers):
* util/EGLPlatformParameters.h:
(EGLPlatformParameters::tie const):
* util/EGLWindow.cpp:
(EGLWindow::initializeDisplay):
2020-06-04 Tim Horton <timothy_horton@apple.com>
Work around broken system version macro
https://bugs.webkit.org/show_bug.cgi?id=212726
Reviewed by Dan Bernstein.
* Configurations/DebugRelease.xcconfig:
2020-06-02 Keith Rollin <krollin@apple.com>
Change ANGLE's header postprocessing script to not rely on timestamps
https://bugs.webkit.org/show_bug.cgi?id=212623
<rdar://problem/63856997>
Reviewed by David Kilzer.
Reviewed by Kennneth Russell.
Some WebKit builds involve multiple passes, where each pass is a
superset of the previous pass. In the cases where each pass produces
the same files, it is required that files be produced in exactly the
same way in each of those passes. A build process that relies on a
file containing a timestamp trips up that prerequisite.
adjust-angle-include-paths.sh uses such a mechanism, using a timestamp
file to determine if any exported headers need to be post-processed.
Since this violates our prerequisite, we need a different approach.
Instead of using a timestamp, always perform the post-processing, but
write the output to a temporary location. Then see if it differs from
what's in the actual final destination. If the two files diff, then
copy the one from the temporary location to the final destination.
This approach does cause more work in the area of post-processing.
However, this post-processing is actually very cheap. And avoiding the
post-processing is not actually the original goal of the timestamp.
The actual goal is to avoid touching the modification dates of the
exported headers, which would then cause a lot of downstream
rebuilding. The new approach with the temporary files also achieves
that goal.
* CMakeLists.txt:
* adjust-angle-include-paths.sh:
2020-06-02 Kenneth Russell <kbr@chromium.org>
Revise PVRTC compressed texture validation in ANGLE backend for WebGL
https://bugs.webkit.org/show_bug.cgi?id=212612
Reviewed by Dean Jackson.
Correct the block sizes of PVRTC textures, and incorporate minimum
block sizes for width and height, as required by these formats.
* src/libANGLE/formatutils.cpp:
(gl::BuildInternalFormatInfoMap):
(gl::InternalFormat::computeCompressedImageSize const):
(gl::InternalFormat::getCompressedImageMinBlocks const):
* src/libANGLE/formatutils.h:
2020-05-29 Keith Rollin <krollin@apple.com>
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
2020-05-27 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Unreviewed build fix. Check the value of XCODE_VERSION_ACTUAL rather
than XCODE_VERSION_MAJOR when determining whether to use the XCBuild
or non-XCBuild method of running header post-processing scripts.
* ANGLE.xcodeproj/project.pbxproj:
2020-05-26 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
2020-05-22 Kenneth Russell <kbr@chromium.org>
[ANGLE - iOS] webgl/1.0.3/conformance/extensions/ext-sRGB.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212277
Reviewed by Dean Jackson.
Properly translate GL_EXT_sRGB enums to ES 3.0 enums when
GL_EXT_sRGB is not supported.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::GetNativeInternalFormat):
(rx::nativegl::GetNativeFormat):
2020-05-22 Kenneth Russell <kbr@chromium.org>
[ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212271
Reviewed by Dean Jackson.
Use ES 3.0 sized internal formats for unsized depth/stencil
textures when the OES_depth_texture extension is unavailable - as
is the case in iOS's ES 3.0 driver.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::GetNativeInternalFormat):
2020-05-21 Dean Jackson <dino@apple.com>
PVRTC compressed textures are failing with ANGLE backend
https://bugs.webkit.org/show_bug.cgi?id=212240
<rdar://problem/63517385>
Reviewed by Ken Russell (representing ANGLE).
The values used for the PVRTC formats were incorrect.
* src/libANGLE/formatutils.cpp:
(gl::BuildInternalFormatInfoMap):
2020-05-21 Kenneth Russell <kbr@chromium.org>
Roll ANGLE to 2020-05-21
https://bugs.webkit.org/show_bug.cgi?id=212228
Reviewed by Dean Jackson.
Roll ANGLE to 96a80283cc0fe604d03c0bc0b3f9eb100edd22f9 in the
upstream repository using jdarpinian's excellent update-angle.sh
script.
Manually undo the fix from Bug 210992, which was fixed differently
upstream.
2020-05-21 Kenneth Russell <kbr@chromium.org>
EXT_color_buffer_half_float not exposed on iOS
https://bugs.webkit.org/show_bug.cgi?id=212181
Reviewed by Dean Jackson.
Remove OES_texture_half_float requirement for advertising
EXT_color_buffer_half_float in ANGLE. This is implicit in ES 3.0.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::BuildInternalFormatInfoMap):
2020-05-20 Kenneth Russell <kbr@chromium.org>
OES_texture_half_float_linear unavailable on WebGL 1.0 on iOS with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=212170
Reviewed by Dean Jackson.
Now that FP16 luminance/alpha texture formats are correctly
emulated on ES 3.0, advertise them as filterable.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::BuildInternalFormatInfoMap):
2020-05-20 Kenneth Russell <kbr@chromium.org>
OES_texture_float / OES_texture_half_float unavailable in WebGL 1.0 on iOS Simulator with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=210524
Reviewed by Dean Jackson.
Emulate LUMINANCE, ALPHA and LUMINANCE_ALPHA floating-point
textures on top of RED / RG textures when the underlying
OES_texture_float/half_float OpenGL ES extensions are unavailable.
This makes the conformance/extensions/oes-texture{-half}-float*
tests run and pass in the iOS Simulator.
This change is being reviewed upstream in the ANGLE repository and
is only being uploaded here for testing purposes. It will be
rolled in with the next ANGLE update.
* src/libANGLE/renderer/gl/TextureGL.cpp:
(rx::TextureGL::setSwizzle):
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::BuildInternalFormatInfoMap):
(rx::nativegl::IsLUMAFormat):
(rx::nativegl::EmulateLUMAFormat):
(rx::nativegl::EmulateLUMA):
(rx::nativegl::GetNativeInternalFormat):
(rx::nativegl::GetNativeFormat):
(rx::nativegl::GetNativeType):
(rx::nativegl::GetTexImageFormat):
(rx::nativegl::GetTexSubImageFormat):
2020-05-18 James Darpinian <jdarpinian@chromium.org>
Enable regenerateStructNames workaround on iOS
https://bugs.webkit.org/show_bug.cgi?id=212056
Reviewed by Dean Jackson.
The WebGL conformance test conformance/glsl/misc/shader-struct-scope.html
was failing on iOS. The workaround that fixes this test was enabled only on
desktop GL, but it's necessary for iOS as well.
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-05-14 James Darpinian <jdarpinian@chromium.org>
REGRESSION (r259589): Google Maps background layer fades out and back in
https://bugs.webkit.org/show_bug.cgi?id=210992
Reviewed by Dean Jackson.
ANGLE rendering feedback loop detection was incorrect if a texture attached
to a framebuffer was also bound to an active texture unit, and then that texture
unit became inactive because a sampler uniform was set.
* src/libANGLE/Context.cpp:
(gl::Context::onSamplerUniformChange):
* src/libANGLE/State.cpp:
(gl::State::setTextureIndexInactive):
* src/libANGLE/State.h:
2020-05-14 Kenneth Russell <kbr@chromium.org>
Update ANGLE to 2020-03-27
https://bugs.webkit.org/show_bug.cgi?id=209689
Reviewed by Darin Adler.
Re-applying this patch now that we have a fix for 210992.
Use update-angle.sh script by James Darpinian to roll ANGLE to
commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
https://chromium.googlesource.com/angle/angle .
changes.diff has been auto-updated with Apple's diffs relative to
upstream. No additional manual changes are made in this roll.
Long autogenerated file list omitted.
2020-05-08 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/211644>
Reviewed by Darin Adler.
* include/vulkan: Removed.
* src/android_system_settings: Removed.
* third_party/glmark2: Removed.
* tools/flex-bison: Removed.
2020-05-07 James Darpinian <jdarpinian@chromium.org>
Fix Google Maps rendering corruption in simulator with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=211398
glReadPixels call needs to respect the row stride of the IOSurface.
Reviewed by Alex Christensen.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
(rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
(rx::IOSurfaceSurfaceEAGL::releaseTexImage):
2020-05-07 Dean Jackson <dino@apple.com>
Update ANGLE to 2020-03-27
https://bugs.webkit.org/show_bug.cgi?id=209689
Reverting r259589. It caused
https://bugs.webkit.org/show_bug.cgi?id=210992
2020-05-05 Saam Barati <sbarati@apple.com>
Unreviewed, reverting r261176.
It broke the build
Reverted changeset:
"[ANGLE] Declarations should match definitions"
https://bugs.webkit.org/show_bug.cgi?id=211410
https://trac.webkit.org/changeset/261176
2020-05-05 Jonathan Bedard <jbedard@apple.com>
[ANGLE] Declarations should match definitions
https://bugs.webkit.org/show_bug.cgi?id=211410
Reviewed by Alex Christensen.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Skip definitions for platforms
where class is undefined.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::generateConfigs): Function is not defined for for MacCatalyst.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Skip definitions for platforms
where class is undefined.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Skip definitions for platforms
where class is undefined.
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
2020-04-28 ChangSeok Oh <changseok@webkit.org>
[GTK] Fix build failures for ANGLE_WEBGL after r259589
https://bugs.webkit.org/show_bug.cgi?id=211116
Reviewed by Alex Christensen.
The ANGLE_WEBGL is broken after ANGLE is updated in r259589. Missing sources
should be added to the build target.
* PlatformGTK.cmake: Add libangle_gl_egl_sources and libangle_gl_egl_dl_sources.
2020-04-27 Dean Jackson <dino@apple.com>
Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
https://bugs.webkit.org/show_bug.cgi?id=211055
<rdar://problem/62410499>
Reviewed by Darin Adler.
ANGLE requires GL_DEPTH_COMPONENT32_OES be available in order to expose the
depth texture extension. However, this format is not supported on iOS.
Temporarily remove this restriction while investigating other bugs.
This also allows us to see the failing results in
fast/canvas/webgl/webgl-depth-texture.html
webgl/1.0.3/conformance/extensions/webgl-depth-texture.html
* src/libANGLE/Caps.cpp:
(gl::DetermineDepthTextureANGLESupport):
(gl::DetermineDepthTextureOESSupport):
2020-04-25 Darin Adler <darin@apple.com>
[Cocoa] Deal with another round of Xcode upgrade checks
https://bugs.webkit.org/show_bug.cgi?id=211027
Reviewed by Alexey Proskuryakov.
* ANGLE.xcodeproj/project.pbxproj: Bump the upgrade check version.
Add a harmless base localization, rename English localization to en,
remove Japanese, French, German; this project contains nothing localized.
2020-04-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r259708.
Broke the iOS device Build
Reverted changeset:
"Enable the use of XCBuild by default in Apple builds"
https://bugs.webkit.org/show_bug.cgi?id=209890
https://trac.webkit.org/changeset/259708
2020-04-08 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
2020-04-06 Kenneth Russell <kbr@chromium.org>
Update ANGLE to 2020-03-27
https://bugs.webkit.org/show_bug.cgi?id=209689
Reviewed by Darin Adler.
Use update-angle.sh script by James Darpinian to roll ANGLE to
commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
https://chromium.googlesource.com/angle/angle .
changes.diff has been auto-updated with Apple's diffs relative to
upstream. No additional manual changes are made in this roll.
Long autogenerated file list omitted.
2020-04-03 Kenneth Russell <kbr@chromium.org>
Fix bugs related to VideoTextureCopierCV and ANGLE roll script
https://bugs.webkit.org/show_bug.cgi?id=209943
Reviewed by Dean Jackson.
Update the update-angle.sh script to take into account the new
procedure for generating ANGLE's commit ID header file. This
enables ANGLE rolls into WebKit again.
* update-angle.sh:
2020-04-03 Keith Rollin <krollin@apple.com>
Do not link with OpenGL on Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=209946
<rdar://problem/61237956>
Reviewed by Sam Weinig.
OpenGL is not used in our build of ANGLE. Attempting to link with it
causes warnings, which can turn into errors in some cases (in
particular, when building with Xcode's "new" build system).
* ANGLE.xcodeproj/project.pbxproj:
2020-04-03 David Kilzer <ddkilzer@apple.com>
[Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
<https://webkit.org/b/209963>
<rdar://problem/61257504>
Reviewed by Alexey Proskuryakov.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
ASAN_OTHER_LDFLAGS.
2020-03-27 Kenneth Russell <kbr@chromium.org>
Use ANGLE_robust_client_memory to replace framebuffer/texture validation
https://bugs.webkit.org/show_bug.cgi?id=209098
Reviewed by Dean Jackson.
Incorporated fix from anglebug.com/4504 to make
fast/canvas/webgl/uninitialized-test.html pass.
Incorporated fix from anglebug.com/4518 to make:
webgl/2.0.0/conformance2/renderbuffers/invalidate-framebuffer.html
webgl/2.0.0/conformance2/rendering/blitframebuffer-test.html
webgl/2.0.0/conformance2/rendering/rgb-format-support.html
webgl/2.0.0/conformance2/state/gl-object-get-calls.html
webgl/2.0.0/conformance2/textures/misc/tex-new-formats.html
pass.
* src/libANGLE/Texture.cpp:
(gl::Texture::copySubImage):
(gl::Texture::ensureSubImageInitialized):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-03-21 Keith Rollin <krollin@apple.com>
Set INSTALLHDRS_SCRIPT_PHASE in ANGLE builds
https://bugs.webkit.org/show_bug.cgi?id=209384
<rdar://problem/59513380>
Reviewed by Dan Bernstein.
Production ANGLE builds are technically non-compliant. During the
installhdrs build action, ANGLE headers are exported but are not
post-processed. This differs from the install build action, where the
exported headers *are* post-processed. The headers need to be treated
identically under both actions. The post-processing is enabled by
setting the INSTALLHDRS_SCRIPT_PHASE build setting to YES. Most other
WebKit projects already set this setting (see, for example,
https://trac.webkit.org/changeset/155787,
https://trac.webkit.org/changeset/110327, and
https://trac.webkit.org/changeset/41417).
* Configurations/ANGLE.xcconfig:
2020-03-15 Michael Catanzaro <mcatanzaro@gnome.org>
[ANGLE] Source/ThirdParty/ANGLE/src/common/utilities.cpp:10: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
https://bugs.webkit.org/show_bug.cgi?id=209014
Reviewed by Darin Adler.
Silence compiler warning.
* changes.diff:
* src/common/utilities.cpp:
2020-03-15 Michael Catanzaro <mcatanzaro@gnome.org>
[ANGLE] Source/ThirdParty/ANGLE/src/libANGLE/Display.h:221:73: warning: implicitly-declared ‘egl::AttributeMap& egl::AttributeMap::operator=(const egl::AttributeMap&)’ is deprecated [-Wdeprecated-copy]
https://bugs.webkit.org/show_bug.cgi?id=209015
Reviewed by Darin Adler.
Suppress compiler warning. If this were WebKit code, I might take the time to fix it, but
with third-party code it's probably best to just turn off warnings that upstream is not
using.
* CMakeLists.txt:
2020-03-02 Alan Coon <alancoon@apple.com>
Add new Mac target numbers
https://bugs.webkit.org/show_bug.cgi?id=208398
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-02-12 Michael Catanzaro <mcatanzaro@gnome.org>
Multiple GCC 10 build failures in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=207365
Reviewed by Carlos Alberto Lopez Perez.
* changes.diff: Updated.
* include/platform/Platform.h: Add missing #include to get size_t.
* src/common/PackedEnums.h: Remove problematic const_casts.
2020-02-12 Dean Jackson <dino@apple.com>
ANGLE has unused bison and glmark2 code
https://bugs.webkit.org/show_bug.cgi?id=207597
rdar://59361460
Reviewed by Maciej Stachowiak.
Remove some unused files.
* changes.diff:
* src/tests/perf_tests/glmark2Benchmark.cpp: Removed.
* third_party/glmark2/BUILD.gn: Removed.
* third_party/glmark2/README.angle: Removed.
* tools/flex-bison/README.md: Removed.
* tools/flex-bison/linux/bison.sha1: Removed.
* tools/flex-bison/linux/flex.sha1: Removed.
* tools/flex-bison/third_party/.gitattributes: Removed.
* tools/flex-bison/third_party/m4sugar/LICENSE: Removed.
* tools/flex-bison/third_party/m4sugar/README.chromium: Removed.
* tools/flex-bison/third_party/m4sugar/foreach.m4: Removed.
* tools/flex-bison/third_party/m4sugar/m4sugar.m4: Removed.
* tools/flex-bison/third_party/skeletons/LICENSE: Removed.
* tools/flex-bison/third_party/skeletons/README.chromium: Removed.
* tools/flex-bison/third_party/skeletons/bison.m4: Removed.
* tools/flex-bison/third_party/skeletons/c-like.m4: Removed.
* tools/flex-bison/third_party/skeletons/c.m4: Removed.
* tools/flex-bison/third_party/skeletons/yacc.c: Removed.
* tools/flex-bison/update_flex_bison_binaries.py: Removed.
* tools/flex-bison/windows/bison.exe.sha1: Removed.
* tools/flex-bison/windows/flex.exe.sha1: Removed.
* tools/flex-bison/windows/m4.exe.sha1: Removed.
* tools/flex-bison/windows/msys-2.0.dll.sha1: Removed.
* tools/flex-bison/windows/msys-iconv-2.dll.sha1: Removed.
* tools/flex-bison/windows/msys-intl-8.dll.sha1: Removed.
2020-02-09 Keith Rollin <krollin@apple.com>
Re-enable LTO for ARM builds
https://bugs.webkit.org/show_bug.cgi?id=207402
<rdar://problem/49190767>
Reviewed by Sam Weinig.
Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
Enabling it for ARM was left out due to a compiler issue. That issue
has been fixed, and so now we can re-enable LTO for ARM.
* Configurations/Base.xcconfig:
2020-02-07 Kenneth Russell <kbr@chromium.org>
Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
https://bugs.webkit.org/show_bug.cgi?id=206625
Reviewed by Dean Jackson.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-02-05 Dean Jackson <dino@apple.com>
Fix MacCatalyst build.
* src/libANGLE/validationEGL.cpp:
(egl::ValidateCreatePbufferFromClientBuffer):
2020-02-04 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=206318
Several important changes to fix layout test failures and timeouts in this update.
- Made expensive validation non-default in debug mode to reduce timeouts.
- Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
- Flush before texture deletion to work around Mac Intel driver bug.
Reviewed by Dean Jackson.
* ANGLE.plist: update commit hash
* ANGLE.xcodeproj/project.pbxproj: Add/remove files
* Compiler.cmake: Translated from compiler.gni
* GLESv2.cmake: Translated from libGLESv2.gni
* changes.diff: Now lists all changes from upstream.
* update-angle.sh: Diff command was wrong.
* Plus a whole lot of changes from upstream.
2020-01-30 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=206318
Take two!
Several important changes to fix layout test failures and timeouts in this update.
- Made expensive validation non-default in debug mode to reduce timeouts.
- Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
- Flush before texture deletion to work around Mac Intel driver bug.
Reviewed by Dean Jackson.
* ANGLE.plist: update commit hash
* ANGLE.xcodeproj/project.pbxproj: Add/remove files
* Compiler.cmake: Translated from compiler.gni
* GLESv2.cmake: Translated from libGLESv2.gni
* changes.diff: Now lists all changes from upstream.
* update-angle.sh: Diff command was wrong.
* Plus a whole lot of changes from upstream.
2020-01-22 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=206318
Several important changes to fix layout test failures and timeouts in this update.
- Made expensive validation non-default in debug mode to reduce timeouts.
- Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
- Flush before texture deletion to work around Mac Intel driver bug.
Reviewed by Dean Jackson.
* ANGLE.plist: update commit hash
* ANGLE.xcodeproj/project.pbxproj: Add/remove files
* Compiler.cmake: Translated from compiler.gni
* GLESv2.cmake: Translated from libGLESv2.gni
* changes.diff: Now lists all changes from upstream.
* update-angle.sh: Diff command was wrong.
* Plus a whole lot of changes from upstream.
2020-01-22 James Darpinian <jdarpinian@chromium.org>
REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html is much slower, times out in debug
https://bugs.webkit.org/show_bug.cgi?id=205668
Disable asserts when compiling ANGLE in release mode by defining
NDEBUG.
Reviewed by Dean Jackson.
* Configurations/ANGLE.xcconfig:
2020-01-14 Dean Jackson <dino@apple.com>
Build ANGLE as a dynamic library
https://bugs.webkit.org/show_bug.cgi?id=204708
rdar://57349384
Rolling this out for the 2nd time.
- it caused issues with the shared dyld cache, because the
cache doesn't know to include the libary until it already
exists in the build
- probably related to the above, we saw some performance
regressions directly related to this change
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* include/CMakeLists.txt:
* include/GLSLANG/ShaderLang.h:
* include/GLSLANG/ShaderVars.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
(rx::DisplayCGL::isValidNativeWindow const):
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
(rx::WindowSurfaceCGL::WindowSurfaceCGL):
(rx::WindowSurfaceCGL::~WindowSurfaceCGL):
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::isValidNativeWindow const):
(rx::WorkerContextEAGL::~WorkerContextEAGL):
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
(rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
(rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
2020-01-14 Kenneth Russell <kbr@chromium.org>
Need workaround for crash in Intel OpenGL driver related to texture copying feedback loops
https://bugs.webkit.org/show_bug.cgi?id=205843
Remove ANGLE workaround introduced in bug 205707, as it was
discovered to be incomplete, and was never upstreamed. The correct
workaround will be integrated in the next ANGLE roll.
Reviewed by Dean Jackson.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-01-08 Kenneth Russell <kbr@chromium.org>
Remove some #ifdefs related to iOS port of ANGLE
https://bugs.webkit.org/show_bug.cgi?id=205781
Since the port to the iOS Simulator in
https://bugs.webkit.org/show_bug.cgi?id=205618 , these #ifdefs
should no longer be needed.
Reviewed by Dean Jackson.
* src/common/PackedEnums.cpp:
(egl_gl::EGLTextureTargetToTextureType):
* src/libANGLE/validationES2.cpp:
(gl::ValidateFramebufferTexture2D):
2020-01-05 Kenneth Russell <kbr@chromium.org>
REGRESSION (r253926): Flaky crashes on webgl/1.0.3/conformance/textures/texture-copying-feedback-loops.html and webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops.html
https://bugs.webkit.org/show_bug.cgi?id=205707
Work around bugs in Intel's graphics driver where operations can
be incorrectly reordered across glBindFramebuffer calls by
flushing before/after these calls. Conclusively addresses this
crash; may also address other layout test flakiness seen when
switching to ANGLE backend for WebGL.
Reviewed by Dean Jackson.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
2020-01-04 Kenneth Russell <kbr@chromium.org>
Add support for iOS Simulator to ANGLE backend for WebGL
https://bugs.webkit.org/show_bug.cgi?id=205618
Extend EGL_ANGLE_iosurface_client_buffer extension to require use
of TEXTURE_2D target on iOS, and to provide read/write usage hints
for the pbuffer created from the IOSurface.
Emulate missing [EAGLContext texImageIOSurface:...] via texture
upload in eglBindTexImage and readback in eglReleaseTexImage.
These changes will be upstreamed in
https://bugs.chromium.org/p/angleproject/issues/detail?id=4256 .
Reviewed by Dean Jackson.
* extensions/EGL_ANGLE_iosurface_client_buffer.txt:
* include/EGL/eglext_angle.h:
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::initialize):
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
(rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
(rx::IOSurfaceSurfaceEAGL::bindTexImage):
(rx::IOSurfaceSurfaceEAGL::releaseTexImage):
(rx::IOSurfaceSurfaceEAGL::validateAttributes):
(rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
(rx::IOSurfaceSurfaceEAGL::getIOSurfaceLockOptions const):
* src/libANGLE/validationEGL.cpp:
(egl::ValidateCreatePbufferFromClientBuffer):
2019-12-25 Dean Jackson <dino@apple.com>
[WebGL] Enable ANGLE by default for Cocoa platforms (except simulator)
https://bugs.webkit.org/show_bug.cgi?id=205483
rdar://56925821
Reviewed by Simon Fraser.
Export entry_points_gles_ext_autogen.h.
* ANGLE.xcodeproj/project.pbxproj:
2019-12-19 Dean Jackson <dino@apple.com>
Build ANGLE as a dynamic library
https://bugs.webkit.org/show_bug.cgi?id=204708
rdar://57349384
Reviewed by Tim Horton.
Take 2 at attempting this. The first time was rolled out
due to failures in Apple's upstream build system.
Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
this will reduce the in-flight binary size on Apple's build systems by at least
a factor of 10 (it was over 1G). Building release for x86_64-only:
- Previously: libANGLE.a -- 306 MB
- Now: libANGLE-shared.dylib -- 6.7 MB
In order to do this, some symbols needed to be exported from the
"sh" namespace (which are used in ANGLEWebKitBridge, but not when
ANGLE's rendering backend is active).
While here, I turned on some more build options, like ARC.
Lastly, I added a build phase that creates a fake libANGLE.a
because Apple's build system thinks that WebCore still needs it.
* ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
product a dylib product.
* Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
sure they will be visible in the exported library.
* include/GLSLANG/ShaderVars.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
C cast so it can be annotated with __bridge.
(rx::DisplayCGL::isValidNativeWindow const):
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
(rx::WindowSurfaceCGL::WindowSurfaceCGL):
(rx::WindowSurfaceCGL::~WindowSurfaceCGL):
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
2019-12-19 ChangSeok Oh <changseok@webkit.org>
[GTK] Build fix for ANGLE_WEBGL after r253650
https://bugs.webkit.org/show_bug.cgi?id=205426
Reviewed by Carlos Alberto Lopez Perez.
libglesv2_entry_points_headers was removed in r253650 that updated CMake for ANGLE.
GLESv2.cmake seems to be susceptible to ANGLE changes, so it might not be
a good place where any platform specific configuration is located.
Let's move the entry points header set to CMakeLists.txt.
* CMakeLists.txt:
2019-12-18 Dean Jackson <dino@apple.com>
Reverting libANGLE.a -> libANGLE-shared.dylib.
Follow-up to remove the build phase that was trying
to fool Apple's build system.
* ANGLE.xcodeproj/project.pbxproj:
2019-12-18 Dean Jackson <dino@apple.com>
Reverting libANGLE.a -> libANGLE-shared.dylib.
The internal Apple build systems are still unhappy with
this change, so I'm reverting it until I can be sure
they'll accept it.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* include/CMakeLists.txt:
* include/GLSLANG/ShaderLang.h:
* include/GLSLANG/ShaderVars.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
(rx::DisplayCGL::isValidNativeWindow const):
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
(rx::WindowSurfaceCGL::WindowSurfaceCGL):
(rx::WindowSurfaceCGL::~WindowSurfaceCGL):
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::isValidNativeWindow const):
(rx::WorkerContextEAGL::~WorkerContextEAGL):
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
(rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
(rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
2019-12-17 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed build fix for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=204914
<rdar://problem/58023118>
* include/CMakeLists.txt: Replaced '$libangle_includes' with '${libangle_includes}".
2019-12-17 James Darpinian <jdarpinian@chromium.org>
Improve update-angle.sh and add gni-to-cmake.py
https://bugs.webkit.org/show_bug.cgi?id=204914
update-angle.sh now performs a git rebase. This automatically merges
upstream changes with WebKit's local changes where possible and
highlights any conflicts for manual resolution.
Also, it runs a new script gni-to-cmake.py to automatically update the
CMake files with upstream changes to the gni files. Along with the
changes to include/CMakeLists.txt, this should prevent build breaks
like the recently fixed WinCairo one. Additionally, diffing the CMake
files provides a concise list of build changes that can be referenced
when manually updating the XCode project file.
Reviewed by Dean Jackson.
* CMakeLists.txt:
* Compiler.cmake:
* GLESv2.cmake:
* gni-to-cmake.py: Added.
* include/CMakeLists.txt:
* update-angle.sh:
2019-12-17 ChangSeok Oh <changseok@webkit.org>
Unreviewed build fix for USE_ANGLE_WEBGL after r252994
* CMakeLists.txt: Add a missing directory separator.
2019-12-13 Dean Jackson <dino@apple.com>
MacCatalyst build of libANGLE is installed in the incorrect location
https://bugs.webkit.org/show_bug.cgi?id=205219
<rdar://problem/57713353>
Reviewed by Simon Fraser.
Rename libANGLE.dylib into libANGLE-shared.dylib, so we can
avoid accidentally trying to link to the libANGLE.a that was
removed recently (but still exists in the SDK for now).
Also, make sure that we install into the correct location for
a Catalyst build.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
* Configurations/Base.xcconfig:
2019-12-11 Dean Jackson <dino@apple.com>
Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=205068
<rdar://problem/57713353>
Unreviewed followup to apply the script to Mac Catalyst builds.
Note that this phase can be removed in a few days when Apple's Test
Platform realises it doesn't need libANGLE.a any more.
* ANGLE.xcodeproj/project.pbxproj:
2019-12-10 Dean Jackson <dino@apple.com>
Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=205068
<rdar://problem/57713353>
Reviewed by Alex Christensen.
Create a dummy libANGLE.a file until our infrastructure realises it
doesn't need that file any more. Hopefully the fact that it isn't
really a static library, but just a text file, is ok.
* ANGLE.xcodeproj/project.pbxproj: Add a new shell script phase that
creates a dummy file.
2019-12-06 Dean Jackson <dino@apple.com>
Restrict libANGLE to link only with WebCore
https://bugs.webkit.org/show_bug.cgi?id=204957
<rdar://problem/57708644>
Reviewed by Brian Burg.
Restrict to WebCore and WebCoreTestSupport.
* Configurations/ANGLE.xcconfig:
2019-12-05 James Darpinian <jdarpinian@chromium.org>
Finish ANGLE update
https://bugs.webkit.org/show_bug.cgi?id=204911
The last ANGLE update patch didn't include all the changed files.
This patch updates the rest of the files.
Reviewed by Alex Christensen.
* src/tests: Lots of changed files from upstream ANGLE.
* src/third_party/compiler/README.chromium:
* third_party/VK-GL-CTS/README.angle: Added.
* third_party/deqp/README.angle: Removed.
* third_party/googletest/README.angle: Removed.
* third_party/libpng/BUILD.gn:
* third_party/spirv-cross/README.angle: Added.
* util/OSWindow.h:
* util/egl_loader_autogen.cpp:
(angle::LoadEGL):
* util/egl_loader_autogen.h:
* util/fuchsia/ScenicWindow.cpp:
(ScenicWindow::resetNativeWindow):
* util/fuchsia/ScenicWindow.h:
* util/gles_loader_autogen.cpp:
(angle::LoadGLES):
* util/gles_loader_autogen.h:
* util/osx/OSXWindow.h:
* util/osx/OSXWindow.mm:
(OSXWindow::initialize):
* util/ozone/OzoneWindow.h:
* util/posix/crash_handler_posix.cpp:
(angle::InitCrashHandler):
* util/posix/test_utils_posix.cpp:
(angle::GetTempDir):
(angle::CreateTemporaryFileInDir):
(angle::DeleteFile):
(angle::LaunchProcess):
(angle::NumberOfProcessors):
* util/shader_utils.cpp:
(CompileShaderFromFile):
(CompileProgramFromFiles):
* util/test_utils.cpp: Added.
(angle::CreateTemporaryFile):
(angle::GetFileSize):
(angle::ReadEntireFileToString):
(angle::ProcessHandle::ProcessHandle):
(angle::ProcessHandle::~ProcessHandle):
(angle::ProcessHandle::operator=):
(angle::ProcessHandle::reset):
* util/test_utils.h:
* util/test_utils_unittest.cpp: Added.
(angle::NormalizeNewLines):
(angle::TEST):
* util/test_utils_unittest_helper.cpp: Added.
(main):
* util/test_utils_unittest_helper.h: Added.
* util/util.gni:
* util/windows/WGLWindow.cpp:
* util/windows/test_utils_win.cpp:
(angle::InitCrashHandler):
(angle::TerminateCrashHandler):
(angle::LaunchProcess):
(angle::GetTempDir):
(angle::CreateTemporaryFileInDir):
(angle::DeleteFile):
(angle::NumberOfProcessors):
* util/windows/win32/Win32Window.cpp:
(Win32Window::initialize):
* util/windows/win32/test_utils_win32.cpp:
(angle::StabilizeCPUForBenchmarking):
* util/x11/X11Window.h:
2019-12-02 Ross Kirsling <ross.kirsling@sony.com>
Unreviewed WinCairo build fix following r252989.
* include/CMakeLists.txt:
2019-12-02 Dean Jackson <dino@apple.com>
Clean up ANGLE header post-process script
https://bugs.webkit.org/show_bug.cgi?id=204711
Reviewed by Tim Horton.
Since `sed` on macOS requires the in-place argument to have a zero-length string
to avoid making backups, this script was attempting to pass ''. However, this was
being evaluated, creating a bunch of files with \'\' suffixes. Fix this by using
an array when expanding the arguments.
Also fix a typo where the character "3" was being printed.
Lastly, only print out the basename of the header file being converted.
* adjust-angle-include-paths.sh:
2019-11-30 Dean Jackson <dino@apple.com>
Build ANGLE as a dynamic library
https://bugs.webkit.org/show_bug.cgi?id=204708
rdar://57349384
Reviewed by Tim Horton.
Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
this will reduce the in-flight binary size on Apple's build systems by at least
a factor of 10 (it was over 1G). Building release for x86_64-only:
- Previously: libANGLE.a -- 306 MB
- Now: libANGLE.dylib -- 6.7 MB
In order to do this, some symbols needed to be exported from the
"sh" namespace (which are used in ANGLEWebKitBridge, but not when
ANGLE's rendering backend is active).
While here, I turned on some more build options, like ARC.
* ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
product a dylib product.
* Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig: Added.
* Configurations/WebKitTargetConditionals.xcconfig: Added.
* include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
sure they will be visible in the exported library.
* include/GLSLANG/ShaderVars.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
C cast so it can be annotated with __bridge.
(rx::DisplayCGL::isValidNativeWindow const):
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
(rx::WindowSurfaceCGL::WindowSurfaceCGL):
(rx::WindowSurfaceCGL::~WindowSurfaceCGL):
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
2019-12-02 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=204595
Reviewed by Alex Christensen.
* ANGLE.plist: Updated commit hash.
* ANGLE.xcodeproj/project.pbxproj: Changes mirroring gn changes upstream.
* Compiler.cmake: Changes mirroring gn changes upstream.
* GLESv2.cmake: Changes mirroring gn changes upstream.
* CMakeLists.txt: Changes mirroring gn changes upstream.
* Many other files added/removed/changed from upstream.
2019-11-20 ChangSeok Oh <changseok@webkit.org>
[GTK] Add ANGLE backend to GTK port
https://bugs.webkit.org/show_bug.cgi?id=199060
Reviewed by Žan Doberšek.
* CMakeLists.txt: When USE_ANGLE_WEBGL is enabled, necessary glesv2 entry points headers
are installed in the derived source directory. And then adjust-angle-include-path.sh is applied
to change include paths in the entry points header files.
* GLESv2.cmake: libglesv2_entry_points_headers is newly defined, which is a gathering of
entry point headers of libGLESv2.
* PlatformGTK.cmake: In this file, we append gl and glx related angle code as a build target.
Since we want gl context and gles context simultaneously, we remove gl prototype calls
from the generated libGLESv2 library. Instead, we invoke egl and gl calls of ANGLE
via their non-prototype function names.
* adjust-angle-include-paths.sh: sed is slightly different in unix and linux systems.
In particular, its inplace option needs to be changed for better compatibility on linux.
* include/CMakeLists.txt: ANGLE_WEBGL_HEADERS is newly defined. It gathers header files of ANGLE
for WebGL support.
2019-11-08 Dean Jackson <dino@apple.com>
Add ANGLE backend for iOS device
https://bugs.webkit.org/show_bug.cgi?id=202159
<rdar://57000166>
Build fix. Don't include IOSurface.h on iOS (public SDK doesn't have it).
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
2019-11-07 Dean Jackson <dino@apple.com>
Add ANGLE backend for iOS device
https://bugs.webkit.org/show_bug.cgi?id=202159
<rdar://57000166>
Reviewed by Myles Maxfield.
Add an OpenGLES backend over EAGL for iOS to ANGLE.
This is basically a copy of all the files in
libANGLE/renderer/gl/cgl into libANGLE/renderer/gl/eagl, then with
modifications to make it work on iOS's OpenGL ES. Most notably,
some format enums and the manner in which you bind an IOSurface to
a GL texture are different.
This introduces a few places where we have to do a compile time
switch for iOS, some of which might actually be applicable to
other OpenGL ES backends.
The biggest missing piece is support for the iOS simulator. At the moment
this backend relies on an IOSurface binding as a rendering target.
But the iOS Simulator does not have the required ability to have a
GL ES texture backed by an IOSurface.
The WindowSurfaceEAGL code is incomplete, but was not necessary
in order to get WebGL operational. And even if you are using ANGLE
directly, you can have the client code render into a CALayer without
going through the WindowSurface.
* ANGLE.xcodeproj/project.pbxproj:
* include/EGL/eglext_angle.h:
* src/common/PackedEnums.cpp:
(egl_gl::EGLTextureTargetToTextureType):
* src/common/platform.h:
* src/gpu_info_util/SystemInfo_ios.cpp: Added.
(angle::GetSystemInfo):
* src/gpu_info_util/SystemInfo_macos.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.cpp.
(angle::GetSystemInfo):
* src/libANGLE/Caps.h:
* src/libANGLE/Display.cpp:
* src/libANGLE/formatutils.cpp:
(gl::BuildInternalFormatInfoMap):
* src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
(rx::IOSurfaceSurfaceCGL::bindTexImage):
* src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
* src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp: Added.
(rx::ContextEAGL::ContextEAGL):
* src/libANGLE/renderer/gl/eagl/ContextEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Added.
(rx::DeviceEAGL::DeviceEAGL):
(rx::DeviceEAGL::~DeviceEAGL):
(rx::DeviceEAGL::initialize):
(rx::DeviceEAGL::getAttribute):
(rx::DeviceEAGL::getType):
(rx::DeviceEAGL::generateExtensions const):
* src/libANGLE/renderer/gl/eagl/DeviceEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Added.
(rx::FunctionsGLEAGL::FunctionsGLEAGL):
(rx::DisplayEAGL::DisplayEAGL):
(rx::DisplayEAGL::~DisplayEAGL):
(rx::DisplayEAGL::initialize):
(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::createWindowSurface):
(rx::DisplayEAGL::createPbufferSurface):
(rx::DisplayEAGL::createPbufferFromClientBuffer):
(rx::DisplayEAGL::createPixmapSurface):
(rx::DisplayEAGL::createContext):
(rx::DisplayEAGL::createDevice):
(rx::DisplayEAGL::generateConfigs):
(rx::DisplayEAGL::testDeviceLost):
(rx::DisplayEAGL::restoreLostDevice):
(rx::DisplayEAGL::isValidNativeWindow const):
(rx::DisplayEAGL::validateClientBuffer const):
(rx::DisplayEAGL::getVendorString const):
(rx::DisplayEAGL::getEAGLContext const):
(rx::DisplayEAGL::getEAGLPixelFormat const):
(rx::DisplayEAGL::generateExtensions const):
(rx::DisplayEAGL::generateCaps const):
(rx::DisplayEAGL::waitClient):
(rx::DisplayEAGL::waitNative):
(rx::DisplayEAGL::getMaxSupportedESVersion const):
(rx::DisplayEAGL::makeCurrentSurfaceless):
(rx::WorkerContextEAGL::WorkerContextEAGL):
(rx::WorkerContextEAGL::~WorkerContextEAGL):
(rx::WorkerContextEAGL::makeCurrent):
(rx::WorkerContextEAGL::unmakeCurrent):
(rx::DisplayEAGL::createWorkerContext):
(rx::DisplayEAGL::initializeFrontendFeatures const):
(rx::DisplayEAGL::populateFeatureList):
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp.
(rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
(rx::IOSurfaceSurfaceEAGL::~IOSurfaceSurfaceEAGL):
(rx::IOSurfaceSurfaceEAGL::initialize):
(rx::IOSurfaceSurfaceEAGL::makeCurrent):
(rx::IOSurfaceSurfaceEAGL::unMakeCurrent):
(rx::IOSurfaceSurfaceEAGL::swap):
(rx::IOSurfaceSurfaceEAGL::postSubBuffer):
(rx::IOSurfaceSurfaceEAGL::querySurfacePointerANGLE):
(rx::IOSurfaceSurfaceEAGL::bindTexImage):
(rx::IOSurfaceSurfaceEAGL::releaseTexImage):
(rx::IOSurfaceSurfaceEAGL::setSwapInterval):
(rx::IOSurfaceSurfaceEAGL::getWidth const):
(rx::IOSurfaceSurfaceEAGL::getHeight const):
(rx::IOSurfaceSurfaceEAGL::isPostSubBufferSupported const):
(rx::IOSurfaceSurfaceEAGL::getSwapBehavior const):
(rx::IOSurfaceSurfaceEAGL::validateAttributes):
(rx::IOSurfaceFramebuffer::IOSurfaceFramebuffer):
(rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
(rx::IOSurfaceSurfaceEAGL::initializeAlphaChannel):
(rx::IOSurfaceSurfaceEAGL::hasEmulatedAlphaChannel const):
* src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp.
(rx::PbufferSurfaceEAGL::PbufferSurfaceEAGL):
(rx::PbufferSurfaceEAGL::~PbufferSurfaceEAGL):
(rx::PbufferSurfaceEAGL::initialize):
(rx::PbufferSurfaceEAGL::makeCurrent):
(rx::PbufferSurfaceEAGL::swap):
(rx::PbufferSurfaceEAGL::postSubBuffer):
(rx::PbufferSurfaceEAGL::querySurfacePointerANGLE):
(rx::PbufferSurfaceEAGL::bindTexImage):
(rx::PbufferSurfaceEAGL::releaseTexImage):
(rx::PbufferSurfaceEAGL::setSwapInterval):
(rx::PbufferSurfaceEAGL::getWidth const):
(rx::PbufferSurfaceEAGL::getHeight const):
(rx::PbufferSurfaceEAGL::isPostSubBufferSupported const):
(rx::PbufferSurfaceEAGL::getSwapBehavior const):
(rx::PbufferSurfaceEAGL::createDefaultFramebuffer):
* src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp: Added.
(rx::RendererEAGL::RendererEAGL):
(rx::RendererEAGL::~RendererEAGL):
(rx::RendererEAGL::createWorkerContext):
* src/libANGLE/renderer/gl/eagl/RendererEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Added.
* src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm.
(-[WebSwapLayer initWithSharedState:withContext:withFunctions:]):
(-[WebSwapLayer display]):
(rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
(rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
(rx::WindowSurfaceEAGL::initialize):
(rx::WindowSurfaceEAGL::makeCurrent):
(rx::WindowSurfaceEAGL::swap):
(rx::WindowSurfaceEAGL::postSubBuffer):
(rx::WindowSurfaceEAGL::querySurfacePointerANGLE):
(rx::WindowSurfaceEAGL::bindTexImage):
(rx::WindowSurfaceEAGL::releaseTexImage):
(rx::WindowSurfaceEAGL::setSwapInterval):
(rx::WindowSurfaceEAGL::getWidth const):
(rx::WindowSurfaceEAGL::getHeight const):
(rx::WindowSurfaceEAGL::isPostSubBufferSupported const):
(rx::WindowSurfaceEAGL::getSwapBehavior const):
(rx::WindowSurfaceEAGL::createDefaultFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateCaps):
* src/libANGLE/validationES2.cpp:
(gl::ValidateFramebufferTexture2D):
* src/libGLESv2/entry_points_egl_ext.cpp:
2019-11-06 Dean Jackson <dino@apple.com>
[ANGLE] IOSurfaceSurfaceCGL has format and internalFormat flipped
https://bugs.webkit.org/show_bug.cgi?id=203911
<rdar://problem/56954291>
Reviewed by Simon Fraser.
Fix a typo where internalFormat and format are used in the
wrong order. The table of formats also had them backwards.
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
(rx::IOSurfaceSurfaceCGL::bindTexImage):
2019-10-29 Dean Jackson <dino@apple.com>
[ANGLE] Put Apple platform compilation guards in a better place
https://bugs.webkit.org/show_bug.cgi?id=203590
<rdar://problem/56722345>
Reviewed by Simon Fraser.
Move the #define to platform.h.
* src/common/platform.h:
* src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
2019-10-29 Dean Jackson <dino@apple.com>
[ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
https://bugs.webkit.org/show_bug.cgi?id=203522
<rdar://problem/56685302>
Reviewed by Alex Christensen.
The Web Content Process blocks access to the Window Server. For that reason, we
must create all CGLPixelFormats with the "offline renderer" flag, even if we're
not on a dual-GPU system.
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Always enable kCGLPFAAllowOfflineRenderers.
(rx::DisplayCGL::initialize):
2019-10-23 Dean Jackson <dino@apple.com>
[ANGLE] Improve compile-time macOS guards and avoid ObjC if possible
https://bugs.webkit.org/show_bug.cgi?id=203343
Reviewed by Simon Fraser.
Use the more official compile-time detection of Apple platforms, so that
it will be easier to differentiate between macOS and iOS. Also move some
.mm files to .cpp where possible.
* ANGLE.xcodeproj/project.pbxproj:
* src/gpu_info_util/SystemInfo_mac.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.mm.
(angle::GetSystemInfo):
* src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm.
* src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.mm.
* src/libANGLE/renderer/gl/cgl/RendererCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/RendererCGL.mm.
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
2019-10-23 Dean Jackson <dino@apple.com>
Don't try to compile .inc files in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=203315
Reviewed by Simon Fraser.
These are headers, not files we need to compile directly.
* ANGLE.xcodeproj/project.pbxproj:
2019-10-15 Brent Fulgham <bfulgham@apple.com>
Unreviewed build fix after r251018
* PlatformFTW.cmake: Add missing dxgi library.
2019-10-12 Stephan Szabo <stephan.szabo@sony.com>
Regression (251018): Wincairo build broken: unresolved external symbol
https://bugs.webkit.org/show_bug.cgi?id=202879
Reviewed by Alex Christensen.
* PlatformWin.cmake: Add dxgi library for CreateDXGIFactory1
2019-10-11 Kenneth Russell <kbr@chromium.org>
USE_ANGLE=1 build broken with last ANGLE roll
https://bugs.webkit.org/show_bug.cgi?id=202872
Add FrameCapture_mock.cpp to Xcode and CMake builds.
Reviewed by Alex Christensen.
* ANGLE.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* GLESv2.cmake:
2019-10-11 Kenneth Russell <kbr@chromium.org>
Roll ANGLE for ETC extensions and EGL_ANGLE_device_cgl
https://bugs.webkit.org/show_bug.cgi?id=202780
Roll ANGLE to c5e0ac757a112a24a0118d434e652fd7b558e6a8 via new
update-angle.sh script.
Reviewed by Alex Christensen.
* .gitignore:
* ANGLE.plist:
* ANGLE.xcodeproj/project.pbxproj:
* BUILD.gn:
* CMakeLists.txt:
* CONTRIBUTORS:
* DEPS:
* GLESv2.cmake:
* OWNERS:
* PRESUBMIT.py:
(_CheckExportValidity):
(CheckChangeOnUpload):
(CheckChangeOnCommit):
* README.md:
* android/angle_apk.gni:
* build_overrides/angle.gni:
* changes.diff:
* doc/DevSetup.md:
* dotfile_settings.gni:
* extensions/ANGLE_compressed_texture_etc.txt: Added.
* extensions/EGL_ANGLE_device_cgl.txt: Added.
* extensions/EGL_ANGLE_feature_control.txt:
* extensions/EGL_ANGLE_platform_angle_d3d11on12.txt: Added.
* extensions/EGL_ANGLE_platform_angle_device_type_swiftshader.txt: Added.
* extensions/EGL_ANGLE_platform_angle_metal.txt: Added.
* gni/angle.gni:
* include/EGL/eglext_angle.h:
* include/platform/Feature.h:
(angle::Feature::Feature):
* include/platform/FeaturesD3D.h:
* include/platform/FeaturesGL.h:
* include/platform/FeaturesVk.h:
* include/platform/FrontendFeatures.h:
* samples/WindowTest/WindowTest.cpp:
* samples/gles1/DrawTexture.cpp:
* samples/multi_texture/MultiTexture.cpp:
* samples/multiple_draw_buffers/MultipleDrawBuffers.cpp:
* samples/particle_system/ParticleSystem.cpp:
* samples/sample_util/SampleApplication.cpp:
(SampleApplication::SampleApplication):
* samples/sample_util/SampleApplication.h:
* scripts/code_generation_hashes/ANGLE_format.json:
* scripts/code_generation_hashes/ANGLE_load_functions_table.json:
* scripts/code_generation_hashes/D3D11_format.json:
* scripts/code_generation_hashes/DXGI_format.json:
* scripts/code_generation_hashes/GL_EGL_WGL_loader.json:
* scripts/code_generation_hashes/GL_EGL_entry_points.json:
* scripts/code_generation_hashes/OpenGL_dispatch_table.json:
* scripts/code_generation_hashes/Static_builtins.json:
* scripts/code_generation_hashes/Vulkan_format.json:
* scripts/code_generation_hashes/Vulkan_internal_shader_programs.json:
* scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json:
* scripts/code_generation_hashes/proc_table.json:
* scripts/export_targets.py:
(has_all_includes):
* scripts/generate_entry_points.py:
(get_resource_id_types):
(format_resource_id_types):
(write_capture_helper_header):
(get_resource_id_type_from_param_type):
(format_param_type_to_resource_id_type_case):
(format_param_type_resource_id_cases):
(format_resource_id_type_name_case):
(write_capture_helper_source):
* scripts/generate_vulkan_layers_json.py:
(main):
* scripts/registry_xml.py:
* src/common/PackedEnums.cpp:
(gl::operator<<):
* src/common/PackedEnums.h:
(angle::EnumSize<E>):
(gl::FromGLenum<VertexAttribType>):
(gl::ToGLenum):
(gl::ValueEquals):
(gl::operator==):
(gl::operator!=):
* src/common/android_util.cpp:
(angle::android::NativePixelFormatToGLInternalFormat):
* src/common/angleutils.h:
* src/common/debug.h:
* src/common/platform.h:
* src/common/system_utils_winuwp.cpp: Added.
(angle::SetEnvironmentVar):
(angle::GetEnvironmentVar):
(angle::GetSharedLibraryExtension):
(angle::GetPathSeparator):
(angle::GetCurrentTime):
(angle::UwpLibrary::UwpLibrary):
(angle::OpenSharedLibrary):
(angle::IsDebuggerAttached):
(angle::BreakDebugger):
* src/common/tls.cpp:
(CreateTLSIndex):
(DestroyTLSIndex):
(SetTLSValue):
(GetTLSValue):
* src/common/tls.h:
* src/common/utilities.cpp:
(gl::StripLastArrayIndex):
* src/common/utilities.h:
* src/compiler.gni:
* src/compiler/translator/Compiler.cpp:
(sh::TCompiler::compileTreeImpl):
* src/compiler/translator/ImmutableString_ESSL_autogen.cpp:
* src/compiler/translator/ImmutableString_autogen.cpp:
* src/compiler/translator/IntermNode.h:
(sh::TIntermPreprocessorDirective::getDirective const): Deleted.
(sh::TIntermPreprocessorDirective::getCommand const): Deleted.
* src/compiler/translator/ParseContext.cpp:
(sh::TParseContext::TParseContext):
(sh::TParseContext::checkIsValidArraySize):
(sh::TParseContext::parseFunctionDeclarator):
* src/compiler/translator/ParseContext.h:
(sh::TParseContext::getOutputType const):
* src/compiler/translator/ShaderVars.cpp:
(sh::ShaderVariable::operator=):
* src/compiler/translator/SymbolTable.cpp:
(sh::TSymbolTable::setGlInArraySize):
(sh::TSymbolTable::gl_FragData const):
(sh::TSymbolTable::gl_SecondaryFragDataEXT const):
(sh::SymbolRule::get const):
(sh::FindMangledBuiltIn):
(sh::UnmangledEntry::matches const):
* src/compiler/translator/SymbolTable.h:
(sh::SymbolRule::SymbolRule):
(sh::SymbolRule::Get):
(sh::UnmangledEntry::UnmangledEntry):
(sh::SymbolEntry::SymbolEntry): Deleted.
* src/compiler/translator/SymbolTable_ESSL_autogen.cpp:
(sh::BuiltInVariable::angle_BaseInstance):
(sh::BuiltInVariable::angle_BaseVertex):
(sh::BuiltInVariable::gl_BaseInstance):
(sh::BuiltInVariable::gl_BaseVertex):
(sh::BuiltInVariable::gl_DrawID):
(sh::BuiltInVariable::gl_FragColor):
(sh::BuiltInVariable::gl_FragCoord):
(sh::BuiltInVariable::gl_FragDepth):
(sh::BuiltInVariable::gl_FrontFacing):
(sh::BuiltInVariable::gl_GlobalInvocationID):
(sh::BuiltInVariable::gl_InstanceID):
(sh::BuiltInVariable::gl_InstanceIndex):
(sh::BuiltInVariable::gl_InvocationID):
(sh::BuiltInVariable::gl_LastFragColor):
(sh::BuiltInVariable::gl_LastFragColorARM):
(sh::BuiltInVariable::gl_Layer):
(sh::BuiltInVariable::gl_LayerGS):
(sh::BuiltInVariable::gl_LayerVS):
(sh::BuiltInVariable::gl_LocalInvocationID):
(sh::BuiltInVariable::gl_LocalInvocationIndex):
(sh::BuiltInVariable::gl_NumWorkGroups):
(sh::BuiltInVariable::gl_PointCoord):
(sh::BuiltInVariable::gl_PointSize):
(sh::BuiltInVariable::gl_Position):
(sh::BuiltInVariable::gl_PrimitiveID):
(sh::BuiltInVariable::gl_PrimitiveIDGS):
(sh::BuiltInVariable::gl_PrimitiveIDIn):
(sh::BuiltInVariable::gl_SecondaryFragColorEXT):
(sh::BuiltInVariable::gl_VertexID):
(sh::BuiltInVariable::gl_VertexIndex):
(sh::BuiltInVariable::gl_ViewID_OVR):
(sh::BuiltInVariable::gl_ViewportIndex):
(sh::BuiltInVariable::gl_WorkGroupID):
(sh::BuiltInVariable::gl_WorkGroupSize):
(sh::TSymbolTable::initializeBuiltInVariables):
(sh::TSymbolTable::findBuiltIn const):
(sh::TSymbolTable::isUnmangledBuiltInName const):
(sh::TSymbolTable::getSymbol const): Deleted.
(sh::TSymbolTable::getUnmangled const): Deleted.
(sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
* src/compiler/translator/SymbolTable_autogen.cpp:
(sh::BuiltInVariable::angle_BaseInstance):
(sh::BuiltInVariable::angle_BaseVertex):
(sh::BuiltInVariable::gl_BaseInstance):
(sh::BuiltInVariable::gl_BaseVertex):
(sh::BuiltInVariable::gl_DrawID):
(sh::BuiltInVariable::gl_FragColor):
(sh::BuiltInVariable::gl_FragCoord):
(sh::BuiltInVariable::gl_FragDepth):
(sh::BuiltInVariable::gl_FrontFacing):
(sh::BuiltInVariable::gl_GlobalInvocationID):
(sh::BuiltInVariable::gl_InstanceID):
(sh::BuiltInVariable::gl_InstanceIndex):
(sh::BuiltInVariable::gl_InvocationID):
(sh::BuiltInVariable::gl_LastFragColor):
(sh::BuiltInVariable::gl_LastFragColorARM):
(sh::BuiltInVariable::gl_Layer):
(sh::BuiltInVariable::gl_LayerGS):
(sh::BuiltInVariable::gl_LayerVS):
(sh::BuiltInVariable::gl_LocalInvocationID):
(sh::BuiltInVariable::gl_LocalInvocationIndex):
(sh::BuiltInVariable::gl_NumWorkGroups):
(sh::BuiltInVariable::gl_PointCoord):
(sh::BuiltInVariable::gl_PointSize):
(sh::BuiltInVariable::gl_Position):
(sh::BuiltInVariable::gl_PrimitiveID):
(sh::BuiltInVariable::gl_PrimitiveIDGS):
(sh::BuiltInVariable::gl_PrimitiveIDIn):
(sh::BuiltInVariable::gl_SecondaryFragColorEXT):
(sh::BuiltInVariable::gl_VertexID):
(sh::BuiltInVariable::gl_VertexIndex):
(sh::BuiltInVariable::gl_ViewID_OVR):
(sh::BuiltInVariable::gl_ViewportIndex):
(sh::BuiltInVariable::gl_WorkGroupID):
(sh::BuiltInVariable::gl_WorkGroupSize):
(sh::TSymbolTable::initializeBuiltInVariables):
(sh::TSymbolTable::findBuiltIn const):
(sh::TSymbolTable::isUnmangledBuiltInName const):
(sh::TSymbolTable::getSymbol const): Deleted.
(sh::TSymbolTable::getUnmangled const): Deleted.
(sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
* src/compiler/translator/SymbolTable_autogen.h:
* src/compiler/translator/TranslatorVulkan.cpp:
(sh::TranslatorVulkan::translate):
* src/compiler/translator/gen_builtin_symbols.py:
(get_shader_version_for_level):
(GroupedList.__init__):
(GroupedList.add_entry):
(GroupedList.format_rule):
(GroupedList):
(GroupedList.format_rules):
(GroupedList.get_rules):
(GroupedList.get_names):
(GroupedList.get_offsets):
(GroupedList.update_arrays):
(GroupedList.update_arrays.add_rule):
(UnmangledGroupedList.add_entry):
(UnmangledGroupedList.get_array):
(define_constexpr_variable):
(process_single_function_group):
(process_function_group):
(process_single_variable_group):
(GroupedList.add_obj): Deleted.
(GroupedList.get_array): Deleted.
(UnmangledGroupedList.add_obj): Deleted.
* src/feature_support_util/feature_support_util.cpp:
* src/gpu_info_util/SystemInfo_win.cpp:
(angle::GetSystemInfo):
* src/image_util/loadimage.cpp:
(angle::LoadD24S8ToD32F):
(angle::LoadD32ToD32FX32):
(angle::LoadD32ToD32F):
* src/image_util/loadimage.h:
* src/libANGLE/Buffer.cpp:
(gl::Buffer::Buffer):
* src/libANGLE/Buffer.h:
* src/libANGLE/Caps.cpp:
(gl::DetermineHalfFloatTextureFilteringSupport):
(gl::DetermineFloatTextureFilteringSupport):
(gl::Extensions::setTextureExtensionSupport):
(gl::GetExtensionInfoMap):
(egl::DisplayExtensions::getStrings const):
(egl::DeviceExtensions::getStrings const):
(egl::ClientExtensions::getStrings const):
* src/libANGLE/Caps.h:
* src/libANGLE/Constants.h:
* src/libANGLE/Context.cpp:
(gl::Context::Context):
(gl::Context::initialize):
(gl::Context::onDestroy):
(gl::Context::bindImageTexture):
(gl::Context::getQueryiv):
(gl::Context::detachTexture):
(gl::Context::generateSupportedExtensions const):
(gl::Context::initCaps):
(gl::Context::onSubjectStateChange):
(gl::StateCache::updateActiveAttribsMask):
(gl::StateCache::updateVertexAttribTypesValidation):
* src/libANGLE/Context.h:
* src/libANGLE/Device.cpp:
(egl::Device::getAttribute):
(egl::Device::getDevice): Deleted.
* src/libANGLE/Device.h:
* src/libANGLE/Display.cpp:
(egl::Display::createContext):
(egl::GenerateClientExtensions):
(egl::Display::isValidNativeDisplay):
(egl::Display::initializeFrontendFeatures):
(egl::Display::queryStringi):
* src/libANGLE/ErrorStrings.h:
* src/libANGLE/Fence.h:
* src/libANGLE/FrameCapture.cpp:
(angle::ParamCapture::ParamCapture):
(angle::ParamCapture::operator=):
(angle::ParamBuffer::ParamBuffer):
(angle::ParamBuffer::operator=):
(angle::ParamBuffer::getParam):
(angle::ParamBuffer::getParam const):
(angle::ParamBuffer::addParam):
(angle::ParamBuffer::addReturnValue):
(angle::ParamBuffer::getClientArrayPointerParameter):
(angle::CallCapture::CallCapture):
(angle::CallCapture::operator=):
(angle::CallCapture::name const):
(angle::ReplayContext::ReplayContext):
(angle::ReplayContext::~ReplayContext):
(angle::FrameCapture::FrameCapture):
(angle::FrameCapture::maybeCaptureClientData):
(angle::FrameCapture::captureCall):
(angle::FrameCapture::captureUpdateResourceIDs):
(angle::FrameCapture::maybeUpdateResourceIDs):
(angle::FrameCapture::captureClientArraySnapshot):
(angle::FrameCapture::onEndFrame):
(angle::DataCounters::getAndIncrement):
(angle::FrameCapture::reset):
(angle::CaptureGenHandlesImpl):
(angle::WriteParamValueToStream<ParamType::TBufferID>):
(angle::WriteParamValueToStream<ParamType::TFenceNVID>):
(angle::WriteParamValueToStream<ParamType::TFramebufferID>):
(angle::WriteParamValueToStream<ParamType::TMemoryObjectID>):
(angle::WriteParamValueToStream<ParamType::TPathID>):
(angle::WriteParamValueToStream<ParamType::TProgramPipelineID>):
(angle::WriteParamValueToStream<ParamType::TQueryID>):
(angle::WriteParamValueToStream<ParamType::TRenderbufferID>):
(angle::WriteParamValueToStream<ParamType::TSamplerID>):
(angle::WriteParamValueToStream<ParamType::TSemaphoreID>):
(angle::WriteParamValueToStream<ParamType::TShaderProgramID>):
(angle::WriteParamValueToStream<ParamType::TTextureID>):
(angle::WriteParamValueToStream<ParamType::TTransformFeedbackID>):
(angle::WriteParamValueToStream<ParamType::TVertexArrayID>):
(angle::CallCapture::~CallCapture): Deleted.
(angle::ParamBuffer::~ParamBuffer): Deleted.
(angle::ParamCapture::~ParamCapture): Deleted.
(angle::FrameCapture::~FrameCapture): Deleted.
(angle::FrameCapture::anyClientArray const): Deleted.
(angle::FrameCapture::saveCapturedFrameAsCpp): Deleted.
(angle::FrameCapture::getAndIncrementCounter): Deleted.
(angle::FrameCapture::writeStringPointerParamReplay): Deleted.
(angle::FrameCapture::writeRenderbufferIDPointerParamReplay): Deleted.
(angle::FrameCapture::writeBinaryParamReplay): Deleted.
(angle::FrameCapture::writeCallReplay): Deleted.
* src/libANGLE/FrameCapture.h:
(angle::CaptureGenHandles):
* src/libANGLE/FrameCapture_mock.cpp: Added.
(angle::CallCapture::~CallCapture):
(angle::ParamBuffer::~ParamBuffer):
(angle::ParamCapture::~ParamCapture):
(angle::FrameCapture::FrameCapture):
(angle::FrameCapture::~FrameCapture):
(angle::FrameCapture::onEndFrame):
(angle::FrameCapture::replay):
* src/libANGLE/Framebuffer.cpp:
(gl::Framebuffer::formsRenderingFeedbackLoopWith const):
(gl::Framebuffer::formsCopyingFeedbackLoopWith const):
* src/libANGLE/Framebuffer.h:
* src/libANGLE/FramebufferAttachment.cpp:
(gl::FramebufferAttachment::getRedSize const):
(gl::FramebufferAttachment::getGreenSize const):
(gl::FramebufferAttachment::getBlueSize const):
(gl::FramebufferAttachment::getAlphaSize const):
(gl::FramebufferAttachment::getDepthSize const):
(gl::FramebufferAttachment::getStencilSize const):
* src/libANGLE/FramebufferAttachment.h:
* src/libANGLE/GLES1State.cpp:
(gl::GLES1State::getActiveAttributesMask const):
* src/libANGLE/GLES1State.h:
* src/libANGLE/ImageIndex.cpp:
* src/libANGLE/ImageIndex.h:
* src/libANGLE/MemoryObject.cpp:
(gl::MemoryObject::MemoryObject):
* src/libANGLE/MemoryObject.h:
* src/libANGLE/MemoryProgramCache.cpp:
* src/libANGLE/Program.cpp:
(gl::ProgramBindings::bindLocation):
(gl::ProgramBindings::getBindingByName const):
(gl::ProgramBindings::getBinding const):
(gl::ProgramBindings::begin const):
(gl::ProgramBindings::end const):
(gl::ProgramAliasedBindings::ProgramAliasedBindings):
(gl::ProgramAliasedBindings::~ProgramAliasedBindings):
(gl::ProgramAliasedBindings::bindLocation):
(gl::ProgramAliasedBindings::getBindingByName const):
(gl::ProgramAliasedBindings::getBinding const):
(gl::ProgramAliasedBindings::begin const):
(gl::ProgramAliasedBindings::end const):
(gl::ProgramState::getAttributeLocation const):
(gl::ProgramState::getFirstAttachedShaderStageType const):
(gl::ProgramState::getLastAttachedShaderStageType const):
(gl::Program::getFragmentInputBindingInfo const):
(gl::Program::link):
(gl::ProgramState::updateProgramInterfaceInputs):
(gl::ProgramState::updateProgramInterfaceOutputs):
(gl::Program::unlink):
(gl::Program::getActiveAttribute const):
(gl::Program::getActiveAttributeCount const):
(gl::Program::getActiveAttributeMaxLength const):
(gl::Program::getAttributes const):
(gl::Program::getInputResource const):
(gl::Program::getInputResourceIndex const):
(gl::Program::getResourceMaxNameSize const):
(gl::Program::getInputResourceMaxNameSize const):
(gl::Program::getOutputResourceMaxNameSize const):
(gl::Program::getResourceLocation const):
(gl::Program::getInputResourceLocation const):
(gl::Program::getOutputResourceLocation const):
(gl::Program::getOutputResourceIndex const):
(gl::Program::getResourceName const):
(gl::Program::getInputResourceName const):
(gl::Program::getOutputResourceName const):
(gl::Program::getUniformResourceName const):
(gl::Program::getBufferVariableResourceName const):
(gl::Program::getOutputResource const):
(gl::Program::getUniformLocationBindings const):
(gl::Program::linkUniforms):
(gl::Program::linkAttributes):
(gl::Program::linkValidateGlobalNames const):
(gl::Program::getMergedVaryings const):
(gl::Program::linkOutputVariables):
(gl::Program::serialize const):
(gl::Program::deserialize):
* src/libANGLE/Program.h:
(gl::ProgramVaryingRef::get const):
* src/libANGLE/ProgramLinkedResources.cpp:
(gl::UniformLinker::link):
(gl::UniformLinker::indexUniforms):
(gl::UniformLinker::gatherUniformLocationsAndCheckConflicts):
* src/libANGLE/ProgramLinkedResources.h:
* src/libANGLE/ProgramPipeline.cpp:
(gl::ProgramPipeline::ProgramPipeline):
* src/libANGLE/ProgramPipeline.h:
* src/libANGLE/Query.cpp:
(gl::Query::Query):
* src/libANGLE/Query.h:
* src/libANGLE/RefCountObject.h:
(gl::RefCountObject::RefCountObject):
(gl::RefCountObject::id const):
(gl::BindingPointer::id const):
* src/libANGLE/Renderbuffer.cpp:
(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::getId const):
* src/libANGLE/Renderbuffer.h:
* src/libANGLE/Sampler.cpp:
(gl::Sampler::Sampler):
* src/libANGLE/Sampler.h:
* src/libANGLE/Semaphore.cpp:
(gl::Semaphore::Semaphore):
* src/libANGLE/Semaphore.h:
* src/libANGLE/Shader.cpp:
(gl::Shader::resolveCompile):
(gl::Shader::getTransformFeedbackVaryingMappedName):
* src/libANGLE/State.cpp:
(gl::State::getSamplerTextureId const):
(gl::State::detachTexture):
(gl::State::detachSampler):
(gl::State::detachRenderbuffer):
(gl::State::removeTransformFeedbackBinding):
(gl::State::getActiveQueryId const):
(gl::State::detachBuffer):
(gl::State::getIntegerv):
(gl::State::getIntegeri_v):
(gl::State::syncImages):
(gl::State::onImageStateChange):
* src/libANGLE/State.h:
(gl::State::getSamplerId const):
(gl::State::getRenderbufferId const):
* src/libANGLE/Texture.cpp:
(gl::Texture::Texture):
(gl::Texture::setStorage):
(gl::Texture::getId const):
* src/libANGLE/Texture.h:
* src/libANGLE/TransformFeedback.cpp:
(gl::TransformFeedback::TransformFeedback):
(gl::TransformFeedback::detachBuffer):
* src/libANGLE/TransformFeedback.h:
* src/libANGLE/VaryingPacking.cpp:
(gl::VaryingPacking::collectAndPackUserVaryings):
(gl::VaryingPacking::packUserVaryings):
* src/libANGLE/VertexArray.cpp:
(gl::VertexArray::detachBuffer):
(gl::VertexArray::bindVertexBufferImpl):
* src/libANGLE/VertexArray.h:
* src/libANGLE/capture_gles_2_0_params.cpp:
(gl::CaptureDeleteBuffers_buffersPacked):
(gl::CaptureDeleteFramebuffers_framebuffersPacked):
(gl::CaptureDeleteTextures_texturesPacked):
(gl::CaptureGenBuffers_buffersPacked):
(gl::CaptureGenFramebuffers_framebuffersPacked):
(gl::CaptureGenRenderbuffers_renderbuffersPacked):
(gl::CaptureGenTextures_texturesPacked):
(gl::CaptureShaderSource_string):
* src/libANGLE/capture_gles_3_0_params.cpp:
(gl::CaptureDeleteQueries_idsPacked):
(gl::CaptureDeleteSamplers_samplersPacked):
(gl::CaptureDeleteTransformFeedbacks_idsPacked):
(gl::CaptureDeleteVertexArrays_arraysPacked):
(gl::CaptureGenQueries_idsPacked):
(gl::CaptureGenSamplers_samplersPacked):
(gl::CaptureGenTransformFeedbacks_idsPacked):
(gl::CaptureGenVertexArrays_arraysPacked):
* src/libANGLE/capture_gles_3_1_params.cpp:
(gl::CaptureDeleteProgramPipelines_pipelinesPacked):
(gl::CaptureGenProgramPipelines_pipelinesPacked):
* src/libANGLE/capture_gles_ext_params.cpp:
(gl::CaptureDeleteQueriesEXT_idsPacked):
(gl::CaptureGenQueriesEXT_idsPacked):
* src/libANGLE/features.h:
* src/libANGLE/formatutils.cpp:
(gl::UnsizedHalfFloatOESRGBATextureAttachmentSupport):
(gl::BuildInternalFormatInfoMap):
(gl::InternalFormat::computeDepthPitch const):
(gl::GetVertexFormatID):
(gl::GetVertexFormatFromID):
(gl::GetVertexFormatSize):
* src/libANGLE/frame_capture_utils_autogen.cpp:
(angle::GetResourceIDTypeFromParamType):
(angle::GetResourceIDTypeName):
* src/libANGLE/frame_capture_utils_autogen.h:
* src/libANGLE/queryutils.cpp:
(gl::GetBufferVariableResourceProperty):
(gl::QueryProgramResourceLocation):
(gl::QueryProgramResourceiv):
(egl::QueryContextAttrib):
* src/libANGLE/renderer/DeviceImpl.h:
* src/libANGLE/renderer/Format.h:
(angle::Format::isVertexTypeHalfFloat const):
* src/libANGLE/renderer/FormatID_autogen.h:
* src/libANGLE/renderer/Format_table_autogen.cpp:
(angle::Format::InternalFormatToID):
* src/libANGLE/renderer/angle_format.py:
(gl_format_channels):
(get_vertex_copy_function):
* src/libANGLE/renderer/angle_format_map.json:
* src/libANGLE/renderer/copyvertex.h:
* src/libANGLE/renderer/copyvertex.inc.h:
(rx::CopyTo32FVertexData):
(rx::CopyXYZ10ToXYZW32FVertexData):
(rx::CopyW2XYZ10ToXYZW32FVertexData):
* src/libANGLE/renderer/d3d/DeviceD3D.cpp:
(rx::DeviceD3D::getAttribute):
(rx::DeviceD3D::getDevice): Deleted.
* src/libANGLE/renderer/d3d/DeviceD3D.h:
* src/libANGLE/renderer/d3d/HLSLCompiler.cpp:
(rx::HLSLCompiler::ensureInitialized):
(rx::HLSLCompiler::compileToBinary):
* src/libANGLE/renderer/d3d/ProgramD3D.cpp:
(rx::ProgramD3D::getVertexExecutableForCachedInputLayout):
* src/libANGLE/renderer/d3d/RendererD3D.cpp:
(rx::DefaultGLErrorCode):
* src/libANGLE/renderer/d3d/ShaderD3D.cpp:
(rx::ShaderD3D::compile):
* src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp:
(rx::Buffer11::getConstantBufferRange):
(rx::Buffer11::NativeStorage::FillBufferDesc):
* src/libANGLE/renderer/d3d/d3d11/Context11.cpp:
(rx::Context11::drawArrays):
(rx::Context11::drawArraysInstanced):
(rx::Context11::drawArraysInstancedBaseInstance):
(rx::Context11::drawArraysIndirect):
* src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp:
(rx::DebugAnnotator11::initialize):
* src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp:
(rx::Renderer11::Renderer11):
(rx::Renderer11::initialize):
(rx::Renderer11::callD3D11On12CreateDevice):
(rx::Renderer11::initializeD3DDevice):
(rx::Renderer11::generateDisplayExtensions const):
(rx::Renderer11::isValidNativeWindow const):
(rx::Renderer11::createNativeWindow const):
(rx::Renderer11::drawArrays):
(rx::Renderer11::release):
(rx::Renderer11::getShareHandleSupport const):
(rx::Renderer11::copyImageInternal):
* src/libANGLE/renderer/d3d/d3d11/Renderer11.h:
* src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp:
(rx::TextureStorage11::getSRVForImage):
(rx::TextureStorage11::getUAVForImage):
* src/libANGLE/renderer/d3d/d3d11/Trim11.cpp:
(rx::Trim11::trim):
(rx::Trim11::registerForRendererTrimRequest):
(rx::Trim11::unregisterForRendererTrimRequest):
* src/libANGLE/renderer/d3d/d3d11/Trim11.h:
* src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp:
(rx::RoHelper::SupportedWindowsRelease):
* src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp:
(rx::d3d11_gl::GenerateCaps):
(rx::d3d11::InitializeFeatures):
* src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h:
* src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp:
(rx::NativeWindow11WinRT::createSwapChain):
* src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h:
* src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h:
* src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp:
(rx::d3d9::InitializeFeatures):
* src/libANGLE/renderer/gen_angle_format_table.py:
(ceil_int):
(get_channel_struct):
(get_mip_generation_function):
* src/libANGLE/renderer/gl/BlitGL.cpp:
(rx::BlitGL::copyImageToLUMAWorkaroundTexture):
(rx::BlitGL::copySubImageToLUMAWorkaroundTexture):
(rx::BlitGL::blitColorBufferWithShader):
(rx::BlitGL::copySubTexture):
(rx::BlitGL::copySubTextureCPUReadback):
(rx::BlitGL::copyTexSubImage):
(rx::BlitGL::clearRenderableTexture):
(rx::BlitGL::clearRenderbuffer):
(rx::BlitGL::clearFramebuffer):
(rx::BlitGL::clearRenderableTextureAlphaToOne):
(rx::BlitGL::initializeResources):
(rx::BlitGL::orphanScratchTextures):
(rx::BlitGL::setScratchTextureParameter):
(rx::BlitGL::getBlitProgram):
(rx::BlitGL::getBlitProgramType): Deleted.
* src/libANGLE/renderer/gl/BlitGL.h:
* src/libANGLE/renderer/gl/ContextGL.cpp:
(rx::ContextGL::createRenderbuffer):
(rx::ContextGL::setDrawArraysState):
(rx::ContextGL::setDrawElementsState):
(rx::ContextGL::drawArrays):
(rx::ContextGL::updateAttributesForBaseInstance):
(rx::ContextGL::resetUpdatedAttributes):
(rx::ContextGL::drawArraysInstancedBaseInstance):
(rx::ContextGL::drawElements):
(rx::ContextGL::drawElementsInstancedBaseVertexBaseInstance):
(rx::ContextGL::validateState const):
* src/libANGLE/renderer/gl/ContextGL.h:
* src/libANGLE/renderer/gl/ProgramGL.cpp:
(rx::ProgramGL::link):
* src/libANGLE/renderer/gl/RenderbufferGL.cpp:
(rx::RenderbufferGL::RenderbufferGL):
(rx::RenderbufferGL::~RenderbufferGL):
(rx::RenderbufferGL::onDestroy):
(rx::RenderbufferGL::setStorage):
(rx::RenderbufferGL::setStorageMultisample):
(rx::RenderbufferGL::initializeContents):
* src/libANGLE/renderer/gl/RenderbufferGL.h:
* src/libANGLE/renderer/gl/ShaderGL.cpp:
(rx::ShaderGL::compile):
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindBufferBase):
(rx::StateManagerGL::bindBufferRange):
(rx::StateManagerGL::validateState const):
* src/libANGLE/renderer/gl/StateManagerGL.h:
* src/libANGLE/renderer/gl/SurfaceGL.cpp:
(rx::SurfaceGL::initializeContents):
* src/libANGLE/renderer/gl/TextureGL.cpp:
(rx::TextureGL::setImageHelper):
(rx::TextureGL::setSubImage):
(rx::TextureGL::setCompressedImage):
(rx::TextureGL::setCompressedSubImage):
(rx::TextureGL::copyImage):
(rx::TextureGL::copySubTextureHelper):
(rx::TextureGL::setStorage):
(rx::TextureGL::setImageExternal):
(rx::TextureGL::setStorageMultisample):
(rx::TextureGL::setStorageExternalMemory):
(rx::TextureGL::setEGLImageTarget):
(rx::TextureGL::setLevelInfo):
(rx::TextureGL::initializeContents):
* src/libANGLE/renderer/gl/VertexArrayGL.cpp:
(rx::VertexArrayGL::streamAttributes const):
(rx::VertexArrayGL::validateState const):
* src/libANGLE/renderer/gl/VertexArrayGL.h:
* src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp: Added.
(rx::DeviceCGL::DeviceCGL):
(rx::DeviceCGL::~DeviceCGL):
(rx::DeviceCGL::initialize):
(rx::DeviceCGL::getAttribute):
(rx::DeviceCGL::getType):
(rx::DeviceCGL::generateExtensions const):
* src/libANGLE/renderer/gl/cgl/DeviceCGL.h: Added.
* src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
(rx::DisplayCGL::createDevice):
(rx::DisplayCGL::getCGLPixelFormat const):
(rx::DisplayCGL::generateExtensions const):
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
(rx::IOSurfaceSurfaceCGL::initializeAlphaChannel):
* src/libANGLE/renderer/gl/egl/DisplayEGL.cpp:
(rx::DisplayEGL::generateExtensions const):
* src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:
(rx::DisplayGLX::makeCurrent):
* src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp:
(rx::WindowSurfaceGLX::initialize):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateCaps):
(rx::nativegl_gl::InitializeFeatures):
(rx::nativegl_gl::InitializeFrontendFeatures):
(rx::nativegl::SupportsCompute):
(rx::nativegl::GetBufferBindingQuery):
(rx::nativegl::GetBufferBindingString):
* src/libANGLE/renderer/gl/renderergl_utils.h:
* src/libANGLE/renderer/load_functions_data.json:
* src/libANGLE/renderer/load_functions_table_autogen.cpp:
(angle::GetLoadFunctionsMap):
* src/libANGLE/renderer/null/DeviceNULL.cpp:
(rx::DeviceNULL::getAttribute):
(rx::DeviceNULL::getDevice): Deleted.
* src/libANGLE/renderer/null/DeviceNULL.h:
* src/libANGLE/renderer/renderer_utils.cpp:
(rx::ShouldUseDebugLayers):
* src/libANGLE/renderer/vulkan/BufferVk.cpp:
(rx::BufferVk::release):
(rx::BufferVk::mapRangeImpl):
(rx::BufferVk::setDataImpl):
* src/libANGLE/renderer/vulkan/CommandGraph.cpp:
(rx::vk::CommandGraphResource::CommandGraphResource):
(rx::vk::CommandGraphResource::~CommandGraphResource):
(rx::vk::CommandGraphResource::isResourceInUse const):
(rx::vk::CommandGraphResource::recordCommands):
(rx::vk::CommandGraphResource::addWriteDependency):
(rx::vk::CommandGraphResource::addReadDependency):
(rx::vk::CommandGraphResource::startNewCommands):
(rx::vk::CommandGraphResource::onWriteImpl):
(rx::vk::SharedGarbage::SharedGarbage):
(rx::vk::SharedGarbage::operator=):
(rx::vk::SharedGarbage::destroyIfComplete):
(rx::vk::CommandGraph::~CommandGraph):
(rx::vk::CommandGraph::submitCommands):
(rx::vk::CommandGraph::releaseResourceUses):
(rx::vk::CommandGraph::releaseResourceUsesAndUpdateSerials):
(rx::vk::CommandGraphResource::resetQueueSerial): Deleted.
* src/libANGLE/renderer/vulkan/CommandGraph.h:
(rx::vk::CommandGraphResource::getLatestSerial const):
(rx::vk::CommandGraphResource::hasStartedRenderPass const):
(rx::vk::CommandGraphResource::updateCurrentAccessNodes):
(rx::vk::CommandGraphResource::onGraphAccess):
(rx::vk::CommandGraphResource::appendToStartedRenderPass):
(rx::vk::CommandGraphResource::renderPassStartedButEmpty const):
(rx::vk::CommandGraphResource::clearRenderPassColorAttachment):
(rx::vk::CommandGraphResource::clearRenderPassDepthAttachment):
(rx::vk::CommandGraphResource::clearRenderPassStencilAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassColorAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassDepthAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassStencilAttachment):
(rx::vk::CommandGraphResource::getRenderPassRenderArea const):
(rx::vk::CommandGraphResource::addGlobalMemoryBarrier):
(rx::vk::CommandGraphResource::hasChildlessWritingNode const):
(rx::vk::CommandGraph::onResourceUse):
(rx::vk::CommandGraphResource::getStoredQueueSerial const): Deleted.
(rx::vk::CommandGraphResource::updateQueueSerial): Deleted.
* src/libANGLE/renderer/vulkan/ContextVk.cpp:
(rx::CommandBatch::CommandBatch):
(rx::CommandBatch::operator=):
(rx::CommandBatch::destroy):
(rx::CommandQueue::destroy):
(rx::CommandQueue::init):
(rx::CommandQueue::checkCompletedCommands):
(rx::CommandQueue::releaseToCommandBatch):
(rx::CommandQueue::clearAllGarbage):
(rx::CommandQueue::allocatePrimaryCommandBuffer):
(rx::CommandQueue::releasePrimaryCommandBuffer):
(rx::CommandQueue::handleDeviceLost):
(rx::CommandQueue::hasInFlightCommands const):
(rx::CommandQueue::finishToSerialOrTimeout):
(rx::CommandQueue::submitFrame):
(rx::CommandQueue::getLastSubmittedFence const):
(rx::ContextVk::ContextVk):
(rx::ContextVk::onDestroy):
(rx::ContextVk::initialize):
(rx::ContextVk::setupDraw):
(rx::ContextVk::setupIndirectDraw):
(rx::ContextVk::setupIndexedIndirectDraw):
(rx::ContextVk::setupLineLoopIndexedIndirectDraw):
(rx::ContextVk::handleDirtyGraphicsVertexBuffers):
(rx::ContextVk::handleDirtyGraphicsIndexBuffer):
(rx::ContextVk::submitFrame):
(rx::ContextVk::flushCommandGraph):
(rx::ContextVk::synchronizeCpuGpuTime):
(rx::ContextVk::traceGpuEventImpl):
(rx::ContextVk::checkCompletedGpuEvents):
(rx::ContextVk::flushGpuEvents):
(rx::ContextVk::clearAllGarbage):
(rx::ContextVk::handleDeviceLost):
(rx::ContextVk::drawArraysIndirect):
(rx::ContextVk::drawElementsIndirect):
(rx::ContextVk::syncState):
(rx::ContextVk::onMakeCurrent):
(rx::ContextVk::dispatchComputeIndirect):
(rx::ContextVk::memoryBarrier):
(rx::ContextVk::writeAtomicCounterBufferDriverUniformOffsets):
(rx::ContextVk::updateActiveTextures):
(rx::ContextVk::updateActiveImages):
(rx::ContextVk::shouldFlush):
(rx::ContextVk::flushImpl):
(rx::ContextVk::finishImpl):
(rx::ContextVk::isSerialInUse const):
(rx::ContextVk::checkCompletedCommands):
(rx::ContextVk::finishToSerial):
(rx::ContextVk::finishToSerialOrTimeout):
(rx::ContextVk::getCompatibleRenderPass):
(rx::ContextVk::getRenderPassWithOps):
(rx::ContextVk::ensureSubmitFenceInitialized):
(rx::ContextVk::getNextSubmitFence):
(rx::ContextVk::getLastSubmittedFence const):
(rx::ContextVk::getTimestamp):
(rx::ContextVk::updateDefaultAttribute):
(rx::ContextVk::waitForSwapchainImageIfNecessary):
(rx::ContextVk::CommandBatch::CommandBatch): Deleted.
(rx::ContextVk::CommandBatch::operator=): Deleted.
(rx::ContextVk::CommandBatch::destroy): Deleted.
(rx::ContextVk::releaseToCommandBatch): Deleted.
(rx::ContextVk::recycleCommandBatch): Deleted.
(rx::ContextVk::getCommandGraph): Deleted.
* src/libANGLE/renderer/vulkan/ContextVk.h:
(rx::ContextVk::onVertexAttributeChange):
(rx::ContextVk::getCurrentQueueSerial const):
(rx::ContextVk::getLastSubmittedQueueSerial const):
(rx::ContextVk::getLastCompletedQueueSerial const):
(rx::ContextVk::addGarbage):
(rx::ContextVk::getCommandGraph):
(rx::ContextVk::releaseObject): Deleted.
* src/libANGLE/renderer/vulkan/DeviceVk.cpp:
(rx::DeviceVk::getAttribute):
(rx::DeviceVk::getDevice): Deleted.
* src/libANGLE/renderer/vulkan/DeviceVk.h:
* src/libANGLE/renderer/vulkan/DisplayVk.cpp:
(rx::DisplayVk::generateExtensions const):
* src/libANGLE/renderer/vulkan/FramebufferVk.cpp:
(rx::FramebufferVk::destroy):
(rx::FramebufferVk::invalidate):
(rx::FramebufferVk::invalidateSub):
(rx::FramebufferVk::clearImpl):
(rx::FramebufferVk::getImplementationColorReadType const):
(rx::FramebufferVk::blitWithCommand):
(rx::FramebufferVk::blit):
(rx::FramebufferVk::resolveColorWithCommand):
(rx::FramebufferVk::readPixelsImpl):
(rx::FramebufferVk::onScissorChange):
* src/libANGLE/renderer/vulkan/FramebufferVk.h:
(rx::FramebufferVk::appendToStartedRenderPass):
* src/libANGLE/renderer/vulkan/GlslangWrapper.cpp:
* src/libANGLE/renderer/vulkan/ImageVk.cpp:
(rx::ImageVk::onDestroy):
(rx::ImageVk::orphan):
* src/libANGLE/renderer/vulkan/ImageVk.h:
* src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp:
(rx::MemoryObjectVk::createImage):
* src/libANGLE/renderer/vulkan/OverlayVk.cpp:
(rx::OverlayVk::createFont):
(rx::OverlayVk::cullWidgets):
(rx::OverlayVk::onPresent):
* src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp:
(rx::vk::PersistentCommandPool::destroy):
(rx::vk::PersistentCommandPool::allocate):
(rx::vk::PersistentCommandPool::alloc): Deleted.
* src/libANGLE/renderer/vulkan/PersistentCommandPool.h:
* src/libANGLE/renderer/vulkan/ProgramVk.cpp:
(rx::ProgramVk::reset):
(rx::ProgramVk::initDefaultUniformLayoutMapping):
(rx::ProgramVk::updateDefaultUniformsDescriptorSet):
(rx::ProgramVk::updateBuffersDescriptorSet):
(rx::ProgramVk::updateAtomicCounterBuffersDescriptorSet):
(rx::ProgramVk::updateImagesDescriptorSet):
(rx::ProgramVk::updateTransformFeedbackDescriptorSetImpl):
(rx::ProgramVk::updateDescriptorSets):
* src/libANGLE/renderer/vulkan/ProgramVk.h:
(rx::ProgramVk::getGraphicsPipeline):
* src/libANGLE/renderer/vulkan/README.md:
* src/libANGLE/renderer/vulkan/RenderTargetVk.cpp:
(rx::RenderTargetVk::RenderTargetVk):
(rx::RenderTargetVk::init):
(rx::RenderTargetVk::reset):
(rx::RenderTargetVk::onColorDraw):
(rx::RenderTargetVk::onDepthStencilDraw):
(rx::RenderTargetVk::updateSwapchainImage):
(rx::RenderTargetVk::getImageForRead):
(rx::RenderTargetVk::getImageForWrite const):
(rx::RenderTargetVk::getFetchImageView const): Deleted.
* src/libANGLE/renderer/vulkan/RenderTargetVk.h:
* src/libANGLE/renderer/vulkan/RenderbufferVk.cpp:
(rx::RenderbufferVk::setStorageImpl):
(rx::RenderbufferVk::setStorageEGLImageTarget):
(rx::RenderbufferVk::releaseImage):
* src/libANGLE/renderer/vulkan/RenderbufferVk.h:
* src/libANGLE/renderer/vulkan/RendererVk.cpp:
(rx::RendererVk::~RendererVk):
(rx::RendererVk::onDestroy):
(rx::RendererVk::notifyDeviceLost):
(rx::RendererVk::initialize):
(rx::RendererVk::initializeDevice):
(rx::RendererVk::initFeatures):
(rx::RendererVk::queueSubmit):
(rx::RendererVk::cleanupGarbage):
(rx::RendererVk::getMaxFenceWaitTimeNs const):
(rx::RendererVk::onCompletedSerial):
(rx::RendererVk::nextSerial): Deleted.
(rx::RendererVk::addGarbage): Deleted.
* src/libANGLE/renderer/vulkan/RendererVk.h:
(rx::CollectGarbage):
(rx::RendererVk::getMaxVertexAttribDivisor const):
(rx::RendererVk::collectGarbageAndReinit):
(rx::RendererVk::getCurrentQueueSerial const):
(rx::RendererVk::getLastSubmittedQueueSerial const):
(rx::RendererVk::getLastCompletedQueueSerial const):
(rx::RendererVk::shouldCleanupGarbage):
* src/libANGLE/renderer/vulkan/SamplerVk.cpp:
(rx::SamplerVk::onDestroy):
(rx::SamplerVk::syncState):
* src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp:
(rx::vk::priv::SecondaryCommandBuffer::executeCommands):
(rx::vk::priv::SecondaryCommandBuffer::dumpCommands const):
* src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h:
(rx::vk::priv::SecondaryCommandBuffer::drawIndirect):
(rx::vk::priv::SecondaryCommandBuffer::drawIndexedIndirect):
* src/libANGLE/renderer/vulkan/SemaphoreVk.cpp:
(rx::SemaphoreVk::onDestroy):
* src/libANGLE/renderer/vulkan/SurfaceVk.cpp:
(rx::OffscreenSurfaceVk::AttachmentImage::initialize):
(rx::OffscreenSurfaceVk::AttachmentImage::destroy):
(rx::OffscreenSurfaceVk::OffscreenSurfaceVk):
(rx::WindowSurfaceVk::WindowSurfaceVk):
(rx::WindowSurfaceVk::createSwapChain):
(rx::WindowSurfaceVk::releaseSwapchainImages):
(rx::WindowSurfaceVk::destroySwapChainImages):
(rx::WindowSurfaceVk::present):
(rx::WindowSurfaceVk::nextSwapchainImage):
* src/libANGLE/renderer/vulkan/SyncVk.cpp:
(rx::vk::SyncHelper::SyncHelper):
(rx::vk::SyncHelper::~SyncHelper):
(rx::vk::SyncHelper::releaseToRenderer):
(rx::vk::SyncHelper::initialize):
(rx::vk::SyncHelper::clientWait):
(rx::vk::SyncHelper::serverWait):
(rx::vk::SyncHelper::getStatus):
(rx::SyncVk::onDestroy):
(rx::SyncVk::serverWait):
(rx::EGLSyncVk::onDestroy):
(rx::EGLSyncVk::serverWait):
(rx::FenceSyncVk::FenceSyncVk): Deleted.
(rx::FenceSyncVk::~FenceSyncVk): Deleted.
(rx::FenceSyncVk::onDestroy): Deleted.
(rx::FenceSyncVk::initialize): Deleted.
(rx::FenceSyncVk::clientWait): Deleted.
(rx::FenceSyncVk::serverWait): Deleted.
(rx::FenceSyncVk::getStatus): Deleted.
* src/libANGLE/renderer/vulkan/SyncVk.h:
* src/libANGLE/renderer/vulkan/TextureVk.cpp:
(rx::TextureVk::onDestroy):
(rx::TextureVk::copySubImageImpl):
(rx::TextureVk::copySubTextureImpl):
(rx::TextureVk::copySubImageImplWithTransfer):
(rx::TextureVk::copySubImageImplWithDraw):
(rx::TextureVk::setStorageExternalMemory):
(rx::TextureVk::setEGLImageTarget):
(rx::TextureVk::ensureImageAllocated):
(rx::TextureVk::setImageHelper):
(rx::TextureVk::copyImageDataToBufferAndGetData):
(rx::TextureVk::copyImageDataToBuffer):
(rx::TextureVk::generateMipmapsWithCPU):
(rx::TextureVk::generateMipmap):
(rx::TextureVk::setBaseLevel):
(rx::TextureVk::changeLevels):
(rx::TextureVk::bindTexImage):
(rx::TextureVk::getAttachmentRenderTarget):
(rx::TextureVk::ensureImageInitialized):
(rx::TextureVk::initLayerRenderTargets):
(rx::TextureVk::syncState):
(rx::TextureVk::getReadImageView const):
(rx::TextureVk::getFetchImageView const):
(rx::TextureVk::getLayerLevelDrawImageView):
(rx::TextureVk::getLayerLevelStorageImageView):
(rx::TextureVk::initImage):
(rx::TextureVk::initImageViews):
(rx::TextureVk::releaseImage):
(rx::TextureVk::releaseImageViews):
(rx::TextureVk::releaseStagingBuffer):
(rx::TextureVk::getLevelCount const):
(rx::TextureVk::generateMipmapLevelsWithCPU):
(rx::TextureVk::TextureVkViews::TextureVkViews): Deleted.
(rx::TextureVk::TextureVkViews::~TextureVkViews): Deleted.
(rx::TextureVk::TextureVkViews::release): Deleted.
(rx::TextureVk::init3DRenderTargets): Deleted.
(rx::TextureVk::initCubeMapRenderTargets): Deleted.
(rx::TextureVk::getTextureViews const): Deleted.
(rx::TextureVk::initImageViewImpl): Deleted.
* src/libANGLE/renderer/vulkan/TextureVk.h:
(): Deleted.
* src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp:
(rx::TransformFeedbackVk::onBeginOrEnd):
* src/libANGLE/renderer/vulkan/UtilsVk.cpp:
(rx::UtilsVk::ensureConvertIndexIndirectResourcesInitialized):
(rx::UtilsVk::ensureConvertIndexIndirectLineLoopResourcesInitialized):
(rx::UtilsVk::convertIndexIndirectBuffer):
(rx::UtilsVk::convertLineLoopIndexIndirectBuffer):
(rx::UtilsVk::startRenderPass):
(rx::UtilsVk::clearFramebuffer):
(rx::UtilsVk::blitResolveImpl):
(rx::UtilsVk::stencilBlitResolveNoShaderExport):
(rx::UtilsVk::copyImage):
(rx::UtilsVk::cullOverlayWidgets):
(rx::UtilsVk::drawOverlay):
* src/libANGLE/renderer/vulkan/UtilsVk.h:
* src/libANGLE/renderer/vulkan/VertexArrayVk.cpp:
(rx::VertexArrayVk::destroy):
(rx::VertexArrayVk::convertIndexBufferIndirectGPU):
(rx::VertexArrayVk::handleLineLoopIndirect):
(rx::VertexArrayVk::convertVertexBufferCPU):
(rx::VertexArrayVk::syncDirtyAttrib):
(rx::VertexArrayVk::updateStreamedAttribs):
(rx::VertexArrayVk::updateDefaultAttrib):
(rx::VertexArrayVk::updateClientAttribs): Deleted.
* src/libANGLE/renderer/vulkan/VertexArrayVk.h:
(rx::VertexArrayVk::getStreamingVertexAttribsMask const):
* src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp:
(rx::HardwareBufferImageSiblingVkAndroid::initImpl):
(rx::HardwareBufferImageSiblingVkAndroid::release):
* src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h:
* src/libANGLE/renderer/vulkan/doc/FastOpenGLStateTransitions.md:
* src/libANGLE/renderer/vulkan/doc/FormatTablesAndEmulation.md:
* src/libANGLE/renderer/vulkan/doc/OpenGLLineSegmentRasterization.md:
* src/libANGLE/renderer/vulkan/doc/ShaderModuleCompilation.md:
* src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py:
(shader_path):
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc:
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc:
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc:
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc:
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc:
* src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc:
* src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp:
* src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json:
* src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp:
* src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json:
* src/libANGLE/renderer/vulkan/vk_cache_utils.cpp:
(rx::vk::GraphicsPipelineDesc::initializePipeline const):
(rx::vk::GraphicsPipelineDesc::updateVertexInput):
(rx::vk::PipelineLayoutDesc::updatePushConstantRange):
(rx::RenderPassCache::addRenderPass):
(rx::GraphicsPipelineCache::release):
(rx::GraphicsPipelineCache::insertPipeline):
* src/libANGLE/renderer/vulkan/vk_cache_utils.h:
* src/libANGLE/renderer/vulkan/vk_caps_utils.cpp:
(rx::RendererVk::ensureCapsInitialized const):
* src/libANGLE/renderer/vulkan/vk_format_map.json:
* src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp:
(rx::vk::Format::initialize):
* src/libANGLE/renderer/vulkan/vk_format_utils.cpp:
(rx::MapSwizzleState):
* src/libANGLE/renderer/vulkan/vk_helpers.cpp:
(rx::vk::DynamicBuffer::allocate):
(rx::vk::DynamicBuffer::releaseBufferListToRenderer):
(rx::vk::DynamicBuffer::release):
(rx::vk::DynamicBuffer::releaseInFlightBuffers):
(rx::vk::DescriptorPoolHelper::release):
(rx::vk::LineLoopHelper::LineLoopHelper):
(rx::vk::LineLoopHelper::streamIndicesIndirect):
(rx::vk::LineLoopHelper::release):
(rx::vk::LineLoopHelper::destroy):
(rx::vk::BufferHelper::init):
(rx::vk::BufferHelper::release):
(rx::vk::ImageHelper::ImageHelper):
(rx::vk::ImageHelper::init):
(rx::vk::ImageHelper::initExternal):
(rx::vk::ImageHelper::releaseImage):
(rx::vk::ImageHelper::releaseStagingBuffer):
(rx::vk::ImageHelper::destroy):
(rx::vk::ImageHelper::getBaseLevel):
(rx::vk::ImageHelper::setBaseAndMaxLevels):
(rx::vk::ImageHelper::generateMipmapsWithBlit):
(rx::vk::ImageHelper::removeStagedUpdates):
(rx::vk::ImageHelper::stageSubresourceUpdate):
(rx::vk::ImageHelper::stageSubresourceUpdateAndGetData):
(rx::vk::ImageHelper::stageSubresourceUpdateFromBuffer):
(rx::vk::ImageHelper::stageSubresourceUpdateFromFramebuffer):
(rx::vk::ImageHelper::allocateStagingMemory):
(rx::vk::ImageHelper::flushStagedUpdates):
(rx::vk::ImageHelper::isUpdateStaged):
(rx::vk::ImageHelper::SubresourceUpdate::SubresourceUpdate):
(rx::vk::ImageHelper::SubresourceUpdate::release):
(rx::vk::FramebufferHelper::release):
(rx::vk::ShaderProgramHelper::release):
(rx::vk::DynamicBuffer::releaseBufferListToContext): Deleted.
(rx::vk::DynamicBuffer::releaseBufferListToDisplay): Deleted.
(rx::vk::ImageHelper::dumpResources): Deleted.
* src/libANGLE/renderer/vulkan/vk_helpers.h:
(rx::vk::ShaderProgramHelper::getShader):
(rx::vk::ShaderProgramHelper::getGraphicsPipeline):
* src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp:
(rx::vk::ShaderLibrary::destroy):
(rx::vk::ShaderLibrary::getConvertIndexIndirectLineLoop_comp):
* src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni:
* src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h:
* src/libANGLE/renderer/vulkan/vk_utils.cpp:
(rx::HasKhronosValidationLayer):
(rx::HasStandardValidationLayer):
(rx::GetAvailableValidationLayers):
(rx::vk::StagingBuffer::init):
(rx::vk::StagingBuffer::release):
(rx::vk::GarbageObject::GarbageObject):
(rx::vk::GarbageObject::operator=):
(rx::vk::GarbageObject::destroy):
(rx::gl_vk::GetSamplerMipmapMode):
(rx::vk::StagingBuffer::dumpResources): Deleted.
(rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
(rx::vk::GarbageObjectBase::destroy): Deleted.
(rx::vk::GarbageObject::destroyIfComplete): Deleted.
* src/libANGLE/renderer/vulkan/vk_utils.h:
(rx::vk::GarbageObject::valid const):
(rx::vk::GarbageObject::Get):
(rx::vk::GetGarbage):
(rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
* src/libANGLE/renderer/vulkan/vk_wrapper.h:
(rx::vk::WrappedObject::getHandle const):
(rx::vk::WrappedObject::valid const):
(rx::vk::WrappedObject::ptr const):
(rx::vk::WrappedObject::release):
(rx::vk::WrappedObject::WrappedObject):
(rx::vk::WrappedObject::~WrappedObject):
(rx::vk::WrappedObject::operator=):
(rx::vk::priv::CommandBuffer::SupportsQueries):
(rx::vk::priv::CommandBuffer::getMemoryUsageStats const):
(rx::vk::priv::CommandBuffer::drawIndexedIndirect):
(rx::vk::priv::CommandBuffer::drawIndirect):
(rx::vk::WrappedObject::dumpResources): Deleted.
(rx::vk::priv::CommandBuffer::getMemoryUsageStats): Deleted.
* src/libANGLE/validationEGL.cpp:
(egl::ValidateCreateContext):
(egl::ValidateMakeCurrent):
(egl::ValidateCompatibleSurface):
(egl::ValidateStreamConsumerGLTextureExternalKHR):
(egl::ValidateStreamConsumerGLTextureExternalAttribsNV):
(egl::ValidateQueryStringiANGLE):
(egl::ValidateCompatibleConfigs): Deleted.
* src/libANGLE/validationEGL.h:
* src/libANGLE/validationES.cpp:
(gl::ValidateRenderbufferStorageParametersBase):
(gl::ValidateTexStorageMultisample):
* src/libANGLE/validationES.h:
(gl::ValidateVertexFormat):
* src/libANGLE/validationES2.cpp:
(gl::ValidateES2TexStorageParameters):
* src/libANGLE/validationES3.cpp:
(gl::ValidateES3TexStorageParametersBase):
* src/libANGLE/validationES31.cpp:
(gl::err::ValidateProgramResourceIndex):
* src/libGLESv2.gni:
* src/libGLESv2/entry_points_egl_ext.cpp:
* src/tests/BUILD.gn:
* src/tests/angle_deqp_tests_main.cpp:
(main):
* src/tests/angle_end2end_tests.gni:
* src/tests/compiler_tests/DebugShaderPrecision_test.cpp:
(TEST_F):
* src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp:
(sh::TEST):
* src/tests/compiler_tests/ImmutableString_test_autogen.cpp:
(sh::TEST):
* src/tests/compiler_tests/QualificationOrder_test.cpp:
(TEST_F):
* src/tests/deqp_support/angle_deqp_gtest.cpp:
(angle::InitTestHarness):
* src/tests/deqp_support/angle_deqp_libtester_main.cpp:
* src/tests/deqp_support/deqp_egl_TestExpectations: Removed.
* src/tests/deqp_support/deqp_gles2_TestExpectations: Removed.
* src/tests/deqp_support/deqp_gles31_TestExpectations: Removed.
* src/tests/deqp_support/deqp_gles3_TestExpectations: Removed.
* src/tests/deqp_support/deqp_khr_gles2_TestExpectations: Removed.
* src/tests/deqp_support/deqp_khr_gles31_TestExpectations: Removed.
* src/tests/deqp_support/deqp_khr_gles3_TestExpectations: Removed.
* src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp:
* src/tests/deqp_support/tcuANGLEPlatform.cpp:
(tcu::ANGLEPlatform::ANGLEPlatform):
* src/tests/deqp_support/tes31Context_override.cpp:
(deqp::gles31::Context::Context):
(deqp::gles31::Context::~Context):
(deqp::gles31::Context::createRenderContext):
(deqp::gles31::Context::destroyRenderContext):
(deqp::gles31::Context::getRenderTarget const):
* src/tests/egl_tests/EGLDeviceCGLTest.cpp: Added.
(EGLDeviceCGLQueryTest::EGLDeviceCGLQueryTest):
(TEST_P):
* src/tests/egl_tests/EGLDirectCompositionTest.cpp:
* src/tests/egl_tests/EGLFeatureControlTest.cpp:
(TEST_P):
* src/tests/egl_tests/EGLNoConfigContextTest.cpp: Added.
(EGLNoConfigContextTest::EGLNoConfigContextTest):
(TEST_P):
* src/tests/gl_tests/BlendFuncExtendedTest.cpp:
(angle::EXTBlendFuncExtendedDrawTestES3::LinkProgram):
* src/tests/gl_tests/ComputeShaderTest.cpp:
* src/tests/gl_tests/CopyTexImageTest.cpp:
(angle::TEST_P):
* src/tests/gl_tests/CopyTextureTest.cpp:
(angle::CopyTextureVariationsTest::initializeSourceTexture):
(angle::CopyTextureVariationsTest::testCopyTexture):
(angle::CopyTextureVariationsTest::testCopySubTexture):
(angle::TEST_P):
* src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp:
(angle::DrawBaseVertexBaseInstanceTest::DrawBaseVertexBaseInstanceTest):
(angle::DrawBaseVertexBaseInstanceTest::vertexShaderSource300):
* src/tests/gl_tests/FramebufferTest.cpp:
(TEST_P):
* src/tests/gl_tests/GLSLTest.cpp:
* src/tests/gl_tests/IndexBufferOffsetTest.cpp:
* src/tests/gl_tests/InstancingTest.cpp:
* src/tests/gl_tests/LineLoopTest.cpp:
(LineLoopTest::checkPixels):
(LineLoopTest::runTest):
(LineLoopIndirectTest::runTest):
(TEST_P):
* src/tests/gl_tests/LinkAndRelinkTest.cpp:
(angle::TEST_P):
* src/tests/gl_tests/MipmapTest.cpp:
* src/tests/gl_tests/OcclusionQueriesTest.cpp:
* src/tests/gl_tests/ParallelShaderCompileTest.cpp:
(angle::ParallelShaderCompileTest::TaskRunner::run):
* src/tests/gl_tests/ProgramInterfaceTest.cpp:
* src/tests/gl_tests/SimpleOperationTest.cpp:
* src/tests/gl_tests/StateChangeTest.cpp:
* src/tests/gl_tests/TextureTest.cpp:
(angle::SliceFormatColor):
(angle::SliceFormatColor32F):
* src/tests/gl_tests/TimerQueriesTest.cpp:
* src/tests/gl_tests/UniformBufferTest.cpp:
* src/tests/gl_tests/VertexAttributeTest.cpp:
(angle::TypeStride):
(angle::Normalize10):
(angle::Normalize2):
(angle::Pack1010102):
(angle::VertexAttributeTest::checkPixels):
(angle::VertexAttributeTest::checkRGBPixels):
(angle::VertexAttributeTest::runTest):
(angle::TEST_P):
* src/tests/gles1_conformance_tests/ConformanceTests.cpp:
(angle::TEST_P):
* src/tests/perf_tests/ANGLEPerfTest.cpp:
* src/tests/perf_tests/DrawCallPerf.cpp:
(angle::DrawArraysPerfParams::DrawArraysPerfParams): Deleted.
(angle::DrawArraysPerfParams::story const): Deleted.
(angle::operator<<): Deleted.
(angle::CreateSimpleTexture2D): Deleted.
(angle::DrawCallPerfBenchmark::DrawCallPerfBenchmark): Deleted.
(angle::DrawCallPerfBenchmark::initializeBenchmark): Deleted.
(): Deleted.
* src/tests/perf_tests/EGLMakeCurrentPerf.cpp:
* src/tests/perf_tests/LinkProgramPerfTest.cpp:
(angle::TEST_P):
* src/tests/perf_tests/MultiviewPerf.cpp:
(angle::MultiviewCPUBoundBenchmark::initializeBenchmark):
(angle::MultiviewGPUBoundBenchmark::initializeBenchmark):
(angle::TEST_P):
* src/tests/perf_tests/UniformsPerf.cpp:
(TEST_P):
* src/tests/perf_tests/VulkanPipelineCachePerf.cpp:
(rx::VulkanPipelineCachePerfTest::step):
* src/tests/perf_tests/glmark2Benchmark.cpp:
* src/tests/test_expectations/GPUTestConfig.cpp:
(angle::GPUTestConfig::GPUTestConfig):
* src/tests/test_expectations/GPUTestConfig.h:
* src/tests/test_expectations/GPUTestExpectationsParser.cpp:
(angle::GPUTestExpectationsParser::parseLine):
* src/tests/test_utils/ANGLETest.cpp:
* src/tests/test_utils/ANGLETest.h:
* src/tests/test_utils/angle_test_configs.cpp:
(angle::PlatformParameters::initDefaultParameters):
(angle::operator<<):
(angle::egl_platform::VULKAN_SWIFTSHADER):
(angle::ES2_VULKAN_SWIFTSHADER):
* src/tests/test_utils/angle_test_configs.h:
* src/tests/test_utils/angle_test_instantiate.cpp:
(angle::IsWindows7):
* src/tests/test_utils/angle_test_instantiate.h:
* src/third_party/compiler/README.chromium:
* third_party/vulkan-headers/BUILD.gn: Removed.
* third_party/vulkan-headers/vulkan_headers_script_deps.gni: Removed.
* third_party/vulkan-loader/BUILD.gn:
* third_party/vulkan-tools/BUILD.gn: Removed.
* third_party/vulkan-validation-layers/BUILD.gn: Removed.
* third_party/vulkan-validation-layers/dummy_spirv_tools_commit_id.h: Removed.
* util/EGLWindow.cpp:
* util/fuchsia/ScenicWindow.cpp:
(ScenicWindow::resetNativeWindow):
* util/posix/crash_handler_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_crash_handler.cpp.
* util/posix/test_utils_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_system_utils.cpp.
* util/test_utils.h: Renamed from Source/ThirdParty/ANGLE/util/system_utils.h.
* util/util.gni:
* util/util_gl.h:
* util/windows/WGLWindow.cpp:
* util/windows/test_utils_win.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/Windows_system_utils.cpp.
(angle::PrintStackBacktrace):
* util/windows/win32/test_utils_win32.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/win32/Win32_system_utils.cpp.
* util/x11/X11Window.cpp:
2019-10-01 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][Clang][ANGLE] global_state.cpp(39,1): error: static_assert failed due to requirement 'std::is_trivially_constructible<std::atomic<std::mutex *>>::value' "global mutex is not trivially constructible"
https://bugs.webkit.org/show_bug.cgi?id=201751
Reviewed by Alex Christensen.
Clang-cl couldn't compile the latest ANGLE with MS STL owing to a
static_assert failure.
Fix it by cherri-picking the upstream fix.
<https://chromium.googlesource.com/angle/angle/+/755417dd79071d6149c81418e1404b0c61d19672>
* AUTHORS:
* src/common/angleutils.h:
* src/libGLESv2/global_state.cpp:
2019-09-24 Adrian Perez de Castro <aperez@igalia.com>
[GTK] ANGLE's eglplatform.h is build broken with -DENABLE_X11_PLATFORM=OFF
https://bugs.webkit.org/show_bug.cgi?id=198621
Reviewed by Carlos Garcia Campos.
* PlatformGTK.cmake: Define WL_EGL_PLATFORM to prefer Wayland type
definitions with ENABLE_WAYLAND_TARGET=ON and ENABLE_X11_TARGET=OFF
to avoid ANGLE's eglplatform.h from trying to include the X11 headers.
2019-09-16 James Darpinian <jdarpinian@chromium.org>
Remove commit.h copying build steps
https://bugs.webkit.org/show_bug.cgi?id=201785
Reviewed by Alex Christensen.
* ANGLE.xcodeproj/project.pbxproj: Remove leftover build step
* CMakeLists.txt: Remove commit.h copying
* src/common/version.h: Restore to upstream version
* src/id/commit.h: Added.
* update-angle.sh: Copy commit.h to id/commit.h at import time
2019-09-12 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=201156
Reviewed by Alex Christensen.
Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
I merged a bunch of changes to upstream ANGLE, to minimize the changes
necessary when updating ANGLE in WebKit.
* ANGLE.plist: Update commit hashes
* ANGLE.txt: Removed in favor of LICENSE
* ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
* CMakeLists.txt: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
* Compiler.cmake: Updated with upstream changes
* GLESv2.cmake: Updated with upstream changes
* adjust-angle-include-paths-rule: Support "" as well as <> for includes
* adjust-angle-include-paths.sh: Support "" as well as <> for includes
* changes.diff: Pared down to just legal disclaimer and warning flag changes
* update-angle.sh: Update ANGLE.plist
* Many other files modified/added/removed upstream
2019-09-11 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r249791.
Breaks internal production builds.
Reverted changeset:
"Update ANGLE"
https://bugs.webkit.org/show_bug.cgi?id=201156
https://trac.webkit.org/changeset/249791
2019-09-11 James Darpinian <jdarpinian@chromium.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=201156
Reviewed by Alex Christensen.
Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
I merged a bunch of changes to upstream ANGLE, to minimize the changes
necessary when updating ANGLE in WebKit.
* ANGLE.plist: Update commit hashes
* ANGLE.txt: Removed in favor of LICENSE
* ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
* CMakeLists.txt: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
* Compiler.cmake: Updated with upstream changes
* GLESv2.cmake: Updated with upstream changes
* adjust-angle-include-paths-rule: Support "" as well as <> for includes
* adjust-angle-include-paths.sh: Support "" as well as <> for includes
* changes.diff: Pared down to just legal disclaimer and warning flag changes
* update-angle.sh: Update ANGLE.plist
* Many other files modified/added/removed upstream
2019-08-29 Keith Rollin <krollin@apple.com>
Update .xcconfig symbols to reflect the current set of past and future product versions.
https://bugs.webkit.org/show_bug.cgi?id=200720
<rdar://problem/54305032>
Reviewed by Alex Christensen.
Remove version symbols related to old OS's we no longer support,
ensure that version symbols are defined for OS's we do support.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2019-08-26 James Darpinian <jdarpinian@google.com>
Add a script to update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=201109
Reviewed by Alex Christensen.
* update-angle.sh: Added.
2019-08-16 Keith Rollin <krollin@apple.com>
Add XCBuild support to ANGLE
https://bugs.webkit.org/show_bug.cgi?id=200836
<rdar://problem/54410420>
Reviewed by Alex Christensen.
The ANGLE Xcode project contains two Build Phases: one that copies
some headers, and another that modifies those headers. This
combination does not work with XCBuild, which gets confused when it
finds that headers that it's copied have been changed. When it detects
this, XCBuild thinks that it should recopy those headers on the next
build, causing their modification dates to change and for all
dependent files to be rebuilt. This essentially turns an incremental
rebuild into a full rebuild.
Address this problem by using a new facility in Xcode 11. This
facility supports the copying and modifying headers files in a single
step. It is achieved by first enabling the facility by setting
APPLY_RULES_IN_COPY_HEADERS to YES. Next, we add a new Build Rule that
invokes a custom script when the header files are copied. Third, we
provide this script, which can essentially be a stripped down version
of the one already used to modify the exported headers files. Finally,
we disable the use of that old script when we are using Xcode 11. In
this way, the old script that modifies the exported headers is used in
Xcode 10, and the new facility is used in Xcode 11.
See also Bug 197340 for where this process was also applied to
JavaScriptCore, WebKit, and WebKitLegacy.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
* adjust-angle-include-paths-rule: Added.
2019-08-08 Brent Fulgham <bfulgham@apple.com>
[FTW] Get WebKit, WebKit2, and MiniBrowser building and executing
https://bugs.webkit.org/show_bug.cgi?id=200539
Reviewed by Dean Jackson.
* PlatformFTW.cmake: Added.
2019-07-17 Kenneth Russell <kbr@chromium.org>
Make ANGLE work inside WebKit2's sandbox
https://bugs.webkit.org/show_bug.cgi?id=199844
Reviewed by Alex Christensen.
Cherry-pick fix for crbug.com/angleproject/3383 to eliminate use
of deprecated API in SystemInfo_mac.mm.
* BUILD.gn:
* src/gpu_info_util/SystemInfo.cpp:
(angle::FindActiveGPU):
(angle::PrintSystemInfo):
(angle::FindPrimaryGPU): Deleted.
* src/gpu_info_util/SystemInfo.h:
* src/gpu_info_util/SystemInfo_internal.h:
* src/gpu_info_util/SystemInfo_linux.cpp:
(angle::GetSystemInfo):
* src/gpu_info_util/SystemInfo_mac.mm:
(angle::GetSystemInfo):
* src/gpu_info_util/SystemInfo_win.cpp:
(angle::GetSystemInfo):
* src/tests/BUILD.gn:
* src/tests/test_expectations/GPUTestConfig.cpp:
* src/tests/test_utils/angle_test_instantiate.cpp:
(angle::IsConfigWhitelisted):
2019-07-10 Alex Christensen <achristensen@webkit.org>
Allow CMake to build WebCore on Mac
https://bugs.webkit.org/show_bug.cgi?id=198979
Reviewed by Don Olmstead.
* include/GLSLANG/ShaderLang.h:
2019-07-10 Kenneth Russell <kbr@chromium.org>
Hook up WebGL's back buffer in ANGLE backend on macOS
https://bugs.webkit.org/show_bug.cgi?id=198982
Reviewed by Alex Christensen.
Add source files needed to implement and call ANGLE extensions, and
export headers necessary for those extensions. Update the script which
adjusts include paths to handle the new headers.
Cherry-pick fix for ANGLE bug crbug.com/angleproject/3669 to support
antialias:true for ANGLE-backed WebGL contexts.
* ANGLE.xcodeproj/project.pbxproj:
* adjust-angle-include-paths.sh:
* src/libANGLE/FramebufferAttachment.cpp:
(gl::FramebufferAttachment::getTextureImageIndex const): Deleted.
* src/libANGLE/FramebufferAttachment.h:
(gl::FramebufferAttachment::getTextureImageIndex const):
* src/libANGLE/validationES2.cpp:
(gl::ValidateBlitFramebufferANGLE):
2019-06-27 Beth Dakin <bdakin@apple.com>
Upstream use of MACCATALYST
https://bugs.webkit.org/show_bug.cgi?id=199245
rdar://problem/51687723
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig:
2019-06-25 Kenneth Russell <kbr@chromium.org>
Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
https://bugs.webkit.org/show_bug.cgi?id=199212
Reviewed by Darin Adler.
Maintain and test a timestamp in adjust-angle-include-paths.sh
in order to avoid touching the headers during each build.
* adjust-angle-include-paths.sh:
2019-06-25 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r246825.
Breaks internal builds.
Reverted changeset:
"Script which adjusts include paths in ANGLE's copied headers
breaks incremental builds"
https://bugs.webkit.org/show_bug.cgi?id=199212
https://trac.webkit.org/changeset/246825
2019-06-25 Kenneth Russell <kbr@chromium.org>
Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
https://bugs.webkit.org/show_bug.cgi?id=199212
Reviewed by Darin Adler.
Maintain and test a timestamp in adjust-angle-include-paths.sh
in order to avoid touching the headers during each build.
* adjust-angle-include-paths.sh:
2019-06-18 Kenneth Russell <kbr@chromium.org>
Add preliminary ANGLE backend to WebCore
https://bugs.webkit.org/show_bug.cgi?id=197755
Reviewed by Dean Jackson.
Add a build step which processes ANGLE's copied public headers so they
can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
touching ANGLE's headers and allows WebCore to include them with no
additional include path modifications.
* ANGLE.xcodeproj/project.pbxproj:
* adjust-angle-include-paths.sh: Added.
2019-06-17 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r246501.
Breaks Apple internal builds.
Reverted changeset:
"Support using ANGLE as the backend for the WebGL
implementation"
https://bugs.webkit.org/show_bug.cgi?id=197755
https://trac.webkit.org/changeset/246501
2019-06-17 Kenneth Russell <kbr@chromium.org>
Support using ANGLE as the backend for the WebGL implementation
https://bugs.webkit.org/show_bug.cgi?id=197755
Reviewed by Dean Jackson.
Add a build step which processes ANGLE's copied public headers so they
can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
touching ANGLE's headers and allows WebCore to include them with no
additional include path modifications.
* ANGLE.xcodeproj/project.pbxproj:
* adjust-angle-include-paths.sh: Added.
2019-06-12 Justin Fan <justin_fan@apple.com>
[WebGL] ANGLE Extension directive location incorrectly enforced for webgl 1.0
https://bugs.webkit.org/show_bug.cgi?id=198811
Reviewed by Dean Jackson.
Apply ANGLE change from https://chromium-review.googlesource.com/c/angle/angle/+/1648661 to
prevent enforcing ESSL late extension rule on WebGL 1.0 shaders.
* src/compiler/preprocessor/DiagnosticsBase.cpp:
(angle::pp::Diagnostics::message):
* src/compiler/preprocessor/DiagnosticsBase.h:
* src/compiler/preprocessor/DirectiveParser.cpp:
(angle::pp::DirectiveParser::parseExtension):
2019-05-23 Don Olmstead <don.olmstead@sony.com>
[CMake] Use target oriented design for bmalloc
https://bugs.webkit.org/show_bug.cgi?id=198046
Reviewed by Konstantin Tokarev.
Remove WEBKIT_COPY_FILES from CMakelists.txt now that it is in WebKitMacros.
* CMakeLists.txt:
2019-05-14 Miguel Gomez <magomez@igalia.com>
REGRESSION(r245088): [GTK] Several WebGL tests failing
https://bugs.webkit.org/show_bug.cgi?id=197880
Reviewed by Carlos Garcia Campos.
Enable GLSL compiler output for WebKitGTK.
* PlatformGTK.cmake: Added.
2019-05-13 Alex Christensen <achristensen@webkit.org>
Build more ANGLE files
https://bugs.webkit.org/show_bug.cgi?id=197787
Reviewed by Simon Fraser.
* ANGLE.xcodeproj/project.pbxproj:
* src/gpu_info_util/SystemInfo.cpp:
(angle::ParseMacMachineModel):
* src/gpu_info_util/SystemInfo_mac.mm:
(angle::GetSystemInfo):
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
(rx::IOSurfaceSurfaceCGL::IOSurfaceSurfaceCGL):
(rx::IOSurfaceSurfaceCGL::validateAttributes):
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
(rx::WindowSurfaceCGL::initialize):
(-[SwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
2019-05-10 Michael Catanzaro <mcatanzaro@igalia.com>
Fix a bunch of compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=197785
Reviewed by Don Olmstead.
Add compiler flags to suppress various warnings triggered by the new version of ANGLE.
* CMakeLists.txt:
2019-05-09 Don Olmstead <don.olmstead@sony.com>
[ANGLE] Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=197676
<rdar://problem/50609501>
Reviewed by Alex Christensen.
* changes.diff:
Updated with all the previous fixes.
* include/EGL/eglplatform.h:
Use the more generic name USE_SYSTEM_EGL not USE_WPE.
* src/common/debug.h:
Fix a stray COMPILER_GCC to be __GNUC__.
2019-05-08 Alex Christensen <achristensen@webkit.org>
Fix internal and Windows builds.
* ANGLE.txt: Added.
Restore this file. It was deleted, but it's needed.
* GLESv2.cmake:
It turns out CompositorNativeWindow11.cpp and Renderer11.cpp are needed, but the bot doesn't seem to have the right SDK.
2019-05-08 Alex Christensen <achristensen@webkit.org>
Fix High Sierra and Windows builds.
* GLESv2.cmake:
CompositorNativeWindow11.cpp was also having a hard time compiling on the bots.
* src/libANGLE/validationES3.cpp:
(gl::ValidateBindFragDataLocationIndexedEXT):
Remove a check for if an unsigned integer is less than 0.
2019-05-08 Alex Christensen <achristensen@webkit.org>
Fix High Sierra and Windows builds.
* src/common/utilities.cpp:
(gl::priv::gLineModes):
* src/common/utilities.h:
(gl::IsLineMode):
Don't have a global constructor. Use a function scoped static variable instead.
* GLESv2.cmake:
Renderer11.cpp was not building successfully on the bots.
I don't think it's needed, so just don't build it.
2019-05-08 Alex Christensen <achristensen@webkit.org>
Fix High Sierra build.
* src/libANGLE/State.cpp:
(gl::State::kBufferSetters):
* src/libANGLE/State.h:
(gl::State::setBufferBinding):
Remove the need for a global constructor.
2019-05-08 Don Olmstead <don.olmstead@sony.com>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=197676
Reviewed by Alex Christensen.
Many changed files. Updated to trunk ANGLE 565441b1078b.
2019-04-29 Alex Christensen <achristensen@webkit.org>
<rdar://problem/50299396> Fix internal High Sierra build
https://bugs.webkit.org/show_bug.cgi?id=197388
* Configurations/Base.xcconfig:
2019-04-25 Alex Christensen <achristensen@webkit.org>
Start using C++17
https://bugs.webkit.org/show_bug.cgi?id=197131
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
2019-03-22 Keith Rollin <krollin@apple.com>
Enable ThinLTO support in Production builds
https://bugs.webkit.org/show_bug.cgi?id=190758
<rdar://problem/45413233>
Reviewed by Daniel Bates.
Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.
LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.
To change the LTO setting when building locally:
- If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
command line.
- If building with `build-webkit`, specify --lto-mode={none,thin,full}
on the command line.
- If building with `build-root`, specify --lto={none,thin,full} on the
command line.
- If building with Xcode, create a LocalOverrides.xcconfig file at the
top level of your repository directory (if needed) and define
WK_LTO_MODE to full, thin, or none.
* Configurations/Base.xcconfig:
2019-02-23 Keith Miller <keith_miller@apple.com>
Add new mac target numbers
https://bugs.webkit.org/show_bug.cgi?id=194955
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2019-02-20 Andy Estes <aestes@apple.com>
[Xcode] Add SDKVariant.xcconfig to various Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=194869
Rubber-stamped by Jer Noble.
* ANGLE.xcodeproj/project.pbxproj:
2019-01-18 Jer Noble <jer.noble@apple.com>
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
https://bugs.webkit.org/show_bug.cgi?id=189553
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/SDKVariant.xcconfig: Added.
2019-01-17 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r240124.
This commit broke an internal build.
Reverted changeset:
"SDK_VARIANT build destinations should be separate from non-
SDK_VARIANT builds"
https://bugs.webkit.org/show_bug.cgi?id=189553
https://trac.webkit.org/changeset/240124
2019-01-17 Jer Noble <jer.noble@apple.com>
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
https://bugs.webkit.org/show_bug.cgi?id=189553
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/SDKVariant.xcconfig: Added.
2019-01-15 David Kilzer <ddkilzer@apple.com>
clang-tidy: Fix unnecessary copy of for loop variables in ANGLE
<https://webkit.org/b/193443>
Reviewed by Alex Christensen.
Fix unwanted copying of loop variables by making them const
references.
* src/compiler/preprocessor/MacroExpander.cpp:
(pp::MacroExpander::ScopedMacroReenabler::~ScopedMacroReenabler):
- Prevents copy and reference churn of std::shared_ptr<Macro>
objects.
* src/compiler/translator/Compiler.cpp:
(sh::TCompiler::useAllMembersInUnusedStandardAndSharedBlocks):
- Prevents copy of sh::InterfaceBlock structs.
(sh::TCompiler::initializeOutputVariables):
- Prevents copy of sh::Varying structs.
* src/libANGLE/Program.cpp:
(gl::(anonymous namespace)::IncludeSameArrayElement):
- Prevents copy of std::string objects.
2018-10-03 Dan Bernstein <mitz@apple.com>
ANGLE part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250
Reviewed by Andy Estes.
* ANGLE.xcodeproj/project.pbxproj: Kept the unreachable code warning off for four files that
were generated by tools: glslang_lex.cpp, glslang_tab.cpp, Tokenizer.cpp, and
ExpressionParser.cpp. Let Xcode update LastUpgradeCheck.
* Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_INFINITE_RECURSION,
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_SUSPICIOUS_MOVE,
CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
2018-09-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK] ANGLE's eglplatform.h does not support Wayland-only builds
https://bugs.webkit.org/show_bug.cgi?id=189844
Reviewed by Michael Catanzaro.
This makes it possible to build WebKitGTK+ after r225340 when the
build is configured to support only Wayland, and the X11 headers
are not present.
* changes.diff: Updated.
* include/EGL/eglplatform.h: Include the X11 headers only when
ANGLE_USE_X11 is defined and, for consistency with Mesa's version
of the header, when MESA_EGL_NO_X11_HEADERS is not defined.
2018-08-29 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/189081>
* src/angle.xcodeproj: Removed.
* src/common/third_party/numerics: Removed.
2018-08-28 David Kilzer <ddkilzer@apple.com>
Move PMurHash.{cpp,h} into 'src' folder to match path on disk
* ANGLE.xcodeproj/project.pbxproj:
(src/common/third_party/smhasher/src): Add folder and move
PMurHash.{cpp,h} into it. This makes tidy-Xcode-project-file
run smoothly when updating the ANGLE project.
2018-08-27 Keith Rollin <krollin@apple.com>
Unreviewed build fix -- disable LTO for production builds
* Configurations/Base.xcconfig:
2018-08-27 Keith Rollin <krollin@apple.com>
Build system support for LTO
https://bugs.webkit.org/show_bug.cgi?id=187785
<rdar://problem/42353132>
Reviewed by Dan Bernstein.
Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
LTO.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2018-08-03 Alex Christensen <achristensen@webkit.org>
Fix spelling of "overridden"
https://bugs.webkit.org/show_bug.cgi?id=188315
Reviewed by Darin Adler.
* src/libANGLE/renderer/ProgramImpl.h:
2018-07-14 Kocsen Chung <kocsen_chung@apple.com>
Ensure WebKit stack is ad-hoc signed
https://bugs.webkit.org/show_bug.cgi?id=187667
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
2018-07-04 Tim Horton <timothy_horton@apple.com>
Introduce PLATFORM(IOSMAC)
https://bugs.webkit.org/show_bug.cgi?id=187315
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2018-06-09 Dan Bernstein <mitz@apple.com>
[Xcode] Clean up and modernize some build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=186463
Reviewed by Sam Weinig.
* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
2018-05-30 David Kilzer <ddkilzer@apple.com>
ANGLE: Fix clang static analyzer issues in GetExecutablePath() and GetExecutableDirectory()
<https://webkit.org/b/186106>
<rdar://problem/40659179>
Reviewed by Alex Christensen.
* src/common/system_utils_linux.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):
* src/common/system_utils_mac.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):
* src/common/system_utils_win.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):
2018-05-22 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r232052.
Breaks internal builds.
Reverted changeset:
"Use more C++17"
https://bugs.webkit.org/show_bug.cgi?id=185176
https://trac.webkit.org/changeset/232052
2018-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
Use more C++17
https://bugs.webkit.org/show_bug.cgi?id=185176
Reviewed by JF Bastien.
* Configurations/Base.xcconfig:
2018-04-18 Jer Noble <jer.noble@apple.com>
Don't put build products into WK_ALTERNATE_WEBKIT_SDK_PATH for engineering builds
https://bugs.webkit.org/show_bug.cgi?id=184762
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2018-04-19 David Kilzer <ddkilzer@apple.com>
Enable Objective-C weak references
<https://webkit.org/b/184789>
<rdar://problem/39571716>
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
(CLANG_ENABLE_OBJC_WEAK): Enable.
2018-03-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r225340): WPE port should not be getting EGL X11 types on ANGLE
https://bugs.webkit.org/show_bug.cgi?id=183749
Reviewed by Alex Christensen.
Add back the USE_WPE ifdef.
* changes.diff:
* include/EGL/eglplatform.h:
2018-03-15 Tim Horton <timothy_horton@apple.com>
Add and adopt WK_ALTERNATE_FRAMEWORKS_DIR in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=183675
<rdar://problem/38515281>
Reviewed by Dan Bernstein.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig:
* Configurations/Base.xcconfig:
2018-01-27 Dan Bernstein <mitz@apple.com>
HaveInternalSDK includes should be "#include?"
https://bugs.webkit.org/show_bug.cgi?id=179670
* Configurations/Base.xcconfig:
2018-01-18 Dan Bernstein <mitz@apple.com>
[Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=181803
Reviewed by Tim Horton.
* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
2018-01-09 Dan Bernstein <mitz@apple.com>
Removed some empty directories that were left behind
* src/third_party/murmurhash: Removed.
* third_party: Removed.
* third_party/deqp: Removed.
2017-12-14 David Kilzer <ddkilzer@apple.com>
Enable -Wstrict-prototypes for WebKit
<https://webkit.org/b/180757>
<rdar://problem/36024132>
Rubber-stamped by Joseph Pecoraro.
* Configurations/Base.xcconfig:
(CLANG_WARN_STRICT_PROTOTYPES): Add. Set to YES.
2017-12-06 Dean Jackson <dino@apple.com>
Update ANGLE's changes.diff
https://bugs.webkit.org/show_bug.cgi?id=180491
Reviewed by Antoine Quint.
Here is the list of things we've changed from the
ANGLE commit that we merged in.
* changes.diff:
2017-12-06 Dean Jackson <dino@apple.com>
Some iOS tests failing after ANGLE update
https://bugs.webkit.org/show_bug.cgi?id=180487
<rdar://problem/35885969>
Reviewed by Antoine Quint.
The iOS OpenGL compiler doesn't like function declarations with
nameless array parameters. See:
<rdar://problem/35885989> Nameless array parameters in function declaration cause compiler error
While that is being fixed, tell ANGLE's translator to not cull
the names from parameters. This is not a bug in ANGLE, so we won't
fix it upstream at the moment.
* src/compiler/translator/ParseContext.cpp:
(sh::TParseContext::addFunctionPrototypeDeclaration):
2017-12-01 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix byte order macros and address new -Wunknown-pragmas warnings
https://bugs.webkit.org/show_bug.cgi?id=180177
<rdar://problem/35774734>
I'm not sure how this code was developed, as it seems to have been designed for GCC, but it
does not use any of GCC's documented byte order macros, and accordingly does not work. Let's
fix it to guarantee there are no problems when building with GCC. I presume it should help
Clang as well.
This time, hopefully without breaking 32-bit macOS, where __BYTE_ORDER actually is defined.
* src/common/third_party/smhasher/src/PMurHash.cpp:
(angle::PMurHash32_Process):
2017-12-01 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r225412.
Breaks 32-bit macOS builds.
Reverted changeset:
"Unreviewed, fix byte order macros and address new -Wunknown-
pragmas warnings"
https://bugs.webkit.org/show_bug.cgi?id=180177
https://trac.webkit.org/changeset/225412
2017-12-01 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix byte order macros and address new -Wunknown-pragmas warnings
https://bugs.webkit.org/show_bug.cgi?id=180177
<rdar://problem/35774734>
I'm not sure how this code was developed, as it seems to have been designed for GCC, but it
does not use any of GCC's documented byte order macros, and accordingly does not work. Let's
fix it to guarantee there are no problems when building with GCC. I presume it should help
Clang as well.
* src/common/third_party/smhasher/src/PMurHash.cpp:
(angle::PMurHash32_Process):
2017-12-01 Tomoki Imai <Tomoki.Imai@sony.com>
Fix WinCairo build break after r225340
https://bugs.webkit.org/show_bug.cgi?id=180230
Unreviewed build fix.
* CMakeLists.txt: Add missing sources.
* PlatformWin.cmake: Add missing sources.
2017-12-01 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix -Wunknown-pragmas warnings.
https://bugs.webkit.org/show_bug.cgi?id=180177
It seems GCC has started to warn about unrecognized Clang pragmas. Oh well.
This is not sent upstream, because the Clang pragmas appear to be downstream WebKit
additions. changes.diff is not updated, because it was not updated in yesterday's ANGLE
update.
* include/GLSLANG/ShaderVars.h:
* src/libANGLE/Platform.cpp:
2017-11-30 Alex Christensen <achristensen@webkit.org>
Speculative WinCairo fix.
https://bugs.webkit.org/show_bug.cgi?id=180177
* CMakeLists.txt:
* PlatformWin.cmake:
2017-11-30 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed build fix, remove executable property from a header file.
* include/KHR/khrplatform.h: Removed property svn:executable.
2017-11-30 Dean Jackson <dino@apple.com>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=180177
<rdar://problem/35774734>
Reviewed by Alex Christensen.
Huge list of changed files omitted.
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Sam Weinig.
* Configurations/Base.xcconfig:
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
2017-07-13 Adrian Perez de Castro <aperez@igalia.com>
eglplatform.h does not support Wayland
https://bugs.webkit.org/show_bug.cgi?id=163482
This makes it possible to build WebKitGTK+ when the target system has only Wayland support,
but no X11 (and therefore the X11 headers are not present).
Reviewed by Alex Christensen.
* include/EGL/eglplatform.h: Add Wayland typedefs when WL_EGL_PLATFORM is defined (for example
by including wayland-egl.h before including EGL/egl.h). Also, include the X11 headers only
when ANGLE_USE_X11 is defined and, for consistency with Mesa's version of the header, when
MESA_EGL_NO_X11_HEADERS is not defined.
2017-07-03 Andy Estes <aestes@apple.com>
[Xcode] Add an experimental setting to build with ccache
https://bugs.webkit.org/show_bug.cgi?id=173875
Reviewed by Tim Horton.
* Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
2017-07-01 Dan Bernstein <mitz@apple.com>
[macOS] Remove code only needed when building for OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=174067
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2017-06-10 Dan Bernstein <mitz@apple.com>
Reverted r218056 because it made the IDE reindex constantly.
* Configurations/DebugRelease.xcconfig:
2017-06-10 Dan Bernstein <mitz@apple.com>
[Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
https://bugs.webkit.org/show_bug.cgi?id=173223
Reviewed by Sam Weinig.
The rebuilds were happening due to a difference in the compiler options that the IDE and
xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
specify an appropriate path in CLANG_INDEX_STORE_PATH.
* Configurations/DebugRelease.xcconfig:
2017-05-28 Dan Bernstein <mitz@apple.com>
[Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
https://bugs.webkit.org/show_bug.cgi?id=172691
Reviewed by Tim Horton.
* Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
2017-05-09 Zan Dobersek <zdobersek@igalia.com>
Upstream the WPE port
https://bugs.webkit.org/show_bug.cgi?id=171110
Reviewed by Alex Christensen.
* include/EGL/eglplatform.h:
Allow building WPE on platforms that don't provide X11 libraries.
2017-05-04 Don Olmstead <don.olmstead@am.sony.com>
[Win] Remove redundant macros that are set in the CMake config
https://bugs.webkit.org/show_bug.cgi?id=171571
Reviewed by Brent Fulgham.
* CMakeLists.txt:
2017-04-20 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere
https://bugs.webkit.org/show_bug.cgi?id=171071
Reviewed by Michael Catanzaro.
"${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the
build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should
be available for all ports.
* CMakeLists.txt:
2017-04-20 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Fix build break after updating ANGLE
https://bugs.webkit.org/show_bug.cgi?id=170980
Reviewed by Brent Fulgham.
* CMakeLists.txt: Added some new source files.
* PlatformMac.cmake: Ditto.
* PlatformWin.cmake: Ditto. Remove a macro 'ANGLE_WEBKIT_WIN'
because SoftLinking is not used anymore.
* src/third_party/systeminfo/: Restored.
2017-04-19 Ryan Haddad <ryanhaddad@apple.com>
Remove executable property from a header file.
* include/KHR/khrplatform.h: Removed property svn:executable.
2017-04-18 Dean Jackson <dino@apple.com>
Add the actual content to the files, now that
SVN knows they can have tabs.
* src/third_party/murmurhash/MurmurHash3.cpp:
* src/third_party/murmurhash/MurmurHash3.h:
2017-04-18 Dean Jackson <dino@apple.com>
WinCairo needs these files I recently removed
from our copy of ANGLE.
* src/third_party/murmurhash/LICENSE: Added.
* src/third_party/murmurhash/MurmurHash3.cpp: Added.
* src/third_party/murmurhash/MurmurHash3.h: Added.
2017-04-18 Dean Jackson <dino@apple.com>
Still trying to fix Windows.
* PlatformWin.cmake:
2017-04-18 Dean Jackson <dino@apple.com>
Attempt to fix the Windows build.
* PlatformWin.cmake:
2017-04-18 Dean Jackson <dino@apple.com>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=170941
<rdar://problem/31633999>
Reviewed by Alex Christensen.
Huge list of changed files omitted.
2017-04-12 Dan Bernstein <mitz@apple.com>
[Mac] Future-proof .xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=170802
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2016-12-20 Tim Horton <timothy_horton@apple.com>
Remove an ANGLE Markdown file from the ANGLE target
https://bugs.webkit.org/show_bug.cgi?id=166279
Reviewed by Alex Christensen.
* ANGLE.xcodeproj/project.pbxproj:
We don't need to build this, it's not source code.
2016-12-15 Myles C. Maxfield <mmaxfield@apple.com>
Sort Xcode project files
https://bugs.webkit.org/show_bug.cgi?id=165937
Reviewed by Simon Fraser.
* ANGLE.xcodeproj/project.pbxproj:
2016-12-15 Alex Christensen <achristensen@webkit.org>
Fix Windows WebGL build after r209832
* CMakeLists.txt:
* include/EGL/egl.h:
* include/GLES2/gl2.h:
2016-12-14 Alex Christensen <achristensen@webkit.org>
Progress towards using ANGLE to do WebGL rendering
https://bugs.webkit.org/show_bug.cgi?id=165864
Reviewed by Dean Jackson.
* ANGLE.xcodeproj/project.pbxproj:
Compile more files, and add some more "public" headers.
ANGLE is not a public framework, so these headers just go in
WebKitBuild/Release/usr/local/include/ANGLE to be included when compiling WebCore.
* ANGLE/egl.h: Added.
* ANGLE/eglext.h: Added.
* ANGLE/eglplatform.h: Added.
* ANGLE/entry_points_gles_2_0.h: Added.
* ANGLE/entry_points_gles_2_0_ext.h: Added.
* ANGLE/entry_points_gles_3_0.h: Added.
* ANGLE/export.h: Added.
* ANGLE/gl2.h: Added.
* ANGLE/gl2ext.h: Added.
* ANGLE/gl2platform.h: Added.
* ANGLE/gl3.h: Added.
* ANGLE/gl31.h: Added.
* ANGLE/gl3platform.h: Added.
* ANGLE/khrplatform.h: Added.
Add more forwarding headers. There are already a few, but we need more.
* CMakeLists.txt:
* PlatformMac.cmake:
Make the frameworks linked to by ANGLE be private so frameworks that link with
ANGLE don't automatically link with them. This allows me to switch ANGLE from a
static library to a dynamic library to make sure WebCore isn't directly using OpenGL.
* PlatformWin.cmake:
Move HLSL-specific files to only be built on Windows.
* include/EGL/egl.h:
* include/EGL/eglplatform.h:
* include/GLES2/gl2.h:
* include/GLES2/gl2platform.h:
* include/GLES3/gl3.h:
* include/GLES3/gl31.h:
* include/GLES3/gl32.h:
* include/GLES3/gl3platform.h:
* src/libGLESv2/entry_points_egl.h:
* src/libGLESv2/entry_points_egl_ext.h:
* src/libGLESv2/entry_points_gles_2_0.h:
* src/libGLESv2/entry_points_gles_2_0_ext.h:
* src/libGLESv2/entry_points_gles_3_0.h:
* src/libGLESv2/entry_points_gles_3_1.h:
Include ANGLE headers as #include <ANGLE/*> instead of #include <KHR/*> or #include <GLES/*>
This is needed to distinguish the ANGLE headers from any system OpenGL/OpenGLES headers.
We will eventually only include ANGLE's entry_points_*.h directly from WebCore.
2016-12-07 Alex Christensen <achristensen@webkit.org>
Build more of ANGLE on Mac and Windows
https://bugs.webkit.org/show_bug.cgi?id=165543
Reviewed by Dean Jackson.
We will need to compile these files to use ANGLE's GLESv2 implementation instead of
using OpenGL directly. No functional change.
* ANGLE.xcodeproj/project.pbxproj:
* CMakeLists.txt:
Move platform-specific files to Platform*.cmake.
* PlatformMac.cmake: Added.
* PlatformWin.cmake: Added.
* src/libANGLE/renderer/Format.cpp:
* src/libANGLE/renderer/Format_autogen.cpp:
(angle::Format::Get):
* src/libANGLE/renderer/gl/PathGL.cpp:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
Rename SwapLayer to WebSwapLayer. Otherwise, WebCore complains about improperly named ObjC classes.
Since this is the only one, let's just rename it instead of adding an exception.
(rx::WindowSurfaceCGL::initialize):
(-[SwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::GetInternalFormatMap):
(rx::nativegl::GetInternalFormatInfo):
* src/libANGLE/renderer/renderer_utils.cpp:
(rx::GetColorWriteFunction):
* src/libGLESv2/entry_points_egl.cpp:
(egl::GetProcAddress):
2016-12-06 Alexey Proskuryakov <ap@apple.com>
Correct SDKROOT values in xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=165487
rdar://problem/29539209
Reviewed by Dan Bernstein.
Fix suggested by Dan Bernstein.
* Configurations/DebugRelease.xcconfig:
2016-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
-Wpragmas warning spam from angleutils.h
https://bugs.webkit.org/show_bug.cgi?id=164207
Reviewed by Darin Adler.
Use #pragma clang instead of #pragma GCC since all of the warnings we need to suppress are
Clang-specific warnings. GCC ignores unknown pragmas and does not warn, but it does warn if
any GCC pragma is invalid.
Note that this might still be broken for MSVCC, as MSVCC warns when it sees unknown pragmas.
* changes.diff:
* src/common/angleutils.cpp:
(FormatString):
* src/common/angleutils.h:
(MakeStaticString):
* src/common/debug.cpp:
* src/common/mathutil.cpp:
* src/libANGLE/Caps.cpp:
(gl::TextureCapsMap::get):
(gl::GetExtensionInfoMap):
* src/libANGLE/Device.cpp:
(egl::GetDeviceSet):
* src/libANGLE/Display.cpp:
(egl::Display::getClientExtensionString):
* src/libANGLE/formatutils.cpp:
(gl::GetInternalFormatMap):
(gl::GetAllSizedInternalFormats):
* src/libANGLE/validationES3.cpp:
(gl::IsValidES3CopyTexImageCombination):
2016-10-28 Alex Christensen <achristensen@webkit.org>
Another build fix.
* CMakeLists.txt:
2016-10-28 Alex Christensen <achristensen@webkit.org>
Fix Windows WebGL build after r208036
https://bugs.webkit.org/show_bug.cgi?id=164101
* CMakeLists.txt:
2016-10-27 Alex Christensen <achristensen@webkit.org>
Fix Windows WebGL build after r208036
https://bugs.webkit.org/show_bug.cgi?id=164101
* CMakeLists.txt:
Add new files, remove deleted files.
2016-10-27 Alex Christensen <achristensen@webkit.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=164101
Reviewed by Darin Adler.
Updated to f01731530e7f754e5ebaf32d00f3e23b62376424
Differences between upstream ANGLE and WebKit's copy of ANGLE are in changes.diff
2016-10-24 Alex Christensen <achristensen@webkit.org>
Remove unused ANGLE.vcxproj after switching to CMake on Windows
* ANGLE.vcxproj: Removed.
* ANGLE.vcxproj/ANGLERelease.props: Removed.
* ANGLE.vcxproj/DirectX32.props: Removed.
* ANGLE.vcxproj/DirectX64.props: Removed.
* ANGLE.vcxproj/libEGL.vcxproj: Removed.
* ANGLE.vcxproj/libEGL.vcxproj.filters: Removed.
* ANGLE.vcxproj/libEGLCommon.props: Removed.
* ANGLE.vcxproj/libGLESv2.vcxproj: Removed.
* ANGLE.vcxproj/libGLESv2.vcxproj.filters: Removed.
* ANGLE.vcxproj/libGLESv2Common.props: Removed.
* ANGLE.vcxproj/preprocessor.vcxproj: Removed.
* ANGLE.vcxproj/preprocessor.vcxproj.filters: Removed.
* ANGLE.vcxproj/translatorCommon.props: Removed.
* ANGLE.vcxproj/translator_common.vcxproj: Removed.
* ANGLE.vcxproj/translator_common.vcxproj.filters: Removed.
* ANGLE.vcxproj/translator_glsl.vcxproj: Removed.
* ANGLE.vcxproj/translator_glsl.vcxproj.filters: Removed.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Removed.
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Removed.
2016-09-09 Dean Jackson <dino@apple.com>
[ANGLE] instantiation of variable 'gl::GLTypeToGLenum<float>::value' required here, but no definition is available
https://bugs.webkit.org/show_bug.cgi?id=161829
<rdar://problem/28051244>
Reviewed by Alex Christensen.
Newer versions of clang require explicit definition of some template types
if they are in another translation unit.
* src/libANGLE/Program.cpp: Add definitions for GLTypeToGLenum.
2016-07-29 David Kilzer <ddkilzer@apple.com>
ANGLE: Fix global constructors and exit-time destructors
<https://webkit.org/b/160332>
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
- Add warning flags.
* src/common/angleutils.cpp:
(FormatString):
* src/common/angleutils.h:
(MakeStaticString):
* src/common/debug.cpp:
* src/common/mathutil.cpp:
(gl::g_sharedexp_max):
(gl::convertRGBFloatsTo999E5):
* src/compiler/translator/ShaderLang.cpp:
(ShGetUniformRegisterMap):
* src/libANGLE/Caps.cpp:
(gl::TextureCapsMap::get):
* src/libANGLE/Device.cpp:
(egl::GetDeviceSet):
* src/libANGLE/Display.cpp:
(egl::Display::getClientExtensionString):
* src/libANGLE/formatutils.cpp:
(gl::BuildFormatMap):
(gl::BuildInternalFormatInfoMap):
(gl::GetInternalFormatMap):
(gl::BuildAllSizedInternalFormatSet):
(gl::GetSizedInternalFormat):
(gl::GetAllSizedInternalFormats):
* src/libANGLE/validationES3.cpp:
(gl::BuildES3FormatSet):
(gl::ValidateTexImageFormatCombination):
(gl::BuildSizedEffectiveInternalFormatList):
(gl::BuildUnsizedEffectiveInternalFormatList):
(gl::GetEffectiveInternalFormat):
(gl::BuildValidES3CopyTexImageCombinations):
(gl::IsValidES3CopyTexImageCombination):
- Fix global constructors and exit-time destructors.
2016-07-13 Enrica Casucci <enrica@apple.com>
Update supported platforms in xcconfig files to match the sdk names.
https://bugs.webkit.org/show_bug.cgi?id=159728
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
2016-05-24 Alex Christensen <achristensen@webkit.org>
Fix iOS WebGL after r199738
https://bugs.webkit.org/show_bug.cgi?id=158024
rdar://problem/26446679
Reviewed by Myles Maxfield.
* ANGLE.xcodeproj/project.pbxproj:
iOS needs the ESSL translator.
2016-05-22 Brady Eidson <beidson@apple.com>
Move to C++14.
https://bugs.webkit.org/show_bug.cgi?id=157948
Reviewed by Michael Catanzaro.
* Configurations/Base.xcconfig:
2016-04-26 Per Arne Vollan <peavo@outlook.com>
[WinCairo][ANGLE] Display object is not created.
https://bugs.webkit.org/show_bug.cgi?id=157042
Reviewed by Alex Christensen.
The CreateDisplayFromAttribs function will not create a DisplayD3D object when the requested
type is EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE, because ANGLE_ENABLE_OPENGL is not defined.
We should be able to create a DisplayD3D object without defining ANGLE_ENABLE_OPENGL.
* src/libANGLE/Display.cpp:
2016-04-26 Per Arne Vollan <peavo@outlook.com>
[WinCairo][WebGL] Enable ESSL and GLSL translators.
https://bugs.webkit.org/show_bug.cgi?id=157002
Reviewed by Darin Adler.
Enable support for ESSL and GLSL translators, and add missing files.
* CMakeLists.txt:
2016-04-22 Joonghun Park <jh718.park@samsung.com>
[ANGLE] Remove deprecated auto_ptr warning. Unreviewed.
https://bugs.webkit.org/show_bug.cgi?id=156894
* src/compiler/preprocessor/MacroExpander.h: Use std::unique_ptr instead of std::auto_ptr.
2016-04-19 Alex Christensen <achristensen@webkit.org>
Build fix after r199738
* CMakeLists.txt:
2016-04-19 Alex Christensen <achristensen@webkit.org>
Build fix after r199738
* CMakeLists.txt:
2016-04-19 Alex Christensen <achristensen@webkit.org>
Build fix.
* src/compiler/translator/Intermediate.h: Added.
(TIntermediate::TIntermediate):
* src/compiler/translator/intermediate.h: Removed.
Changed case of Intermediate.h file name for case sensitive file systems.
2016-04-19 Alex Christensen <achristensen@webkit.org>
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=156755
Reviewed by Dean Jackson.
Huge list of changed files omitted.
2016-04-12 Alex Christensen <achristensen@webkit.org>
Remove failing assertion in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=156485
Reviewed by Dean Jackson.
* src/compiler/translator/glslang.l:
* src/compiler/translator/glslang_lex.cpp:
2016-04-11 Fujii Hironori <Hironori.Fujii@jp.sony.com>
[CMake] Make FOLDER property INHERITED
https://bugs.webkit.org/show_bug.cgi?id=156460
Reviewed by Brent Fulgham.
* CMakeLists.txt:
Set FOLDER property as a directory property not a target property
2016-03-22 Alberto Garcia <berto@igalia.com>
Unreviewed typo fix.
* src/compiler/translator/InfoSink.cpp:
(TInfoSinkBase::prefix): "UNKOWN" => "UNKOWN".
2016-03-20 Dan Bernstein <mitz@apple.com>
[Mac] Determine TARGET_MAC_OS_X_VERSION_MAJOR from MACOSX_DEPLOYMENT_TARGET rather than from MAC_OS_X_VERSION_MAJOR
https://bugs.webkit.org/show_bug.cgi?id=155707
<rdar://problem/24980691>
Reviewed by Darin Adler.
* Configurations/Base.xcconfig: Set TARGET_MAC_OS_X_VERSION_MAJOR based on the last
component of MACOSX_DEPLOYMENT_TARGET.
* Configurations/DebugRelease.xcconfig: For engineering builds, preserve the behavior of
TARGET_MAC_OS_X_VERSION_MAJOR being the host’s OS version.
2016-03-20 Dan Bernstein <mitz@apple.com>
Update build settings
Rubber-stamped by Andy Estes.
* Configurations/DebugRelease.xcconfig:
2016-02-23 Dan Bernstein <mitz@apple.com>
[Xcode] Linker errors display mangled names, but no longer should
https://bugs.webkit.org/show_bug.cgi?id=154632
Reviewed by Sam Weinig.
* Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
2016-01-08 Brent Fulgham <bfulgham@apple.com>
[ANGLE] Correct UNREACHABLE runtime assertion for void constructors
https://bugs.webkit.org/show_bug.cgi?id=152900
<rdar://problem/24107501>
Reviewed by Alex Christensen.
Tested by Khronos WebGL 1.0.4 suite.
Merge a small part of ANGLE upstream commit r284735:
commit 01971113492d9aca386f2bca021b1f4b134fc277
author Dmitry Skiba <dskiba@google.com> Fri Jul 10 18:54:00 2015
committer Jamie Madill <jmadill@chromium.org> Fri Jul 10 19:03:34 2015
tree 47e42eac00f7d64cddb14b3cc21a4e605c189d20
This issue was found by <https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/angle-constructor-invalid-parameters.html?webglVersion=1&quiet=0>
* src/compiler/translator/Types.cpp:
(TType::buildMangledName): Don't assert with UNREACHABLE here.
2015-12-28 Joonghun Park <jh718.park@samsung.com>
[ANGLE][EFL][GTK] Remove 'template<class> class std::auto_ptr is deprecated' compile warning
https://bugs.webkit.org/show_bug.cgi?id=152567
Reviewed by Alex Christensen.
Because auto_ptr is deprecated as of C++11, we should use unique_ptr instead.
* src/compiler/preprocessor/MacroExpander.h:
2015-12-19 Dan Bernstein <mitz@apple.com>
[Mac] WebKit contains dead source code for OS X Mavericks and earlier
https://bugs.webkit.org/show_bug.cgi?id=152462
Reviewed by Alexey Proskuryakov.
* Configurations/DebugRelease.xcconfig: Removed definitions of MACOSX_DEPLOYMENT_TARGET for
OS X 10.8 and 10.9.
2015-12-03 Anders Carlsson <andersca@apple.com>
Remove Objective-C GC support
https://bugs.webkit.org/show_bug.cgi?id=151819
rdar://problem/23746991
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2015-11-30 Dana Burkart <dburkart@apple.com>
Remove Mountain Lion support from ANGLE
https://bugs.webkit.org/show_bug.cgi?id=151679
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
2015-11-02 Andy Estes <aestes@apple.com>
[Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
https://bugs.webkit.org/show_bug.cgi?id=150819
Reviewed by Dan Bernstein.
This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
* Configurations/Base.xcconfig:
2015-10-10 Dan Bernstein <mitz@apple.com>
[iOS] Remove project support for iOS 8
https://bugs.webkit.org/show_bug.cgi?id=149993
Reviewed by Alexey Proskuryakov.
* Configurations/ANGLE.xcconfig:
* Configurations/Base.xcconfig:
2015-08-20 Alex Christensen <achristensen@webkit.org>
Clean up CMake build after r188673
https://bugs.webkit.org/show_bug.cgi?id=148234
Reviewed by Tim Horton.
* CMakeLists.txt:
Copy headers to forwarding headers.
2015-08-11 Brent Fulgham <bfulgham@apple.com>
[Win] Switch Windows build to Visual Studio 2015
https://bugs.webkit.org/show_bug.cgi?id=147887
<rdar://problem/22235098>
Reviewed by Alex Christensen.
Update Visual Studio project file settings to use the current Visual
Studio and compiler. Continue targeting binaries to run on our minimum
supported configuration of Windows 7.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
2015-08-04 Alex Christensen <achristensen@webkit.org>
Build fix after r187928.
* CMakeLists.txt:
Typo. Set libGLESv2 compile definitions instead of libEGL, which are set separately.
2015-08-04 Alex Christensen <achristensen@webkit.org>
Soft link libGLESv2 and libEGL on Windows again
https://bugs.webkit.org/show_bug.cgi?id=147671
Reviewed by Dean Jackson.
* CMakeLists.txt:
Clean up some warnings when compiling with CMake.
* include/EGL/egl.h:
* include/EGL/eglsoftlinking.h:
* include/GLES2/gl2.h:
Soft link egl optionally.
2015-08-04 Alex Christensen <achristensen@webkit.org>
Enable WebGL on Windows CMake build.
https://bugs.webkit.org/show_bug.cgi?id=143311
Reviewed by Csaba Osztrogonác.
* CMakeLists.txt: Added.
2015-07-03 Dan Bernstein <mitz@apple.com>
[Xcode] Update some build settings as recommended by Xcode 7
https://bugs.webkit.org/show_bug.cgi?id=146597
Reviewed by Sam Weinig.
* ANGLE.xcodeproj/project.pbxproj: Enabled CLANG_WARN_BOOL_CONVERSION,
CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, ENABLE_STRICT_OBJC_MSGSEND and
GCC_NO_COMMON_BLOCKS.
* Configurations/Base.xcconfig: Updated LastUpgradeCheck.
2015-07-03 Per Arne Vollan <peavo@outlook.com>
[WinCairo][WebGL] Enable HLSL.
https://bugs.webkit.org/show_bug.cgi?id=146559
Reviewed by Alex Christensen.
High Level Shader Language needs to be enabled for WebGL to work on Windows.
* ANGLE.vcxproj/translatorCommon.props:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
2015-07-01 Alex Christensen <achristensen@webkit.org>
Re-enable WebGL on WinCairo
https://bugs.webkit.org/show_bug.cgi?id=146537
Reviewed by Csaba Osztrogonác.
* ANGLE.vcxproj/DirectX32.props:
* ANGLE.vcxproj/DirectX64.props:
* ANGLE.vcxproj/libGLESv2Common.props:
Update DirectX directories to use the Windows SDK instead of the June 2010 DirectX SDK.
2015-07-01 Alex Christensen <achristensen@webkit.org>
Fix ANGLE Windows build after r186169.
https://bugs.webkit.org/show_bug.cgi?id=146532
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libEGL.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj.filters:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj.filters:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
Update Windows build to build new files.
2015-06-30 Alex Christensen <achristensen@webkit.org>
Update ANGLE to b11e2483742db884bd0af41f78f528240577356b.
https://bugs.webkit.org/show_bug.cgi?id=145010
Reviewed by Dean Jackson.
Huge list of source changes omitted.
ROLL DEPS!
2015-05-26 Dan Bernstein <mitz@apple.com>
<rdar://problem/21104551> Update build settings
Reviewed by Anders Carlsson.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2015-05-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
https://bugs.webkit.org/show_bug.cgi?id=145156
Reviewed by Alex Christensen.
* include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.
2015-05-11 Brent Fulgham <bfulgham@apple.com>
[Win] Move Windows build target to Windows 7 (or newer)
https://bugs.webkit.org/show_bug.cgi?id=144890
<rdar://problem/20707307>
Reviewed by Anders Carlsson.
Update linked SDK and minimal Windows level to be compatible with
Windows 7 or newer.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
2015-05-07 Dan Bernstein <mitz@apple.com>
<rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
https://bugs.webkit.org/show_bug.cgi?id=144727
Reviewed by Darin Adler.
* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
2015-04-01 Alex Christensen <achristensen@webkit.org>
Progress towards CMake on Windows and Mac.
https://bugs.webkit.org/show_bug.cgi?id=143293
Reviewed by Filip Pizlo.
* include/GLES2/gl2.h:
Temporarily disabled WebGL on Windows CMake builds.
2015-03-17 Zan Dobersek <zdobersek@igalia.com>
[CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
https://bugs.webkit.org/show_bug.cgi?id=142530
Reviewed by Darin Adler.
* ANGLE/ShaderLang.h: Added. Includes include/GLSLANG/ShaderLang.h. Used in WebCore
so we can avoid using ANGLE's EGL headers and use the system-default headers instead.
2015-03-16 Roger Fong <roger_fong@apple.com>
[Win] Unreviewed build fix after r181571.
* include/GLES2/gl2softlinking.h:
2015-03-12 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed build fix (part 2).
* ANGLE.vcxproj/libGLESv2Common.props: Missed a directory separator.
2015-03-12 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed build fix for some DirectX SDK Installs
* ANGLE.vcxproj/libGLESv2Common.props: Correct path for Lib and
Include paths based on problems others have had building WebKit
under different Windows and DirectX revisions.
2015-02-20 Alexey Proskuryakov <ap@apple.com>
Remove svn:keywords property.
As far as I can tell, the property had no effect on any of these files, but also,
when it has effect it's likely harmful.
* ANGLE.txt: Removed property svn:keywords.
* src/common/RefCountObject.cpp: Removed property svn:keywords.
* src/common/RefCountObject.h: Removed property svn:keywords.
* src/compiler/translator/BaseTypes.h: Removed property svn:keywords.
* src/compiler/translator/BuiltInFunctionEmulator.cpp: Removed property svn:keywords.
* src/compiler/translator/BuiltInFunctionEmulator.h: Removed property svn:keywords.
* src/compiler/translator/CodeGen.cpp: Removed property svn:keywords.
* src/compiler/translator/Common.h: Removed property svn:keywords.
* src/compiler/translator/Compiler.cpp: Removed property svn:keywords.
* src/compiler/translator/ConstantUnion.h: Removed property svn:keywords.
* src/compiler/translator/DetectCallDepth.cpp: Removed property svn:keywords.
* src/compiler/translator/DetectCallDepth.h: Removed property svn:keywords.
* src/compiler/translator/DetectDiscontinuity.cpp: Removed property svn:keywords.
* src/compiler/translator/DetectDiscontinuity.h: Removed property svn:keywords.
* src/compiler/translator/Diagnostics.cpp: Removed property svn:keywords.
* src/compiler/translator/Diagnostics.h: Removed property svn:keywords.
* src/compiler/translator/DirectiveHandler.cpp: Removed property svn:keywords.
* src/compiler/translator/DirectiveHandler.h: Removed property svn:keywords.
* src/compiler/translator/ExtensionBehavior.h: Removed property svn:keywords.
* src/compiler/translator/ForLoopUnroll.cpp: Removed property svn:keywords.
* src/compiler/translator/ForLoopUnroll.h: Removed property svn:keywords.
* src/compiler/translator/HashNames.h: Removed property svn:keywords.
* src/compiler/translator/InfoSink.cpp: Removed property svn:keywords.
* src/compiler/translator/InfoSink.h: Removed property svn:keywords.
* src/compiler/translator/Initialize.cpp: Removed property svn:keywords.
* src/compiler/translator/Initialize.h: Removed property svn:keywords.
* src/compiler/translator/InitializeDll.cpp: Removed property svn:keywords.
* src/compiler/translator/InitializeDll.h: Removed property svn:keywords.
* src/compiler/translator/InitializeGlobals.h: Removed property svn:keywords.
* src/compiler/translator/InitializeParseContext.cpp: Removed property svn:keywords.
* src/compiler/translator/InitializeParseContext.h: Removed property svn:keywords.
* src/compiler/translator/InitializeVariables.cpp: Removed property svn:keywords.
* src/compiler/translator/InitializeVariables.h: Removed property svn:keywords.
* src/compiler/translator/IntermTraverse.cpp: Removed property svn:keywords.
* src/compiler/translator/Intermediate.cpp: Removed property svn:keywords.
* src/compiler/translator/MMap.h: Removed property svn:keywords.
* src/compiler/translator/NodeSearch.h: Removed property svn:keywords.
* src/compiler/translator/OutputESSL.cpp: Removed property svn:keywords.
* src/compiler/translator/OutputESSL.h: Removed property svn:keywords.
* src/compiler/translator/OutputGLSL.cpp: Removed property svn:keywords.
* src/compiler/translator/OutputGLSL.h: Removed property svn:keywords.
* src/compiler/translator/OutputGLSLBase.cpp: Removed property svn:keywords.
* src/compiler/translator/OutputGLSLBase.h: Removed property svn:keywords.
* src/compiler/translator/OutputHLSL.cpp: Removed property svn:keywords.
* src/compiler/translator/OutputHLSL.h: Removed property svn:keywords.
* src/compiler/translator/ParseContext.cpp: Removed property svn:keywords.
* src/compiler/translator/ParseContext.h: Removed property svn:keywords.
* src/compiler/translator/PoolAlloc.cpp: Removed property svn:keywords.
* src/compiler/translator/PoolAlloc.h: Removed property svn:keywords.
* src/compiler/translator/Pragma.h: Removed property svn:keywords.
* src/compiler/translator/QualifierAlive.cpp: Removed property svn:keywords.
* src/compiler/translator/QualifierAlive.h: Removed property svn:keywords.
* src/compiler/translator/RemoveTree.cpp: Removed property svn:keywords.
* src/compiler/translator/RemoveTree.h: Removed property svn:keywords.
* src/compiler/translator/RenameFunction.h: Removed property svn:keywords.
* src/compiler/translator/RewriteElseBlocks.cpp: Removed property svn:keywords.
* src/compiler/translator/RewriteElseBlocks.h: Removed property svn:keywords.
* src/compiler/translator/SearchSymbol.cpp: Removed property svn:keywords.
* src/compiler/translator/SearchSymbol.h: Removed property svn:keywords.
* src/compiler/translator/ShHandle.h: Removed property svn:keywords.
* src/compiler/translator/ShaderLang.cpp: Removed property svn:keywords.
* src/compiler/translator/SymbolTable.cpp: Removed property svn:keywords.
* src/compiler/translator/SymbolTable.h: Removed property svn:keywords.
* src/compiler/translator/TranslatorESSL.cpp: Removed property svn:keywords.
* src/compiler/translator/TranslatorESSL.h: Removed property svn:keywords.
* src/compiler/translator/TranslatorGLSL.cpp: Removed property svn:keywords.
* src/compiler/translator/TranslatorGLSL.h: Removed property svn:keywords.
* src/compiler/translator/TranslatorHLSL.cpp: Removed property svn:keywords.
* src/compiler/translator/TranslatorHLSL.h: Removed property svn:keywords.
* src/compiler/translator/Types.h: Removed property svn:keywords.
* src/compiler/translator/UnfoldShortCircuit.cpp: Removed property svn:keywords.
* src/compiler/translator/UnfoldShortCircuit.h: Removed property svn:keywords.
* src/compiler/translator/UnfoldShortCircuitAST.cpp: Removed property svn:keywords.
* src/compiler/translator/UnfoldShortCircuitAST.h: Removed property svn:keywords.
* src/compiler/translator/ValidateLimitations.cpp: Removed property svn:keywords.
* src/compiler/translator/ValidateLimitations.h: Removed property svn:keywords.
* src/compiler/translator/VariableInfo.cpp: Removed property svn:keywords.
* src/compiler/translator/VariableInfo.h: Removed property svn:keywords.
* src/compiler/translator/VariablePacker.cpp: Removed property svn:keywords.
* src/compiler/translator/VariablePacker.h: Removed property svn:keywords.
* src/compiler/translator/VersionGLSL.cpp: Removed property svn:keywords.
* src/compiler/translator/VersionGLSL.h: Removed property svn:keywords.
* src/compiler/translator/compilerdebug.cpp: Removed property svn:keywords.
* src/compiler/translator/compilerdebug.h: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraph.cpp: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraph.h: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraphBuilder.cpp: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraphBuilder.h: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraphOutput.cpp: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraphOutput.h: Removed property svn:keywords.
* src/compiler/translator/depgraph/DependencyGraphTraverse.cpp: Removed property svn:keywords.
* src/compiler/translator/generate_parser.sh: Removed property svn:keywords.
* src/compiler/translator/glslang.h: Removed property svn:keywords.
* src/compiler/translator/glslang_lex.cpp: Removed property svn:keywords.
* src/compiler/translator/glslang_tab.cpp: Removed property svn:keywords.
* src/compiler/translator/glslang_tab.h: Removed property svn:keywords.
* src/compiler/translator/intermOut.cpp: Removed property svn:keywords.
* src/compiler/translator/intermediate.h: Removed property svn:keywords.
* src/compiler/translator/localintermediate.h: Removed property svn:keywords.
* src/compiler/translator/osinclude.h: Removed property svn:keywords.
* src/compiler/translator/ossource_posix.cpp: Removed property svn:keywords.
* src/compiler/translator/ossource_win.cpp: Removed property svn:keywords.
* src/compiler/translator/parseConst.cpp: Removed property svn:keywords.
* src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp: Removed property svn:keywords.
* src/compiler/translator/timing/RestrictFragmentShaderTiming.h: Removed property svn:keywords.
* src/compiler/translator/timing/RestrictVertexShaderTiming.cpp: Removed property svn:keywords.
* src/compiler/translator/timing/RestrictVertexShaderTiming.h: Removed property svn:keywords.
* src/compiler/translator/util.cpp: Removed property svn:keywords.
* src/compiler/translator/util.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/BufferStorage11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/BufferStorage11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Fence11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Fence11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Image11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Image11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/IndexBuffer11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/InputLayoutCache.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Query11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Query11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/RenderStateCache.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/RenderStateCache.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/RenderTarget11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/RenderTarget11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Renderer11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/Renderer11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/ShaderExecutable11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/SwapChain11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/SwapChain11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/TextureStorage11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/TextureStorage11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/VertexBuffer11.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/renderer11_utils.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d11/renderer11_utils.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/BufferStorage9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/BufferStorage9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Fence9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Fence9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Image9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Image9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/IndexBuffer9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Query9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Query9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/RenderTarget9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/RenderTarget9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Renderer9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/Renderer9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/ShaderExecutable9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/SwapChain9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/SwapChain9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/TextureStorage9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/TextureStorage9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/VertexBuffer9.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/renderer9_utils.cpp: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/renderer9_utils.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h: Removed property svn:keywords.
* src/libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h: Removed property svn:keywords.
2015-01-28 Dana Burkart <dburkart@apple.com>
Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=136765
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2014-12-26 Dan Bernstein <mitz@apple.com>
<rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
https://bugs.webkit.org/show_bug.cgi?id=139950
Reviewed by David Kilzer.
* Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
in a manner that works with Xcode 5.1.1.
2014-12-24 Dan Bernstein <mitz@apple.com>
ANGLE extern symbols are not hidden by default, but should be
https://bugs.webkit.org/show_bug.cgi?id=139936
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig: Changed GCC_SYMBOLS_PRIVATE_EXTERN to YES.
2014-12-24 Dan Bernstein <mitz@apple.com>
Removed the Derived Sources target.
It has been empty since r159533.
* ANGLE.xcodeproj/project.pbxproj:
2014-12-09 David Kilzer <ddkilzer@apple.com>
Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
<http://webkit.org/b/139212>
Reviewed by Joseph Pecoraro.
* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
2014-10-30 Dana Burkart <dburkart@apple.com>
<rdar://problem/18821260> Prepare for the mysterious future
Reviewed by Lucas Forschler.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2014-10-08 Brent Fulgham <bfulgham@apple.com>
[Win] Use proper v120 target for 64-bit builds.
* ANGLE.vcxproj/libEGL.vcxproj:
2014-09-29 peavo@outlook.com <peavo@outlook.com>
[WinCairo] D3D11 is not used by default.
https://bugs.webkit.org/show_bug.cgi?id=137215
Reviewed by Alex Christensen.
ANGLE_DEFAULT_D3D11 needs to be defined for D3D11 to be used as default.
* ANGLE.vcxproj/libGLESv2Common.props:
2014-09-19 Daniel Bates <dabates@apple.com>
Always assume internal SDK when building configuration Production
https://bugs.webkit.org/show_bug.cgi?id=136925
<rdar://problem/18362399>
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2014-09-10 Roger Fong <roger_fong@apple.com>
Check for varying packing restrictions per program instead of per shader.
https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>.
Reviewed by Dean Jackson.
Remove varying packing restrictions checks from ANGLE.
* src/compiler/translator/Compiler.cpp:
(TCompiler::compile):
(TCompiler::enforcePackingRestrictions):
* src/compiler/translator/ShHandle.h:
2014-09-06 Darin Adler <darin@apple.com>
Make updates suggested by new version of Xcode
https://bugs.webkit.org/show_bug.cgi?id=136603
Reviewed by Mark Rowe.
* ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
* Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,
CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
2014-09-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r173335.
https://bugs.webkit.org/show_bug.cgi?id=136597
Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
packing-restrictions.html (Requested by ap on #webkit).
Reverted changeset:
"Remove statically used varyings from packing restrictions
check."
https://bugs.webkit.org/show_bug.cgi?id=136585
http://trac.webkit.org/changeset/173335
2014-09-05 Roger Fong <roger_fong@apple.com>
Remove statically used varyings from packing restrictions check.
https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>
Reviewed by Dean Jackson.
* src/compiler/translator/Compiler.cpp:
(TCompiler::enforcePackingRestrictions):
2014-08-29 Csaba Osztrogonác <ossy@webkit.org>
Unreviwed, remove empty directories.
* src/compiler/depgraph: Removed.
* src/compiler/timing: Removed.
* src/libGLESv2/renderer/shaders: Removed.
* src/libGLESv2/renderer/shaders/compiled: Removed.
2014-08-11 Andy Estes <aestes@apple.com>
[iOS] Get rid of iOS.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=135809
Reviewed by Joseph Pecoraro.
All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/Base.xcconfig:
* Configurations/iOS.xcconfig: Removed.
2014-08-07 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed gardening.
DebugSuffix targets should use our debugsuffix property sheet, and
will therefore build to the proper output location with the proper
suffix tags.
Also, we must use the WebKit_Libraries environment variable, not a set
of relative paths to the property sheets.
* ANGLE.vcxproj/libEGL.vcxproj: Use 'debugsuffix.props' sheet.
* ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
* ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
* ANGLE.vcxproj/translator_common.vcxproj: Ditto.
* ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
* ANGLE.vcxproj/libEGLCommon.props: Use $(DebugSuffix) endings.
* ANGLE.vcxproj/libGLESv2Common.props: Ditto.
* ANGLE.vcxproj/translatorCommon.props: Output to 'lib' folder,
not 'bin' folder. These are libraries!
2014-08-02 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed build fix.
* src/libGLESv2/renderer/d3d11/BufferStorage11.cpp:
(rx::BufferStorage11::copyData): Help compiler make
decision about types.
2014-07-25 peavo@outlook.com <peavo@outlook.com>
[Win][ANGLE] Enable D3D11.
https://bugs.webkit.org/show_bug.cgi?id=135296
Reviewed by Alex Christensen.
Direct3D 11 is not enabled on Windows.
* ANGLE.vcxproj/libGLESv2.vcxproj: Added files.
* ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
* ANGLE.vcxproj/libGLESv2Common.props: Enable D3D11.
* src/libGLESv2/precompiled.h: Header file does not exist, avoid include.
* changes.diff: Updated diff.
2014-06-04 Alex Christensen <achristensen@webkit.org>
Enable WebGL on Windows.
https://bugs.webkit.org/show_bug.cgi?id=133503
Reviewed by Brent Fulgham.
* changes.diff
Recorded additional changes from ANGLE.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libEGL.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* include/EGL/egl.h:
* include/EGL/eglsoftlinking.h: Added.
* include/GLES2/gl2.h:
* include/GLES2/gl2softlinking.h: Added.
Resurrected soft linking headers from r153664.
* src/libGLESv2/renderer/VertexBuffer.cpp:
(rx::VertexBufferInterface::directStoragePossible):
Compile fix for Win64.
2014-05-02 Alex Christensen <achristensen@webkit.org>
Update ANGLE Windows build.
https://bugs.webkit.org/show_bug.cgi?id=132456
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj.filters:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj.filters:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
Updated ANGLE build.
* src/ANGLE.sln: Removed.
* src/build_angle.gyp: Removed.
* src/commit.h: Added.
* changes.diff:
* src/libGLESv2/Program.cpp:
(gl::InfoLog::append):
Fixed typo.
2014-05-01 Alex Christensen <achristensen@webkit.org>
Finish updating ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=132434
Reviewed by Dean Jackson.
* ANGLE.xcodeproj/project.pbxproj:
Removed Uniform.cpp which is no longer in ANGLE.
* changes.diff:
Added more changes from ANGLE which are already included in WebKit.
Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af. Long list of changes omitted.
2014-04-30 Alex Christensen <achristensen@webkit.org>
Updated ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=132367
<rdar://problem/16211451>
Reviewed by Dean Jackson.
* ANGLE.plist:
Updated and xml encoded.
* ANGLE.xcodeproj/project.pbxproj:
Added needed new source files.
* changes.diff:
Added to keep track of differences between WebKit's copy of ANGLE and the master repository.
Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af. Long list of changes omitted.
2014-03-25 Martin Robinson <mrobinson@igalia.com>
[GTK] Remove the autotools build
https://bugs.webkit.org/show_bug.cgi?id=130717
Reviewed by Anders Carlsson.
* GNUmakefile.am: Removed.
2014-03-14 Mark Rowe <mrowe@apple.com>
Fix the production build.
Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
be at the expected relative path when working from installed source.
* Configurations/Base.xcconfig:
2014-03-13 Tim Horton <timothy_horton@apple.com>
Fix relative paths to UseInternalSDK.xcconfig for ANGLE and WebKit/mac
Rubber-stamped by Mark Rowe.
One-too-few "..".
* Configurations/Base.xcconfig:
2014-03-13 Radu Stavila <stavila@adobe.com>
Webkit not building on XCode 5.1 due to garbage collection no longer being supported
https://bugs.webkit.org/show_bug.cgi?id=130087
Reviewed by Mark Rowe.
Disable garbage collection on macosx when not using internal SDK.
* Configurations/Base.xcconfig:
2014-02-24 Dean Jackson <dino@apple.com>
Unreviewed. This file should not be marked as executable (copied in from ANGLE).
* include/KHR/khrplatform.h:
2014-02-23 David Kilzer <ddkilzer@apple.com>
ANGLE: Stop using unsafe strcpy method
<http://webkit.org/b/129237>
<rdar://problem/11077580>
Reviewed by Dean Jackson.
* include/GLSLANG/ShaderLang.h:
- Drive-by fix for header documentation.
* src/compiler/translator/ShaderLang.cpp:
(ShGetInfoLog):
(ShGetObjectCode):
* src/libGLESv2/Program.cpp:
(gl::InfoLog::append):
- Switch to use strncpy(), and explicitly set NULL terminator at
the end of the buffer.
2014-02-23 Brent Fulgham <bfulgham@apple.com>
[WinCairo] Unreviewed build fix after r164565.
* ANGLE.vcxproj/libEGL.vcxproj: Use correct path to files.
* ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
* ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
* ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
* ANGLE.vcxproj/translator_common.vcxproj: Ditto.
* ANGLE.vcxproj/translator_common.vcxproj.filters: Ditto.
* ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
* ANGLE.vcxproj/translator_glsl.vcxproj.filters: Ditto.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Ditto.
2014-02-23 Dean Jackson <dino@apple.com>
Missing files from previous commit.
2014-02-23 Dean Jackson <dino@apple.com>
Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
https://bugs.webkit.org/show_bug.cgi?id=129232
Reviewed by Brent Fulgham.
I also reapplied some of our changes from previous updates, including disabling the clang deprecation
warnings in some files, adding the Apple note about license and defining YY_NO_INPUT.
Huge list of source changes omitted.
2013-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* GNUmakefile.am:
2013-12-17 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
[GTK] Some ANGLE headers missing from dist
https://bugs.webkit.org/show_bug.cgi?id=125782
Reviewed by Carlos Garcia Campos.
* GNUmakefile.am: add a few headers that were missing from the build,
causing build failures when the system headers were incompatible.
2013-12-16 Alex Christensen <achristensen@webkit.org>
Fixed Win64 build on VS2013.
https://bugs.webkit.org/show_bug.cgi?id=125753
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
Added correct PlatformToolset for 64-bit builds.
2013-12-13 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed build fix after r160548
I missed the ANGLE files, since we aren't building these
on the Apple Windows port at the moment.
* ANGLE.vcxproj/libEGL.vcxproj: Update to VS2013
* ANGLE.vcxproj/libGLESv2.vcxproj: Ditto
* ANGLE.vcxproj/preprocessor.vcxproj: Ditto
* ANGLE.vcxproj/translator_common.vcxproj: Ditto
* ANGLE.vcxproj/translator_glsl.vcxproj: Ditto
* ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto
2013-12-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r159543.
http://trac.webkit.org/changeset/159543
https://bugs.webkit.org/show_bug.cgi?id=125371
Build fix for mac no longer needed (Requested by rfong on
#webkit).
* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/glslang_tab.cpp:
(yysyntax_error):
(glslang_parse):
* src/compiler/glslang_tab.h:
* src/compiler/preprocessor/ExpressionParser.cpp:
(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):
2013-12-05 Roger Fong <roger_fong@apple.com>
[WebGL] Make sure we satisfy uniform and varying packing restrictions.
https://bugs.webkit.org/show_bug.cgi?id=125124.
<rdar://problem/15203291>
Reviewed by Brent Fulgham.
* src/compiler/Compiler.cpp:
Add a check to enforcePackingRestrictions to ensure we make sure packing restrictions for varyings are satisfied as well.
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::enforcePackingRestrictions):
* src/compiler/ShHandle.h: Keep track of maximum varying vectors.
2013-12-05 Matthew Hanson <matthew_hanson@apple.com>
Fix ANGLE build failures by re-comitting the changes in http://trac.webkit.org/changeset/154223
on top of the library updates introduced by http://trac.webkit.org/changeset/159533.
Rubber-stamped by Babak Shafiei.
* src/compiler/glslang.l:
* src/compiler/glslang_lex.cpp:
* src/compiler/preprocessor/Tokenizer.cpp:
* src/compiler/preprocessor/Tokenizer.l:
2013-12-03 Daniel Bates <dabates@apple.com>
ANGLE fails to build with trunk clang: unused constant kTraceBufferLen
https://bugs.webkit.org/show_bug.cgi?id=125164
https://code.google.com/p/angleproject/issues/detail?id=534
Reviewed by Darin Adler.
Move the definition of the constant kTraceBufferLen under the macro
guard TRACE_ENABLED since it's only referenced in code guarded by
TRACE_ENABLED.
* src/compiler/debug.cpp:
2013-11-21 Alex Christensen <achristensen@webkit.org>
Remove ANGLEGenerated from Windows build.
https://bugs.webkit.org/show_bug.cgi?id=124759
Reviewed by Darin Adler.
* ANGLE.vcxproj/ANGLEGenerated.vcxproj: Removed.
* ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Removed.
2013-11-21 Alex Christensen <achristensen@webkit.org>
Unreviewed build fix.
* src/libGLESv2/Constants.h: Added from checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
2013-11-21 Mark Rowe <mrowe@apple.com>
<https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
2013-11-21 Brent Fulgham <bfulgham@apple.com>
Unreviewed gardening to hide annoying *.user files when.
* ANGLE.vcxproj: Added property svn:ignore.
2013-11-21 peavo@outlook.com <peavo@outlook.com>
[WinCairo] Building ANGLE libraries fails.
https://bugs.webkit.org/show_bug.cgi?id=124679
Reviewed by Brent Fulgham.
Added/removed files to/from project, and re-added constants.h file.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libEGL.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj.filters:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj.filters:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
* src/libGLESv2/libGLESv2.def:
2013-11-20 Sergio Correia <sergio.correia@openbossa.org>
ANGLE doesn't build with bison 3.0
https://bugs.webkit.org/show_bug.cgi?id=124642
Reviewed by Gyuyoung Kim.
This is a reedition of r154109, now that ANGLE source has been updated
in r159533.
* src/compiler/glslang.y: Use %lex-param to set YYLEX_PARAM and stop
using the deprecated YYID macro.
2013-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK build.
* GNUmakefile.am: Remove duplicated entries.
2013-11-19 Martin Robinson <mrobinson@igalia.com>
Fix the GTK+ build after the ANGLE update in r159533
* GNUmakefile.am: Update the source list.
2013-11-19 Roger Fong <roger_fong@apple.com>
Unreviewed. Build fix for Mac.
* src/compiler/glslang_tab.cpp:
(yysyntax_error):
(yyerror):
* src/compiler/glslang_tab.h:
* src/compiler/preprocessor/ExpressionParser.cpp:
(yysyntax_error):
2013-11-19 Roger Fong <roger_fong@apple.com>
Unreviewed. Prospective build fix for GTK port following r159533.
* GNUmakefile.am:
2013-11-19 Roger Fong <roger_fong@apple.com>
Update ANGLE sources.
https://bugs.webkit.org/show_bug.cgi?id=124615.
Reviewed by Dean Jackson.
Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
Modify xcodeproj files as necessary, update plist.
Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license:
ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.
* ANGLE.plist:
* ANGLE.xcodeproj/project.pbxproj:
* DerivedSources.make: Removed.
* include/EGL/egl.h:
* include/EGL/eglsoftlinking.h: Removed.
* include/GLES2/gl2.h:
* include/GLES2/gl2softlinking.h: Removed.
* include/GLSLANG/ShaderLang.h:
* include/KHR/khrplatform.h:
* src/ANGLE.sln: Added.
* src/build_angle.gypi:
* src/common/debug.h:
* src/common/event_tracer.cpp: Added.
(gl::TraceGetTraceCategoryEnabledFlag):
(gl::TraceAddTraceEvent):
* src/common/event_tracer.h: Added.
* src/common/version.h:
* src/compiler/CodeGen.cpp: Added.
(ConstructCompiler):
(DeleteCompiler):
* src/compiler/CodeGenGLSL.cpp: Removed.
* src/compiler/CodeGenHLSL.cpp: Removed.
* src/compiler/Common.h:
(NewPoolTString):
* src/compiler/Compiler.cpp:
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::clearResults):
(TCompiler::collectVariables):
* src/compiler/ConstantUnion.h:
* src/compiler/DetectDiscontinuity.cpp:
* src/compiler/InfoSink.h:
* src/compiler/InitializeDll.cpp:
(InitProcess):
(DetachProcess):
* src/compiler/InitializeDll.h:
* src/compiler/InitializeGLPosition.cpp: Added.
(InitializeGLPosition::visitAggregate):
(InitializeGLPosition::insertCode):
* src/compiler/InitializeGLPosition.h: Added.
(InitializeGLPosition::InitializeGLPosition):
(InitializeGLPosition::visitBinary):
(InitializeGLPosition::visitUnary):
(InitializeGLPosition::visitSelection):
(InitializeGLPosition::visitLoop):
(InitializeGLPosition::visitBranch):
* src/compiler/InitializeGlobals.h:
* src/compiler/InitializeParseContext.cpp:
(InitializeParseContextIndex):
(FreeParseContextIndex):
(SetGlobalParseContext):
(GetGlobalParseContext):
* src/compiler/InitializeParseContext.h:
* src/compiler/IntermTraverse.cpp:
(TIntermSymbol::traverse):
(TIntermConstantUnion::traverse):
(TIntermBinary::traverse):
(TIntermUnary::traverse):
(TIntermAggregate::traverse):
(TIntermSelection::traverse):
(TIntermLoop::traverse):
(TIntermBranch::traverse):
* src/compiler/Intermediate.cpp:
(GetHigherPrecision):
(getOperatorString):
(TIntermLoop::replaceChildNode):
(TIntermBranch::replaceChildNode):
(TIntermBinary::replaceChildNode):
(TIntermUnary::replaceChildNode):
(TIntermAggregate::replaceChildNode):
(TIntermSelection::replaceChildNode):
(TIntermOperator::isAssignment):
(TIntermediate::promoteConstantUnion):
* src/compiler/MapLongVariableNames.cpp:
* src/compiler/MapLongVariableNames.h:
* src/compiler/NodeSearch.h: Added.
(sh::NodeSearchTraverser::NodeSearchTraverser):
(sh::NodeSearchTraverser::found):
(sh::NodeSearchTraverser::search):
(sh::FindDiscard::visitBranch):
(sh::FindSideEffectRewriting::visitBinary):
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::visitSelection):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::visitLoop):
* src/compiler/OutputGLSLBase.h:
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseContext.cpp: Added.
(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::recover):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::trace):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::constErrorCheck):
(TParseContext::integerErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::isExtensionEnabled):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::areAllChildConst):
(TParseContext::addConstructor):
(TParseContext::foldConstConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::exitStructDeclaration):
(TParseContext::structNestingErrorCheck):
(TParseContext::addIndexExpression):
(PaParseStrings):
* src/compiler/ParseContext.h: Added.
(TParseContext::TParseContext):
(TParseContext::numErrors):
(TParseContext::infoSink):
(TParseContext::pragma):
(TParseContext::extensionBehavior):
* src/compiler/ParseHelper.cpp: Removed.
* src/compiler/ParseHelper.h: Removed.
* src/compiler/PoolAlloc.cpp:
(InitializePoolIndex):
(FreePoolIndex):
(GetGlobalPoolAllocator):
(SetGlobalPoolAllocator):
* src/compiler/PoolAlloc.h:
(pool_allocator::pool_allocator):
* src/compiler/SearchSymbol.h:
* src/compiler/ShHandle.h:
(TCompiler::getVaryings):
* src/compiler/ShaderLang.cpp:
(checkVariableMaxLengths):
(ShInitialize):
(ShFinalize):
(ShConstructCompiler):
(ShCompile):
(ShGetInfo):
(ShGetVariableInfo):
(ShCheckVariablesWithinPackingLimits):
* src/compiler/SymbolTable.cpp:
(TSymbolTable::~TSymbolTable):
* src/compiler/SymbolTable.h:
(TSymbol::TSymbol):
(TSymbolTableLevel::insert):
(TSymbolTable::push):
(TSymbolTable::pop):
(TSymbolTable::findBuiltIn):
(TSymbolTable::relateToExtension):
(TSymbolTable::setDefaultPrecision):
(TSymbolTable::getDefaultPrecision):
(TSymbolTable::supportsPrecision):
* src/compiler/Types.h:
(NewPoolTFieldList):
(TType::TType):
(TType::setNominalSize):
(TPublicType::setAggregate):
* src/compiler/UnfoldShortCircuit.cpp:
(sh::UnfoldShortCircuit::visitBinary):
(sh::UnfoldShortCircuit::visitSelection):
* src/compiler/UnfoldShortCircuit.h:
* src/compiler/UnfoldShortCircuitAST.cpp: Added.
(UnfoldShortCircuitAST::visitBinary):
(UnfoldShortCircuitAST::updateTree):
* src/compiler/UnfoldShortCircuitAST.h: Added.
(UnfoldShortCircuitAST::UnfoldShortCircuitAST):
(UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):
* src/compiler/Uniform.cpp:
(sh::Uniform::Uniform):
* src/compiler/Uniform.h:
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall):
(ValidateLimitations::validateOperation):
* src/compiler/VariableInfo.cpp:
(TVariableInfo::TVariableInfo):
(CollectVariables::CollectVariables):
(CollectVariables::visitSymbol):
(CollectVariables::visitAggregate):
* src/compiler/VariableInfo.h:
* src/compiler/debug.cpp:
* src/compiler/depgraph/DependencyGraph.cpp:
* src/compiler/depgraph/DependencyGraphBuilder.cpp:
(TDependencyGraphBuilder::visitBinary):
* src/compiler/generate_parser.sh:
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(input):
(yyerror):
(int_constant):
(float_constant):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
(yysyntax_error):
(glslang_parse):
* src/compiler/glslang_tab.h:
* src/compiler/intermediate.h:
(TIntermSymbol::hasSideEffects):
(TIntermSymbol::replaceChildNode):
(TIntermConstantUnion::hasSideEffects):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermConstantUnion::replaceChildNode):
(TIntermOperator::hasSideEffects):
(TIntermBinary::hasSideEffects):
(TIntermUnary::hasSideEffects):
(TIntermAggregate::hasSideEffects):
(TIntermSelection::hasSideEffects):
(TIntermTraverser::~TIntermTraverser):
(TIntermTraverser::incrementDepth):
(TIntermTraverser::decrementDepth):
(TIntermTraverser::getParentNode):
* src/compiler/localintermediate.h:
* src/compiler/parseConst.cpp:
* src/compiler/preprocessor/ExpressionParser.cpp:
(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yystrlen):
(yystpcpy):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):
* src/compiler/preprocessor/ExpressionParser.y:
* src/compiler/preprocessor/Preprocessor.cpp:
(pp::Preprocessor::setMaxTokenLength):
(pp::Preprocessor::lex):
* src/compiler/preprocessor/Preprocessor.h:
* src/compiler/preprocessor/Tokenizer.cpp:
(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::lex):
* src/compiler/preprocessor/Tokenizer.h:
(pp::Tokenizer::setMaxTokenLength):
* src/compiler/preprocessor/Tokenizer.l:
* src/compiler/preprocessor/generate_parser.sh:
* src/compiler/preprocessor/preprocessor.vcxproj: Added.
* src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
* src/compiler/timing/RestrictFragmentShaderTiming.cpp:
* src/compiler/translator.vcxproj: Added.
* src/compiler/translator.vcxproj.filters: Added.
* src/compiler/util.cpp:
(atof_clamp):
(atoi_clamp):
* src/compiler/util.h:
* src/libEGL/Surface.cpp:
(egl::Surface::checkForOutOfDateSwapChain):
* src/libEGL/libEGL.cpp:
* src/libEGL/libEGL.rc:
* src/libEGL/libEGL.vcxproj: Added.
* src/libEGL/libEGL.vcxproj.filters: Added.
* src/libGLESv2/Buffer.cpp:
(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::size):
(gl::Buffer::getIndexRangeCache):
* src/libGLESv2/Buffer.h:
* src/libGLESv2/Context.cpp:
(gl::Context::applyTextures):
(gl::Context::getBoundFramebufferTextureSerials):
* src/libGLESv2/Context.h:
(gl::Context::getRenderer):
* src/libGLESv2/Framebuffer.h:
* src/libGLESv2/ProgramBinary.cpp:
(gl::DiscardWorkaround):
(gl::ProgramBinary::load):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::AttributeSorter::AttributeSorter):
(gl::ProgramBinary::initAttributesByLayout):
(gl::ProgramBinary::sortAttributesByLayout):
* src/libGLESv2/ProgramBinary.h:
* src/libGLESv2/Renderbuffer.cpp:
(gl::RenderbufferTexture2D::getTextureSerial):
(gl::RenderbufferTextureCubeMap::getTextureSerial):
(gl::Renderbuffer::getTextureSerial):
* src/libGLESv2/Renderbuffer.h:
(gl::RenderbufferStorage::getTextureSerial):
* src/libGLESv2/Shader.cpp:
(gl::Shader::parseVaryings):
(gl::Shader::uncompile):
* src/libGLESv2/Shader.h:
* src/libGLESv2/Texture.cpp:
(gl::TextureCubeMap::storage):
* src/libGLESv2/Uniform.cpp:
(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::Uniform::elementCount):
* src/libGLESv2/Uniform.h:
* src/libGLESv2/constants.h: Removed.
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.rc:
* src/libGLESv2/libGLESv2.vcxproj: Added.
* src/libGLESv2/libGLESv2.vcxproj.filters: Added.
* src/libGLESv2/precompiled.h:
* src/libGLESv2/renderer/Image11.cpp:
(rx::Image11::generateMipmap):
(rx::Image11::loadData):
(rx::Image11::loadCompressedData):
(rx::Image11::copy):
(rx::Image11::createStagingTexture):
(rx::Image11::map):
* src/libGLESv2/renderer/Image11.h:
* src/libGLESv2/renderer/IndexBuffer.cpp:
(rx::IndexBufferInterface::mapBuffer):
(rx::StaticIndexBufferInterface::getIndexRangeCache):
* src/libGLESv2/renderer/IndexBuffer.h:
* src/libGLESv2/renderer/IndexBuffer11.cpp:
(rx::IndexBuffer11::mapBuffer):
* src/libGLESv2/renderer/IndexDataManager.cpp:
(rx::IndexDataManager::prepareIndexData):
(rx::IndexDataManager::getCountingIndices):
* src/libGLESv2/renderer/IndexRangeCache.cpp: Added.
(rx::IndexRangeCache::addRange):
(rx::IndexRangeCache::invalidateRange):
(rx::IndexRangeCache::findRange):
(rx::IndexRangeCache::clear):
(rx::IndexRangeCache::IndexRange::IndexRange):
(rx::IndexRangeCache::IndexRange::operator<):
(rx::IndexRangeCache::IndexBounds::IndexBounds):
* src/libGLESv2/renderer/IndexRangeCache.h: Added.
* src/libGLESv2/renderer/InputLayoutCache.cpp:
(rx::InputLayoutCache::InputLayoutCache):
(rx::InputLayoutCache::clear):
(rx::InputLayoutCache::markDirty):
(rx::InputLayoutCache::applyVertexBuffers):
(rx::InputLayoutCache::hashInputLayout):
(rx::InputLayoutCache::compareInputLayouts):
* src/libGLESv2/renderer/InputLayoutCache.h:
(rx::InputLayoutCache::InputLayoutKey::begin):
(rx::InputLayoutCache::InputLayoutKey::end):
* src/libGLESv2/renderer/RenderTarget11.cpp:
(rx::RenderTarget11::getTexture):
(rx::RenderTarget11::getRenderTargetView):
(rx::RenderTarget11::getDepthStencilView):
(rx::RenderTarget11::getShaderResourceView):
* src/libGLESv2/renderer/RenderTarget11.h:
* src/libGLESv2/renderer/Renderer.cpp:
(rx::Renderer::initializeCompiler):
* src/libGLESv2/renderer/Renderer.h:
* src/libGLESv2/renderer/Renderer11.cpp:
(rx::Renderer11::initialize):
(rx::Renderer11::applyPrimitiveType):
(rx::Renderer11::applyRenderTarget):
(rx::Renderer11::drawLineLoop):
(rx::Renderer11::drawTriangleFan):
(rx::Renderer11::applyUniforms):
(rx::Renderer11::clear):
(rx::Renderer11::markAllStateDirty):
(rx::Renderer11::copyImage):
(rx::Renderer11::compileToExecutable):
(rx::Renderer11::getRenderTargetResource):
(rx::Renderer11::blitRenderbufferRect):
* src/libGLESv2/renderer/Renderer11.h:
* src/libGLESv2/renderer/Renderer9.cpp:
(rx::Renderer9::initialize):
(rx::Renderer9::setViewport):
(rx::Renderer9::drawLineLoop):
(rx::Renderer9::compileToExecutable):
* src/libGLESv2/renderer/Renderer9.h:
* src/libGLESv2/renderer/SwapChain.h:
* src/libGLESv2/renderer/SwapChain11.cpp:
(rx::SwapChain11::resetOffscreenTexture):
(rx::SwapChain11::reset):
(rx::SwapChain11::swapRect):
* src/libGLESv2/renderer/SwapChain9.cpp:
(rx::convertInterval):
* src/libGLESv2/renderer/TextureStorage11.cpp:
(rx::TextureStorage11::IsTextureFormatRenderable):
(rx::TextureStorage11::generateMipmapLayer):
(rx::TextureStorage11_Cube::getRenderTarget):
* src/libGLESv2/renderer/VertexBuffer.cpp:
(rx::VertexBufferInterface::storeVertexAttributes):
(rx::VertexBufferInterface::storeRawData):
(rx::VertexBufferInterface::reserveVertexSpace):
(rx::StaticVertexBufferInterface::lookupAttribute):
(rx::StaticVertexBufferInterface::storeVertexAttributes):
* src/libGLESv2/renderer/VertexBuffer.h:
* src/libGLESv2/renderer/VertexBuffer11.cpp:
(rx::VertexBuffer11::getSpaceRequired):
* src/libGLESv2/renderer/VertexBuffer11.h:
* src/libGLESv2/renderer/VertexBuffer9.cpp:
(rx::VertexBuffer9::storeVertexAttributes):
(rx::VertexBuffer9::getSpaceRequired):
(rx::VertexBuffer9::requiresConversion):
(rx::VertexBuffer9::getVertexSize):
(rx::VertexBuffer9::spaceRequired):
* src/libGLESv2/renderer/VertexBuffer9.h:
* src/libGLESv2/renderer/VertexDataManager.cpp:
(rx::elementsInBuffer):
(rx::StreamingBufferElementCount):
(rx::VertexDataManager::prepareVertexData):
* src/libGLESv2/renderer/VertexDataManager.h:
* src/libGLESv2/renderer/renderer11_utils.cpp:
(gl_d3d11::ConvertTextureFormat):
* src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
* src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
* src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
* src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
* src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
* src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
* src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
* src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
* src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
* src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
* src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
* src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
* src/libGLESv2/renderer/shaders/compiled/standardvs.h:
* src/libGLESv2/renderer/shaders/generate_shaders.bat:
* src/libGLESv2/utilities.cpp:
(gl::ComputeTypeSize):
* src/libGLESv2/utilities.h:
* src/third_party/murmurhash/MurmurHash3.cpp:
(rotl32):
(rotl64):
(getblock):
(fmix):
(MurmurHash3_x86_32):
(MurmurHash3_x86_128):
(MurmurHash3_x64_128):
* src/third_party/murmurhash/MurmurHash3.h:
* src/third_party/trace_event: Added.
* src/third_party/trace_event/trace_event.h: Added.
(gl::TraceEvent::TraceID::TraceID):
(gl::TraceEvent::TraceID::data):
(gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
(gl::TraceEvent::TraceStringWithCopy::operator const char* ):
(gl::TraceEvent::setTraceValue):
(gl::TraceEvent::addTraceEvent):
(gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::initialize):
(gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(gl::TraceEvent::SamplingStateScope::SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::current):
(gl::TraceEvent::SamplingStateScope::set):
2013-11-18 Mark Rowe <mrowe@apple.com>
Use hw.activecpu for determining how many processes to spawn.
It's documented as the preferred way to determine the number of threads
or processes to create in a SMP aware application.
Rubber-stamped by Tim Horton.
* ANGLE.xcodeproj/project.pbxproj:
2013-11-06 Dean Jackson <dino@apple.com>
kTraceBufferLen is unused in default builds
https://bugs.webkit.org/show_bug.cgi?id=123941
<rdar://problem/15409804>
Reviewed by Tim Horton.
kTraceBufferLen is not used in debug.cpp if TRACE_ENABLED is
not defined. This causes a warning in newer builds of clang.
For now, skip warnings on unused variables until we
update from ANGLE.
* src/compiler/debug.cpp: Add unused-variable ignore pragma.
2013-10-24 Mark Rowe <mrowe@apple.com>
Remove references to OS X 10.7 from Xcode configuration settings.
Now that we're not building for OS X 10.7 they're no longer needed.
Reviewed by Anders Carlsson.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2013-10-24 Mark Rowe <mrowe@apple.com>
<rdar://problem/15312643> Prepare for the mysterious future.
Reviewed by David Kilzer.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2013-10-10 Mark Rowe <mrowe@apple.com>
<rdar://problem/13341666> WebKit should always build against an SDK.
Have all projects default to building against the OS X Internal SDK for the Production
configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2013-10-08 Alex Christensen <achristensen@webkit.org>
Generate pdb files for debugging ANGLE DLLs.
https://bugs.webkit.org/show_bug.cgi?id=122530
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
Generate debug information.
2013-10-03 Dan Bernstein <mitz@apple.com>
<rdar://problem/15116673> [mac] Build failure when the source directory is not named ANGLE
https://bugs.webkit.org/show_bug.cgi?id=122307
Reviewed by Mark Rowe.
* ANGLE.xcodeproj/project.pbxproj: Ensure that the symlink to SRCROOT in
DerivedSources/ANGLE is named ANGLE.
2013-09-29 Darin Adler <darin@apple.com>
Take some Xcode advice about turning on additional warnings in ANGLE and gtest
https://bugs.webkit.org/show_bug.cgi?id=122087
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig: Add some of the warnings that Xcode 5 suggested.
* src/compiler/preprocessor/Tokenizer.l: Defined YY_NO_INPUT so we don't compile
an unused function and get a warning.
2013-09-29 Darin Adler <darin@apple.com>
Use RenderElement instead of RenderObject in many places
https://bugs.webkit.org/show_bug.cgi?id=122078
Reviewed by Andreas Kling.
* ANGLE.xcodeproj/project.pbxproj: Let Xcode do its thing to this file.
2013-09-24 Mark Rowe <mrowe@apple.com>
<rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2013-09-06 peavo@outlook.com <peavo@outlook.com>
[Win][WebGL] WebGL rendering is slow.
https://bugs.webkit.org/show_bug.cgi?id=120841
Reviewed by Brent Fulgham.
Rendering WebGL content is slow on Windows, because lots of debug information is written to debug.txt.
* ANGLE.vcxproj/ANGLERelease.props: Disable logging in release builds.
2013-09-05 Dan Bernstein <mitz@apple.com>
INSTALL_PATH_PREFIX is used even when not installing
https://bugs.webkit.org/show_bug.cgi?id=120818
Reviewed by Darin Adler.
* Configurations/ANGLE.xcconfig: Changed the definition of PRIVATE_HEADERS_FOLDER_PATH
to include INSTALL_PATH_PREFIX only when installing.
2013-08-17 David Kilzer <ddkilzer@apple.com>
ANGLE fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
<http://webkit.org/b/119931>
<rdar://problem/14763822>
Reviewed by Darin Adler.
* src/compiler/glslang.l:
* src/compiler/glslang_lex.cpp:
* src/compiler/preprocessor/Tokenizer.cpp:
* src/compiler/preprocessor/Tokenizer.l:
Add pragma statements to ignore -Wdeprecated-register warnings
in generated code. Also ignore -Wunknown-pragmas so this
doesn't cause a build failure in older versions of clang.
2013-08-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r153749.
http://trac.webkit.org/changeset/153749
https://bugs.webkit.org/show_bug.cgi?id=119892
The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
* GNUmakefile.am: Preserve the libANGLE.la dependency on the ANGLE's GNUmakefile.am.
2013-08-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
ANGLE doesn't build with bison 3.0
https://bugs.webkit.org/show_bug.cgi?id=119798
Reviewed by Antti Koivisto.
Make glslang.y compatible with bison 3.0, by using %lex-param
to set YYLEX_PARAM and getting rid of useless YYID macro.
* src/compiler/glslang.y:
2013-08-09 Zoltan Arvai <zarvai@inf.u-szeged.hu>
[Qt] Buidfix after r153664. Adding ANGLE_WEBKIT_WIN definition.
https://bugs.webkit.org/show_bug.cgi?id=119577
Reviewed by Allan Sandfeld Jensen.
* Target.pri:
2013-08-08 Alex Christensen <achristensen@apple.com>
Link to correct DirectX libraries for Win64 ANGLE build.
https://bugs.webkit.org/show_bug.cgi?id=119600
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/DirectX32.props: Added with x86 DirectX library directory.
* ANGLE.vcxproj/DirectX64.props: Added with x64 DirectX library directory.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
Use DirectX32.props and DirectX64.props.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
Removed DirectX library directory.
2013-07-23 David Farler <dfarler@apple.com>
Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
https://bugs.webkit.org/show_bug.cgi?id=117762
Reviewed by Mark Rowe.
* Configurations/DebugRelease.xcconfig:
Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS.
2013-08-06 Zan Dobersek <zdobersek@igalia.com>
webkit-gtk fails to build with bison-3.0
https://bugs.webkit.org/show_bug.cgi?id=119373
Reviewed by Gustavo Noronha Silva.
* GNUmakefile.am: Stop relying on generated glslang_tab.(cpp|h) and glslang.cpp sources as Bison 3.0
produces non-compilable source code. Instead, compile these pregenerated files as they're included in
the tree. Originally, the ANGLE source tree provides these files as generated by Bison 2.7, but they're
at the moment regenerated with Bison 2.3 when the third-party ANGLE source is being updated.
2013-08-05 Alex Christensen <achristensen@apple.com>
Added optimizations to Windows ANGLE builds.
https://bugs.webkit.org/show_bug.cgi?id=119500
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/ANGLERelease.props: Added.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
Use ANGLERelease.props for Release, Release_WinCairo, and Production configurations.
2013-08-02 Alex Christensen <achristensen@apple.com>
Soft link ANGLE on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119452
Reviewed by Dean Jackson.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libEGL.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
Added soft linking headers.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translatorCommon.props:
Added ANGLE_WEBKIT_WIN macro definition for egl.h and gl2.h.
* include/EGL/egl.h:
* include/GLES2/gl2.h:
Conditionally include soft linking headers based on ANGLE_WEBKIT_WIN macro.
* include/EGL/eglsoftlinking.h: Added.
* include/GLES2/gl2softlinking.h: Added.
2013-08-01 Alex Christensen <achristensen@apple.com>
Fixed wrong static_casting in ANGLE from r153064.
https://bugs.webkit.org/show_bug.cgi?id=119296
Reviewed by Dean Jackson.
* src/compiler/Intermediate.cpp:
(TIntermediate::promoteConstantUnion):
Undid erroneous static_cast change.
* src/compiler/intermediate.h:
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
Made getters use size_t instead of int.
2013-07-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* GNUmakefile.am: Add missing header files to compilation.
2013-07-29 Alex Christensen <achristensen@apple.com>
Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl
(for ANGLEWebKitBridge).
https://bugs.webkit.org/show_bug.cgi?id=119221
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/ANGLEGenerated.vcxproj:
Removed unused preprocessor definitions.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
Removed dependency on removed translator project.
* ANGLE.vcxproj/libGLESv2Common.props:
Link to translator_hlsl libraries.
* ANGLE.vcxproj/preprocessor.vcxproj: Added.
* ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
* ANGLE.vcxproj/translator.vcxproj: Removed.
* ANGLE.vcxproj/translator.vcxproj.filters: Removed.
* ANGLE.vcxproj/translator_common.vcxproj: Added.
* ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.
2013-07-26 Alex Christensen <achristensen@apple.com>
Added module definition file for building libEGL.
https://bugs.webkit.org/show_bug.cgi?id=119162
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
2013-07-25 Alex Christensen <achristensen@apple.com>
Made Windows build system for ANGLE and removed existing broken build system.
Removed empty src/libGLESv2/shaders directory and old README files.
https://bugs.webkit.org/show_bug.cgi?id=119103
Reviewed by Brent Fulgham.
* ANGLE.vcxproj: Added.
* ANGLE.vcxproj/ANGLEGenerated.vcxproj: Added.
* ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Added.
* ANGLE.vcxproj/libEGL.vcxproj: Added.
* ANGLE.vcxproj/libEGL.vcxproj.filters: Added.
* ANGLE.vcxproj/libEGLCommon.props: Added.
* ANGLE.vcxproj/libGLESv2.vcxproj: Added.
* ANGLE.vcxproj/libGLESv2.vcxproj.filters: Added.
* ANGLE.vcxproj/libGLESv2Common.props: Added.
* ANGLE.vcxproj/translator.vcxproj: Added.
* ANGLE.vcxproj/translator.vcxproj.filters: Added.
* ANGLE.vcxproj/translatorCommon.props: Added.
* src/ANGLE.sln: Removed.
* src/compiler/preprocessor/preprocessor.vcxproj: Removed.
* src/compiler/preprocessor/preprocessor.vcxproj.filters: Removed.
* src/compiler/translator_common.vcxproj: Removed.
* src/compiler/translator_common.vcxproj.filters: Removed.
* src/compiler/translator_hlsl.vcxproj: Removed.
* src/compiler/translator_hlsl.vcxproj.filters: Removed.
* src/libEGL/README: Removed.
* src/libEGL/libEGL.vcxproj: Removed.
* src/libEGL/libEGL.vcxproj.filters: Removed.
* src/libGLESv2/README: Removed.
* src/libGLESv2/libGLESv2.vcxproj: Removed.
* src/libGLESv2/libGLESv2.vcxproj.filters: Removed.
* src/libGLESv2/shaders: Removed.
2013-07-24 Alex Christensen <achristensen@apple.com>
Generate derived files in ANGLE at build time rather than when updating from upstream.
https://bugs.webkit.org/show_bug.cgi?id=118872
Reviewed by Mark Rowe.
* ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
moved generated files into Derived Sources group.
* DerivedSources.make: Added.
2013-07-24 Zan Dobersek <zdobersek@igalia.com>
Unreviewed. Setting the svn:eol-style=native property on the ANGLE.sln file.
* src/ANGLE.sln: Added property svn:eol-style.
2013-07-24 Gabor Abraham <abrhm@inf.u-szeged.hu>
[Qt] Buildfix after r153064. Add Uniform files to the Target.pri.
Reviewed by Csaba Osztrogonác.
* Target.pri:
2013-07-23 Alex Christensen <achristensen@apple.com>
Updated ANGLE to latest git commit (047373aa3eb408be62be52ade840fa5f11e72337).
Added missing ANGLE files except unused tests, extensions, samples, build, and .git directories.
Ran Bison after making some changes to fix compile errors (see below).
https://bugs.webkit.org/show_bug.cgi?id=118550
Reviewed by Dean Jackson.
* ANGLE.plist: Updated from svn to git.
* ANGLE.xcodeproj/project.pbxproj: Renamed DetectRecursion to DetectCallDepth.
* AUTHORS: Added.
* CONTRIBUTORS: Added.
* DEPS: Added.
* GNUmakefile.am: Renamed DetectRecursion to DetectCallDepth and added Uniform.cpp.
* LICENSE: Added.
* README.chromium: Added.
* Target.pri: Renamed DetectRecursion to DetectCallDepth.
* codereview.settings: Added.
* include/EGL/eglext.h:
* include/GLES2/gl2ext.h:
* include/GLSLANG/ShaderLang.h:
* src/ANGLE.sln: Added.
* src/build_angle.gyp: Added.
* src/build_angle.gypi: Added.
* src/common/RefCountObject.cpp:
* src/common/angleutils.h:
(ArraySize):
(SafeRelease):
* src/common/debug.cpp:
* src/common/debug.h:
* src/common/system.h:
* src/common/version.h:
* src/compiler/64bit-lexer-safety.patch: Added.
* src/compiler/BaseTypes.h:
(getQualifierString):
* src/compiler/CodeGenHLSL.cpp:
(ConstructCompiler):
* src/compiler/Common.h:
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::detectCallDepth):
(TCompiler::limitExpressionComplexity):
(TCompiler::getResources):
* src/compiler/ConstantUnion.h:
(ConstantUnion::ConstantUnion):
* src/compiler/DetectCallDepth.cpp: Added.
(DetectCallDepth::FunctionNode::FunctionNode):
(DetectCallDepth::FunctionNode::getName):
(DetectCallDepth::FunctionNode::addCallee):
(DetectCallDepth::FunctionNode::detectCallDepth):
(DetectCallDepth::FunctionNode::reset):
(DetectCallDepth::DetectCallDepth):
(DetectCallDepth::~DetectCallDepth):
(DetectCallDepth::visitAggregate):
(DetectCallDepth::checkExceedsMaxDepth):
(DetectCallDepth::resetFunctionNodes):
(DetectCallDepth::detectCallDepthForFunction):
(DetectCallDepth::detectCallDepth):
(DetectCallDepth::findFunctionByName):
* src/compiler/DetectCallDepth.h: Added.
(DetectCallDepth::getInfoSink):
* src/compiler/DetectRecursion.cpp: Removed.
* src/compiler/DetectRecursion.h: Removed.
* src/compiler/Diagnostics.cpp:
(TDiagnostics::writeInfo):
* src/compiler/ForLoopUnroll.cpp:
(ForLoopUnroll::evaluateIntConstant):
* src/compiler/InfoSink.cpp:
(TInfoSinkBase::prefix):
(TInfoSinkBase::location):
(TInfoSinkBase::message):
* src/compiler/InfoSink.h:
* src/compiler/Initialize.cpp:
(InsertBuiltInFunctions):
(IdentifyBuiltIns):
(InitExtensionBehavior):
* src/compiler/Initialize.h:
* src/compiler/Intermediate.cpp:
(TIntermediate::addSymbol):
(TIntermediate::addBinaryMath):
(TIntermediate::addAssign):
(TIntermediate::addIndex):
(TIntermediate::addUnaryMath):
(TIntermediate::setAggregateOperator):
(TIntermediate::addConversion):
(TIntermediate::growAggregate):
(TIntermediate::makeAggregate):
(TIntermediate::addSelection):
(TIntermediate::addComma):
(TIntermediate::addConstantUnion):
(TIntermediate::addSwizzle):
(TIntermediate::addLoop):
(TIntermediate::addBranch):
(TIntermUnary::promote):
(TIntermBinary::promote):
(CompareStruct):
(CompareStructure):
(TIntermConstantUnion::fold): Added implied static_casts to fix compiling errors on Mac.
(TIntermediate::promoteConstantUnion):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::visitSymbol):
* src/compiler/OutputGLSL.h:
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::getTypeName):
(TOutputGLSLBase::structDeclared):
(TOutputGLSLBase::declareStruct):
* src/compiler/OutputGLSLBase.h:
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::getUniforms):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::argumentString):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::textureString):
(sh::OutputHLSL::initializer):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::writeConstantUnion):
(sh::OutputHLSL::decorateUniform):
(sh::OutputHLSL::decorateField):
(sh::OutputHLSL::registerString):
(sh::OutputHLSL::samplerRegister):
(sh::OutputHLSL::uniformRegister):
(sh::OutputHLSL::declareUniform):
(sh::OutputHLSL::glVariableType):
(sh::OutputHLSL::glVariablePrecision):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::isExtensionEnabled):
Replaced auto with std::map<std::string, TBehavior>::const_iterator to fix Qt and EFL compiling errors.
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::addConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::structNestingErrorCheck):
(TParseContext::addIndexExpression):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
(TParseContext::pragma):
* src/compiler/PoolAlloc.cpp:
(TPoolAllocator::allocate):
* src/compiler/ShHandle.h:
(TShHandleBase::getAsTranslatorHLSL):
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
(ShGetInfoPointer):
* src/compiler/SymbolTable.cpp:
(TType::TType):
(TType::buildMangledName):
(TType::getObjectSize):
(TStructure::containsArrays):
(TStructure::buildMangledName):
(TStructure::calculateObjectSize):
(TStructure::calculateDeepestNesting):
(TSymbolTableLevel::relateToExtension):
* src/compiler/SymbolTable.h:
(TSymbol::relateToExtension):
(TSymbol::getExtension):
(TVariable::TVariable):
(TVariable::setQualifier):
(TVariable::shareConstPointer):
(TSymbolTableLevel::insert):
(TSymbolTable::insertConstInt):
(TSymbolTable::insertBuiltIn):
* src/compiler/TranslatorHLSL.cpp:
(TranslatorHLSL::TranslatorHLSL):
(TranslatorHLSL::translate):
* src/compiler/TranslatorHLSL.h:
(TranslatorHLSL::getAsTranslatorHLSL):
(TranslatorHLSL::getUniforms):
* src/compiler/Types.h: Removed enum bit fields to fix gcc compiler errors.
(TField::TField):
(TField::type):
(TField::name):
(NewPoolTFieldList):
(TStructure::TStructure):
(TStructure::name):
(TStructure::fields):
(TStructure::mangledName):
(TStructure::objectSize):
(TStructure::deepestNesting):
(TType::TType):
(TType::elementRegisterCount):
(TType::totalRegisterCount):
(TType::clearArrayness):
(TType::getStruct):
(TType::setStruct):
(TType::getMangledName):
(TType::getDeepestStructNesting):
(TType::isStructureContainingArrays):
(TPublicType::setBasic):
* src/compiler/Uniform.cpp: Added.
(sh::Uniform::Uniform):
* src/compiler/Uniform.h: Added.
* src/compiler/VariableInfo.cpp:
(getUserDefinedVariableInfo):
* src/compiler/glslang.l:
* src/compiler/glslang.y: Moved YYLTYPE definition into %union to work with Bison 2.3.
* src/compiler/glslang_lex.cpp:
(yy_get_previous_state):
(yy_try_NUL_trans):
(yyget_lloc):
(yyset_lloc):
(string_input):
(check_type):
(reserved_word):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
(yyerror):
* src/compiler/glslang_tab.h:
* src/compiler/intermOut.cpp:
(TOutputTraverser::visitUnary):
(TOutputTraverser::visitAggregate):
(TOutputTraverser::visitConstantUnion):
* src/compiler/intermediate.h:
(TIntermNode::TIntermNode):
(TIntermNode::~TIntermNode):
(TIntermNode::getLine):
(TIntermNode::setLine):
(TIntermNode::getAsLoopNode):
(TIntermTyped::totalRegisterCount):
(TIntermTyped::elementRegisterCount):
(TIntermTyped::getArraySize):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermAggregate::TIntermAggregate):
(TIntermTraverser::TIntermTraverser):
(TIntermTraverser::getMaxDepth):
(TIntermTraverser::incrementDepth):
* src/compiler/localintermediate.h:
* src/compiler/parseConst.cpp:
(TConstTraverser::visitSymbol):
(TConstTraverser::visitBinary):
(TConstTraverser::visitUnary):
(TConstTraverser::visitAggregate):
(TConstTraverser::visitSelection):
(TConstTraverser::visitConstantUnion):
(TConstTraverser::visitLoop):
(TConstTraverser::visitBranch):
(TIntermediate::parseConstTree):
* src/compiler/preprocessor/64bit-tokenizer-safety.patch: Added.
* src/compiler/preprocessor/Tokenizer.cpp:
(yy_get_previous_state):
(yy_try_NUL_trans):
* src/compiler/preprocessor/Tokenizer.l:
* src/compiler/preprocessor/preprocessor.vcxproj: Added.
* src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
* src/compiler/timing/RestrictVertexShaderTiming.cpp:
(RestrictVertexShaderTiming::visitSymbol):
* src/compiler/translator_common.vcxproj: Added.
* src/compiler/translator_common.vcxproj.filters: Added.
* src/compiler/translator_hlsl.vcxproj: Added.
* src/compiler/translator_hlsl.vcxproj.filters: Added.
* src/libEGL/Config.cpp: Added.
(egl::Config::Config):
(egl::Config::getHandle):
(egl::SortConfig::SortConfig):
(egl::SortConfig::scanForWantedComponents):
(egl::SortConfig::wantedComponentsSize):
(egl::SortConfig::operator()):
(egl::ConfigSet::ConfigSet):
(egl::ConfigSet::add):
(egl::ConfigSet::size):
(egl::ConfigSet::getConfigs):
(egl::ConfigSet::get):
* src/libEGL/Config.h: Added.
* src/libEGL/Display.cpp: Added.
(egl::Display::getDisplay):
(egl::Display::Display):
(egl::Display::~Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::getConfigs):
(egl::Display::getConfigAttrib):
(egl::Display::createWindowSurface):
(egl::Display::createOffscreenSurface):
(egl::Display::createContext):
(egl::Display::restoreLostDevice):
(egl::Display::destroySurface):
(egl::Display::destroyContext):
(egl::Display::notifyDeviceLost):
(egl::Display::recreateSwapChains):
(egl::Display::isInitialized):
(egl::Display::isValidConfig):
(egl::Display::isValidContext):
(egl::Display::isValidSurface):
(egl::Display::hasExistingWindowSurface):
(egl::Display::initExtensionString):
(egl::Display::getExtensionString):
(egl::Display::initVendorString):
(egl::Display::getVendorString):
* src/libEGL/Display.h: Added.
(egl::Display::getRenderer):
* src/libEGL/Surface.cpp: Added.
(egl::Surface::Surface):
(egl::Surface::~Surface):
(egl::Surface::initialize):
(egl::Surface::release):
(egl::Surface::resetSwapChain):
(egl::Surface::resizeSwapChain):
(egl::Surface::swapRect):
(egl::Surface::getWindowHandle):
(egl::SurfaceWindowProc):
(egl::Surface::subclassWindow):
(egl::Surface::unsubclassWindow):
(egl::Surface::checkForOutOfDateSwapChain):
(egl::Surface::swap):
(egl::Surface::postSubBuffer):
(egl::Surface::getWidth):
(egl::Surface::getHeight):
(egl::Surface::isPostSubBufferSupported):
(egl::Surface::getSwapChain):
(egl::Surface::setSwapInterval):
(egl::Surface::getTextureFormat):
(egl::Surface::getTextureTarget):
(egl::Surface::setBoundTexture):
(egl::Surface::getBoundTexture):
(egl::Surface::getFormat):
* src/libEGL/Surface.h: Added.
* src/libEGL/libEGL.cpp: Added.
(validateDisplay):
(validateConfig):
(validateContext):
(validateSurface):
* src/libEGL/libEGL.def: Added.
* src/libEGL/libEGL.rc: Added.
* src/libEGL/libEGL.vcxproj: Added.
* src/libEGL/libEGL.vcxproj.filters: Added.
* src/libEGL/main.cpp: Added.
(DllMain):
(egl::setCurrentError):
(egl::getCurrentError):
(egl::setCurrentAPI):
(egl::getCurrentAPI):
(egl::setCurrentDisplay):
(egl::getCurrentDisplay):
(egl::setCurrentDrawSurface):
(egl::getCurrentDrawSurface):
(egl::setCurrentReadSurface):
(egl::getCurrentReadSurface):
(egl::error):
* src/libEGL/main.h: Added.
(egl::error):
(egl::success):
* src/libEGL/resource.h: Added.
* src/libGLESv2/BinaryStream.h: Added.
(gl::BinaryInputStream::BinaryInputStream):
(gl::BinaryInputStream::read):
(gl::BinaryInputStream::skip):
(gl::BinaryInputStream::offset):
(gl::BinaryInputStream::error):
(gl::BinaryInputStream::endOfStream):
(gl::BinaryOutputStream::BinaryOutputStream):
(gl::BinaryOutputStream::write):
(gl::BinaryOutputStream::length):
(gl::BinaryOutputStream::data):
* src/libGLESv2/Buffer.cpp: Added.
(gl::Buffer::Buffer):
(gl::Buffer::~Buffer):
(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::getStorage):
(gl::Buffer::size):
(gl::Buffer::usage):
(gl::Buffer::getStaticVertexBuffer):
(gl::Buffer::getStaticIndexBuffer):
(gl::Buffer::invalidateStaticData):
(gl::Buffer::promoteStaticUsage):
* src/libGLESv2/Buffer.h: Added.
* src/libGLESv2/Context.cpp: Added.
(gl::makeStaticString):
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::markContextLost):
(gl::Context::isContextLost):
(gl::Context::setClearColor):
(gl::Context::setClearDepth):
(gl::Context::setClearStencil):
(gl::Context::setCullFace):
(gl::Context::isCullFaceEnabled):
(gl::Context::setCullMode):
(gl::Context::setFrontFace):
(gl::Context::setDepthTest):
(gl::Context::isDepthTestEnabled):
(gl::Context::setDepthFunc):
(gl::Context::setDepthRange):
(gl::Context::setBlend):
(gl::Context::isBlendEnabled):
(gl::Context::setBlendFactors):
(gl::Context::setBlendColor):
(gl::Context::setBlendEquation):
(gl::Context::setStencilTest):
(gl::Context::isStencilTestEnabled):
(gl::Context::setStencilParams):
(gl::Context::setStencilBackParams):
(gl::Context::setStencilWritemask):
(gl::Context::setStencilBackWritemask):
(gl::Context::setStencilOperations):
(gl::Context::setStencilBackOperations):
(gl::Context::setPolygonOffsetFill):
(gl::Context::isPolygonOffsetFillEnabled):
(gl::Context::setPolygonOffsetParams):
(gl::Context::setSampleAlphaToCoverage):
(gl::Context::isSampleAlphaToCoverageEnabled):
(gl::Context::setSampleCoverage):
(gl::Context::isSampleCoverageEnabled):
(gl::Context::setSampleCoverageParams):
(gl::Context::setScissorTest):
(gl::Context::isScissorTestEnabled):
(gl::Context::setDither):
(gl::Context::isDitherEnabled):
(gl::Context::setLineWidth):
(gl::Context::setGenerateMipmapHint):
(gl::Context::setFragmentShaderDerivativeHint):
(gl::Context::setViewportParams):
(gl::Context::setScissorParams):
(gl::Context::setColorMask):
(gl::Context::setDepthMask):
(gl::Context::setActiveSampler):
(gl::Context::getReadFramebufferHandle):
(gl::Context::getDrawFramebufferHandle):
(gl::Context::getRenderbufferHandle):
(gl::Context::getArrayBufferHandle):
(gl::Context::getActiveQuery):
(gl::Context::setEnableVertexAttribArray):
(gl::Context::getVertexAttribState):
(gl::Context::setVertexAttribState):
(gl::Context::getVertexAttribPointer):
(gl::Context::setPackAlignment):
(gl::Context::getPackAlignment):
(gl::Context::setUnpackAlignment):
(gl::Context::getUnpackAlignment):
(gl::Context::setPackReverseRowOrder):
(gl::Context::getPackReverseRowOrder):
(gl::Context::createBuffer):
(gl::Context::createProgram):
(gl::Context::createShader):
(gl::Context::createTexture):
(gl::Context::createRenderbuffer):
(gl::Context::createFramebuffer):
(gl::Context::createFence):
(gl::Context::createQuery):
(gl::Context::deleteBuffer):
(gl::Context::deleteShader):
(gl::Context::deleteProgram):
(gl::Context::deleteTexture):
(gl::Context::deleteRenderbuffer):
(gl::Context::deleteFramebuffer):
(gl::Context::deleteFence):
(gl::Context::deleteQuery):
(gl::Context::getBuffer):
(gl::Context::getShader):
(gl::Context::getProgram):
(gl::Context::getTexture):
(gl::Context::getRenderbuffer):
(gl::Context::getReadFramebuffer):
(gl::Context::getDrawFramebuffer):
(gl::Context::bindArrayBuffer):
(gl::Context::bindElementArrayBuffer):
(gl::Context::bindTexture2D):
(gl::Context::bindTextureCubeMap):
(gl::Context::bindReadFramebuffer):
(gl::Context::bindDrawFramebuffer):
(gl::Context::bindRenderbuffer):
(gl::Context::useProgram):
(gl::Context::linkProgram):
(gl::Context::setProgramBinary):
(gl::Context::beginQuery):
(gl::Context::endQuery):
(gl::Context::setFramebufferZero):
(gl::Context::setRenderbufferStorage):
(gl::Context::getFramebuffer):
(gl::Context::getFence):
(gl::Context::getQuery):
(gl::Context::getArrayBuffer):
(gl::Context::getElementArrayBuffer):
(gl::Context::getCurrentProgramBinary):
(gl::Context::getTexture2D):
(gl::Context::getTextureCubeMap):
(gl::Context::getSamplerTexture):
(gl::Context::getBooleanv):
(gl::Context::getFloatv):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyShaders):
(gl::Context::applyTextures):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::sync):
(gl::Context::recordInvalidEnum):
(gl::Context::recordInvalidValue):
(gl::Context::recordInvalidOperation):
(gl::Context::recordOutOfMemory):
(gl::Context::recordInvalidFramebufferOperation):
(gl::Context::getError):
(gl::Context::getResetStatus):
(gl::Context::isResetNotificationEnabled):
(gl::Context::getMajorShaderModel):
(gl::Context::getMaximumPointSize):
(gl::Context::getMaximumCombinedTextureImageUnits):
(gl::Context::getMaxSupportedSamples):
(gl::Context::getMaximumRenderTargets):
(gl::Context::supportsEventQueries):
(gl::Context::supportsOcclusionQueries):
(gl::Context::supportsBGRATextures):
(gl::Context::supportsDXT1Textures):
(gl::Context::supportsDXT3Textures):
(gl::Context::supportsDXT5Textures):
(gl::Context::supportsFloat32Textures):
(gl::Context::supportsFloat32LinearFilter):
(gl::Context::supportsFloat32RenderableTextures):
(gl::Context::supportsFloat16Textures):
(gl::Context::supportsFloat16LinearFilter):
(gl::Context::supportsFloat16RenderableTextures):
(gl::Context::getMaximumRenderbufferDimension):
(gl::Context::getMaximumTextureDimension):
(gl::Context::getMaximumCubeTextureDimension):
(gl::Context::getMaximumTextureLevel):
(gl::Context::supportsLuminanceTextures):
(gl::Context::supportsLuminanceAlphaTextures):
(gl::Context::supportsDepthTextures):
(gl::Context::supports32bitIndices):
(gl::Context::supportsNonPower2Texture):
(gl::Context::supportsInstancing):
(gl::Context::supportsTextureFilterAnisotropy):
(gl::Context::getTextureMaxAnisotropy):
(gl::Context::getCurrentReadFormatType):
(gl::Context::detachBuffer):
(gl::Context::detachTexture):
(gl::Context::detachFramebuffer):
(gl::Context::detachRenderbuffer):
(gl::Context::getIncompleteTexture):
(gl::Context::skipDraw):
(gl::Context::setVertexAttrib):
(gl::Context::setVertexAttribDivisor):
(gl::Context::initExtensionString):
(gl::Context::getExtensionString):
(gl::Context::initRendererString):
(gl::Context::getRendererString):
(gl::Context::blitFramebuffer):
* src/libGLESv2/Context.h: Added.
(gl::VertexAttribute::VertexAttribute):
(gl::VertexAttribute::typeSize):
(gl::VertexAttribute::stride):
* src/libGLESv2/Fence.cpp: Added.
(gl::Fence::Fence):
(gl::Fence::~Fence):
(gl::Fence::isFence):
(gl::Fence::setFence):
(gl::Fence::testFence):
(gl::Fence::finishFence):
(gl::Fence::getFenceiv):
* src/libGLESv2/Fence.h: Added.
* src/libGLESv2/Float16ToFloat32.cpp: Added.
(gl::float16ToFloat32):
* src/libGLESv2/Float16ToFloat32.py: Added.
(convertMantissa):
(convertExponent):
(convertOffset):
* src/libGLESv2/Framebuffer.cpp: Added.
(gl::Framebuffer::Framebuffer):
(gl::Framebuffer::~Framebuffer):
(gl::Framebuffer::lookupRenderbuffer):
(gl::Framebuffer::setColorbuffer):
(gl::Framebuffer::setDepthbuffer):
(gl::Framebuffer::setStencilbuffer):
(gl::Framebuffer::detachTexture):
(gl::Framebuffer::detachRenderbuffer):
(gl::Framebuffer::getRenderTargetSerial):
(gl::Framebuffer::getDepthbufferSerial):
(gl::Framebuffer::getStencilbufferSerial):
(gl::Framebuffer::getColorbuffer):
(gl::Framebuffer::getDepthbuffer):
(gl::Framebuffer::getStencilbuffer):
(gl::Framebuffer::getDepthOrStencilbuffer):
(gl::Framebuffer::getReadColorbuffer):
(gl::Framebuffer::getReadColorbufferType):
(gl::Framebuffer::getFirstColorbuffer):
(gl::Framebuffer::getColorbufferType):
(gl::Framebuffer::getDepthbufferType):
(gl::Framebuffer::getStencilbufferType):
(gl::Framebuffer::getColorbufferHandle):
(gl::Framebuffer::getDepthbufferHandle):
(gl::Framebuffer::getStencilbufferHandle):
(gl::Framebuffer::getDrawBufferState):
(gl::Framebuffer::setDrawBufferState):
(gl::Framebuffer::isEnabledColorAttachment):
(gl::Framebuffer::hasEnabledColorAttachment):
(gl::Framebuffer::hasStencil):
(gl::Framebuffer::usingExtendedDrawBuffers):
(gl::Framebuffer::completeness):
(gl::DefaultFramebuffer::DefaultFramebuffer):
(gl::Framebuffer::getSamples):
(gl::DefaultFramebuffer::completeness):
* src/libGLESv2/Framebuffer.h: Added.
* src/libGLESv2/HandleAllocator.cpp: Added.
(gl::HandleAllocator::HandleAllocator):
(gl::HandleAllocator::~HandleAllocator):
(gl::HandleAllocator::setBaseHandle):
(gl::HandleAllocator::allocate):
(gl::HandleAllocator::release):
* src/libGLESv2/HandleAllocator.h: Added.
* src/libGLESv2/Program.cpp: Added.
(gl::AttributeBindings::AttributeBindings):
(gl::AttributeBindings::~AttributeBindings):
(gl::InfoLog::InfoLog):
(gl::InfoLog::~InfoLog):
(gl::InfoLog::getLength):
(gl::InfoLog::getLog):
(gl::InfoLog::appendSanitized):
(gl::InfoLog::append):
(gl::InfoLog::reset):
(gl::Program::Program):
(gl::Program::~Program):
(gl::Program::attachShader):
(gl::Program::detachShader):
(gl::Program::getAttachedShadersCount):
(gl::AttributeBindings::bindAttributeLocation):
(gl::Program::bindAttributeLocation):
(gl::Program::link):
(gl::AttributeBindings::getAttributeBinding):
(gl::Program::unlink):
(gl::Program::isLinked):
(gl::Program::getProgramBinary):
(gl::Program::setProgramBinary):
(gl::Program::release):
(gl::Program::addRef):
(gl::Program::getRefCount):
(gl::Program::getProgramBinaryLength):
(gl::Program::getInfoLogLength):
(gl::Program::getInfoLog):
(gl::Program::getAttachedShaders):
(gl::Program::getActiveAttribute):
(gl::Program::getActiveAttributeCount):
(gl::Program::getActiveAttributeMaxLength):
(gl::Program::getActiveUniform):
(gl::Program::getActiveUniformCount):
(gl::Program::getActiveUniformMaxLength):
(gl::Program::flagForDeletion):
(gl::Program::isFlaggedForDeletion):
(gl::Program::validate):
(gl::Program::isValidated):
* src/libGLESv2/Program.h: Added.
* src/libGLESv2/ProgramBinary.cpp: Added.
(gl::str):
(gl::UniformLocation::UniformLocation):
(gl::ProgramBinary::ProgramBinary):
(gl::ProgramBinary::~ProgramBinary):
(gl::ProgramBinary::getSerial):
(gl::ProgramBinary::issueSerial):
(gl::ProgramBinary::getPixelExecutable):
(gl::ProgramBinary::getVertexExecutable):
(gl::ProgramBinary::getGeometryExecutable):
(gl::ProgramBinary::getAttributeLocation):
(gl::ProgramBinary::getSemanticIndex):
(gl::ProgramBinary::getUsedSamplerRange):
(gl::ProgramBinary::usesPointSize):
(gl::ProgramBinary::usesPointSpriteEmulation):
(gl::ProgramBinary::usesGeometryShader):
(gl::ProgramBinary::getSamplerMapping):
(gl::ProgramBinary::getSamplerTextureType):
(gl::ProgramBinary::getUniformLocation):
(gl::ProgramBinary::setUniform1fv):
(gl::ProgramBinary::setUniform2fv):
(gl::ProgramBinary::setUniform3fv):
(gl::ProgramBinary::setUniform4fv):
(gl::transposeMatrix):
(gl::ProgramBinary::setUniformMatrix2fv):
(gl::ProgramBinary::setUniformMatrix3fv):
(gl::ProgramBinary::setUniformMatrix4fv):
(gl::ProgramBinary::setUniform1iv):
(gl::ProgramBinary::setUniform2iv):
(gl::ProgramBinary::setUniform3iv):
(gl::ProgramBinary::setUniform4iv):
(gl::ProgramBinary::getUniformfv):
(gl::ProgramBinary::getUniformiv):
(gl::ProgramBinary::dirtyAllUniforms):
(gl::ProgramBinary::applyUniforms):
(gl::ProgramBinary::packVaryings):
(gl::ProgramBinary::linkVaryings):
(gl::ProgramBinary::load):
(gl::ProgramBinary::save):
(gl::ProgramBinary::getLength):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::ProgramBinary::linkUniforms):
(gl::ProgramBinary::defineUniform):
(gl::ProgramBinary::generateGeometryShaderHLSL):
(gl::ProgramBinary::generatePointSpriteHLSL):
(gl::ProgramBinary::decorateAttribute):
(gl::ProgramBinary::isValidated):
(gl::ProgramBinary::getActiveAttribute):
(gl::ProgramBinary::getActiveAttributeCount):
(gl::ProgramBinary::getActiveAttributeMaxLength):
(gl::ProgramBinary::getActiveUniform):
(gl::ProgramBinary::getActiveUniformCount):
(gl::ProgramBinary::getActiveUniformMaxLength):
(gl::ProgramBinary::validate):
(gl::ProgramBinary::validateSamplers):
(gl::ProgramBinary::Sampler::Sampler):
(gl::AttributeSorter::AttributeSorter):
(gl::AttributeSorter::operator()):
(gl::ProgramBinary::sortAttributesByLayout):
* src/libGLESv2/ProgramBinary.h: Added.
(gl::UniformLocation::UniformLocation):
* src/libGLESv2/Query.cpp: Added.
(gl::Query::Query):
(gl::Query::~Query):
(gl::Query::begin):
(gl::Query::end):
(gl::Query::getResult):
(gl::Query::isResultAvailable):
(gl::Query::getType):
* src/libGLESv2/Query.h: Added.
* src/libGLESv2/Renderbuffer.cpp: Added.
(gl::RenderbufferInterface::RenderbufferInterface):
(gl::RenderbufferInterface::addProxyRef):
(gl::RenderbufferInterface::releaseProxy):
(gl::RenderbufferInterface::getRedSize):
(gl::RenderbufferInterface::getGreenSize):
(gl::RenderbufferInterface::getBlueSize):
(gl::RenderbufferInterface::getAlphaSize):
(gl::RenderbufferInterface::getDepthSize):
(gl::RenderbufferInterface::getStencilSize):
(gl::RenderbufferTexture2D::RenderbufferTexture2D):
(gl::RenderbufferTexture2D::~RenderbufferTexture2D):
(gl::RenderbufferTexture2D::addProxyRef):
(gl::RenderbufferTexture2D::releaseProxy):
(gl::RenderbufferTexture2D::getRenderTarget):
(gl::RenderbufferTexture2D::getDepthStencil):
(gl::RenderbufferTexture2D::getWidth):
(gl::RenderbufferTexture2D::getHeight):
(gl::RenderbufferTexture2D::getInternalFormat):
(gl::RenderbufferTexture2D::getActualFormat):
(gl::RenderbufferTexture2D::getSamples):
(gl::RenderbufferTexture2D::getSerial):
(gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::addProxyRef):
(gl::RenderbufferTextureCubeMap::releaseProxy):
(gl::RenderbufferTextureCubeMap::getRenderTarget):
(gl::RenderbufferTextureCubeMap::getDepthStencil):
(gl::RenderbufferTextureCubeMap::getWidth):
(gl::RenderbufferTextureCubeMap::getHeight):
(gl::RenderbufferTextureCubeMap::getInternalFormat):
(gl::RenderbufferTextureCubeMap::getActualFormat):
(gl::RenderbufferTextureCubeMap::getSamples):
(gl::RenderbufferTextureCubeMap::getSerial):
(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::~Renderbuffer):
(gl::Renderbuffer::addRef):
(gl::Renderbuffer::release):
(gl::Renderbuffer::getRenderTarget):
(gl::Renderbuffer::getDepthStencil):
(gl::Renderbuffer::getWidth):
(gl::Renderbuffer::getHeight):
(gl::Renderbuffer::getInternalFormat):
(gl::Renderbuffer::getActualFormat):
(gl::Renderbuffer::getRedSize):
(gl::Renderbuffer::getGreenSize):
(gl::Renderbuffer::getBlueSize):
(gl::Renderbuffer::getAlphaSize):
(gl::Renderbuffer::getDepthSize):
(gl::Renderbuffer::getStencilSize):
(gl::Renderbuffer::getSamples):
(gl::Renderbuffer::getSerial):
(gl::Renderbuffer::setStorage):
(gl::RenderbufferStorage::RenderbufferStorage):
(gl::RenderbufferStorage::~RenderbufferStorage):
(gl::RenderbufferStorage::getRenderTarget):
(gl::RenderbufferStorage::getDepthStencil):
(gl::RenderbufferStorage::getWidth):
(gl::RenderbufferStorage::getHeight):
(gl::RenderbufferStorage::getInternalFormat):
(gl::RenderbufferStorage::getActualFormat):
(gl::RenderbufferStorage::getSamples):
(gl::RenderbufferStorage::getSerial):
(gl::RenderbufferStorage::issueSerial):
(gl::RenderbufferStorage::issueCubeSerials):
(gl::Colorbuffer::Colorbuffer):
(gl::Colorbuffer::~Colorbuffer):
(gl::Colorbuffer::getRenderTarget):
(gl::DepthStencilbuffer::DepthStencilbuffer):
(gl::DepthStencilbuffer::~DepthStencilbuffer):
(gl::DepthStencilbuffer::getDepthStencil):
(gl::Depthbuffer::Depthbuffer):
(gl::Depthbuffer::~Depthbuffer):
(gl::Stencilbuffer::Stencilbuffer):
(gl::Stencilbuffer::~Stencilbuffer):
* src/libGLESv2/Renderbuffer.h: Added.
(gl::RenderbufferInterface::~RenderbufferInterface):
* src/libGLESv2/ResourceManager.cpp: Added.
(gl::ResourceManager::ResourceManager):
(gl::ResourceManager::~ResourceManager):
(gl::ResourceManager::addRef):
(gl::ResourceManager::release):
(gl::ResourceManager::createBuffer):
(gl::ResourceManager::createShader):
(gl::ResourceManager::createProgram):
(gl::ResourceManager::createTexture):
(gl::ResourceManager::createRenderbuffer):
(gl::ResourceManager::deleteBuffer):
(gl::ResourceManager::deleteShader):
(gl::ResourceManager::deleteProgram):
(gl::ResourceManager::deleteTexture):
(gl::ResourceManager::deleteRenderbuffer):
(gl::ResourceManager::getBuffer):
(gl::ResourceManager::getShader):
(gl::ResourceManager::getTexture):
(gl::ResourceManager::getProgram):
(gl::ResourceManager::getRenderbuffer):
(gl::ResourceManager::setRenderbuffer):
(gl::ResourceManager::checkBufferAllocation):
(gl::ResourceManager::checkTextureAllocation):
(gl::ResourceManager::checkRenderbufferAllocation):
* src/libGLESv2/ResourceManager.h: Added.
* src/libGLESv2/Shader.cpp: Added.
(gl::Shader::Shader):
(gl::Shader::~Shader):
(gl::Shader::getHandle):
(gl::Shader::setSource):
(gl::Shader::getInfoLogLength):
(gl::Shader::getInfoLog):
(gl::Shader::getSourceLength):
(gl::Shader::getTranslatedSourceLength):
(gl::Shader::getSourceImpl):
(gl::Shader::getSource):
(gl::Shader::getTranslatedSource):
(gl::Shader::getUniforms):
(gl::Shader::isCompiled):
(gl::Shader::getHLSL):
(gl::Shader::addRef):
(gl::Shader::release):
(gl::Shader::getRefCount):
(gl::Shader::isFlaggedForDeletion):
(gl::Shader::flagForDeletion):
(gl::Shader::initializeCompiler):
(gl::Shader::releaseCompiler):
(gl::Shader::parseVaryings):
(gl::Shader::resetVaryingsRegisterAssignment):
(gl::Shader::uncompile):
(gl::Shader::compileToHLSL):
(gl::Shader::parseType):
(gl::Shader::compareVarying):
(gl::VertexShader::VertexShader):
(gl::VertexShader::~VertexShader):
(gl::VertexShader::getType):
(gl::VertexShader::uncompile):
(gl::VertexShader::compile):
(gl::VertexShader::getSemanticIndex):
(gl::VertexShader::parseAttributes):
(gl::FragmentShader::FragmentShader):
(gl::FragmentShader::~FragmentShader):
(gl::FragmentShader::getType):
(gl::FragmentShader::compile):
* src/libGLESv2/Shader.h: Added.
(gl::Varying::Varying):
(gl::Attribute::Attribute):
* src/libGLESv2/Texture.cpp: Added.
(gl::Texture::Texture):
(gl::Texture::~Texture):
(gl::Texture::setMinFilter):
(gl::Texture::setMagFilter):
(gl::Texture::setWrapS):
(gl::Texture::setWrapT):
(gl::Texture::setMaxAnisotropy):
(gl::Texture::setUsage):
(gl::Texture::getMinFilter):
(gl::Texture::getMagFilter):
(gl::Texture::getWrapS):
(gl::Texture::getWrapT):
(gl::Texture::getMaxAnisotropy):
(gl::Texture::getLodOffset):
(gl::Texture::getSamplerState):
(gl::Texture::getUsage):
(gl::Texture::isMipmapFiltered):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture::getNativeTexture):
(gl::Texture::hasDirtyImages):
(gl::Texture::resetDirty):
(gl::Texture::getTextureSerial):
(gl::Texture::getRenderTargetSerial):
(gl::Texture::isImmutable):
(gl::Texture::creationLevels):
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl::Texture2D::addProxyRef):
(gl::Texture2D::releaseProxy):
(gl::Texture2D::getTarget):
(gl::Texture2D::getWidth):
(gl::Texture2D::getHeight):
(gl::Texture2D::getInternalFormat):
(gl::Texture2D::getActualFormat):
(gl::Texture2D::redefineImage):
(gl::Texture2D::setImage):
(gl::Texture2D::bindTexImage):
(gl::Texture2D::releaseTexImage):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::commitRect):
(gl::Texture2D::subImage):
(gl::Texture2D::subImageCompressed):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::storage):
(gl::Texture2D::isSamplerComplete):
(gl::Texture2D::isMipmapComplete):
(gl::Texture2D::isCompressed):
(gl::Texture2D::isDepth):
(gl::Texture2D::createTexture):
(gl::Texture2D::updateTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::generateMipmaps):
(gl::Texture2D::getRenderbuffer):
(gl::Texture2D::getRenderTarget):
(gl::Texture2D::getDepthStencil):
(gl::Texture2D::levelCount):
(gl::Texture2D::getStorage):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::~TextureCubeMap):
(gl::TextureCubeMap::addProxyRef):
(gl::TextureCubeMap::releaseProxy):
(gl::TextureCubeMap::getTarget):
(gl::TextureCubeMap::getWidth):
(gl::TextureCubeMap::getHeight):
(gl::TextureCubeMap::getInternalFormat):
(gl::TextureCubeMap::getActualFormat):
(gl::TextureCubeMap::setImagePosX):
(gl::TextureCubeMap::setImageNegX):
(gl::TextureCubeMap::setImagePosY):
(gl::TextureCubeMap::setImageNegY):
(gl::TextureCubeMap::setImagePosZ):
(gl::TextureCubeMap::setImageNegZ):
(gl::TextureCubeMap::setCompressedImage):
(gl::TextureCubeMap::commitRect):
(gl::TextureCubeMap::subImage):
(gl::TextureCubeMap::subImageCompressed):
(gl::TextureCubeMap::isSamplerComplete):
(gl::TextureCubeMap::isCubeComplete):
(gl::TextureCubeMap::isMipmapCubeComplete):
(gl::TextureCubeMap::isCompressed):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::updateTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::setImage):
(gl::TextureCubeMap::faceIndex):
(gl::TextureCubeMap::redefineImage):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::storage):
(gl::TextureCubeMap::generateMipmaps):
(gl::TextureCubeMap::getRenderbuffer):
(gl::TextureCubeMap::getRenderTarget):
(gl::TextureCubeMap::levelCount):
(gl::TextureCubeMap::getStorage):
* src/libGLESv2/Texture.h: Added.
* src/libGLESv2/Uniform.cpp: Added.
(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::Uniform::elementCount):
* src/libGLESv2/Uniform.h: Added.
* src/libGLESv2/angletypes.h: Added.
* src/libGLESv2/constants.h: Added.
* src/libGLESv2/libGLESv2.cpp: Added.
(validImageSize):
(checkTextureFormatType):
(validateSubImageParams2D):
(validateSubImageParamsCube):
(validReadFormatType):
* src/libGLESv2/libGLESv2.def: Added.
* src/libGLESv2/libGLESv2.rc: Added.
* src/libGLESv2/libGLESv2.vcxproj: Added.
* src/libGLESv2/libGLESv2.vcxproj.filters: Added.
* src/libGLESv2/main.cpp: Added.
(DllMain):
(gl::makeCurrent):
(gl::getContext):
(gl::getNonLostContext):
(gl::getDisplay):
(gl::error):
* src/libGLESv2/main.h: Added.
(gl::error):
* src/libGLESv2/mathutil.h: Added.
(gl::Vector4::Vector4):
(gl::isPow2):
(gl::log2):
(gl::ceilPow2):
(gl::clamp):
(gl::clamp01):
(gl::unorm):
(gl::supportsSSE2):
(gl::float32ToFloat16):
(rx::Range::Range):
* src/libGLESv2/precompiled.cpp: Added.
* src/libGLESv2/precompiled.h: Added.
* src/libGLESv2/renderer: Added.
* src/libGLESv2/renderer/Blit.cpp: Added.
(rx::Blit::Blit):
(rx::Blit::~Blit):
(rx::Blit::initGeometry):
(rx::Blit::setShader):
(rx::Blit::setVertexShader):
(rx::Blit::setPixelShader):
(rx::Blit::getSurfaceRect):
(rx::Blit::boxFilter):
(rx::Blit::copy):
(rx::Blit::formatConvert):
(rx::Blit::setFormatConvertShaders):
(rx::Blit::copySurfaceToTexture):
(rx::Blit::setViewport):
(rx::Blit::setCommonBlitState):
(rx::Blit::render):
(rx::Blit::saveState):
(rx::Blit::restoreState):
* src/libGLESv2/renderer/Blit.h: Added.
* src/libGLESv2/renderer/BufferStorage.cpp: Added.
(rx::BufferStorage::BufferStorage):
(rx::BufferStorage::~BufferStorage):
(rx::BufferStorage::getSerial):
(rx::BufferStorage::updateSerial):
(rx::BufferStorage::markBufferUsage):
* src/libGLESv2/renderer/BufferStorage.h: Added.
* src/libGLESv2/renderer/BufferStorage11.cpp: Added.
(rx::BufferStorage11::BufferStorage11):
(rx::BufferStorage11::~BufferStorage11):
(rx::BufferStorage11::makeBufferStorage11):
(rx::BufferStorage11::getData):
(rx::BufferStorage11::setData):
(rx::BufferStorage11::clear):
(rx::BufferStorage11::getSize):
(rx::BufferStorage11::supportsDirectBinding):
(rx::BufferStorage11::markBufferUsage):
(rx::BufferStorage11::getBuffer):
* src/libGLESv2/renderer/BufferStorage11.h: Added.
* src/libGLESv2/renderer/BufferStorage9.cpp: Added.
(rx::BufferStorage9::BufferStorage9):
(rx::BufferStorage9::~BufferStorage9):
(rx::BufferStorage9::makeBufferStorage9):
(rx::BufferStorage9::getData):
(rx::BufferStorage9::setData):
(rx::BufferStorage9::clear):
(rx::BufferStorage9::getSize):
(rx::BufferStorage9::supportsDirectBinding):
* src/libGLESv2/renderer/BufferStorage9.h: Added.
* src/libGLESv2/renderer/Fence11.cpp: Added.
(rx::Fence11::Fence11):
(rx::Fence11::~Fence11):
(rx::Fence11::isFence):
(rx::Fence11::setFence):
(rx::Fence11::testFence):
(rx::Fence11::finishFence):
(rx::Fence11::getFenceiv):
* src/libGLESv2/renderer/Fence11.h: Added.
* src/libGLESv2/renderer/Fence9.cpp: Added.
(rx::Fence9::Fence9):
(rx::Fence9::~Fence9):
(rx::Fence9::isFence):
(rx::Fence9::setFence):
(rx::Fence9::testFence):
(rx::Fence9::finishFence):
(rx::Fence9::getFenceiv):
* src/libGLESv2/renderer/Fence9.h: Added.
* src/libGLESv2/renderer/FenceImpl.h: Added.
(rx::FenceImpl::FenceImpl):
(rx::FenceImpl::~FenceImpl):
(rx::FenceImpl::setStatus):
(rx::FenceImpl::getStatus):
(rx::FenceImpl::setCondition):
(rx::FenceImpl::getCondition):
* src/libGLESv2/renderer/Image.cpp: Added.
(rx::Image::Image):
(rx::Image::loadAlphaDataToBGRA):
(rx::Image::loadAlphaDataToNative):
(rx::Image::loadAlphaFloatDataToRGBA):
(rx::Image::loadAlphaHalfFloatDataToRGBA):
(rx::Image::loadLuminanceDataToNativeOrBGRA):
(rx::Image::loadLuminanceFloatDataToRGBA):
(rx::Image::loadLuminanceFloatDataToRGB):
(rx::Image::loadLuminanceHalfFloatDataToRGBA):
(rx::Image::loadLuminanceAlphaDataToNativeOrBGRA):
(rx::Image::loadLuminanceAlphaFloatDataToRGBA):
(rx::Image::loadLuminanceAlphaHalfFloatDataToRGBA):
(rx::Image::loadRGBUByteDataToBGRX):
(rx::Image::loadRGBUByteDataToRGBA):
(rx::Image::loadRGB565DataToBGRA):
(rx::Image::loadRGB565DataToRGBA):
(rx::Image::loadRGBFloatDataToRGBA):
(rx::Image::loadRGBFloatDataToNative):
(rx::Image::loadRGBHalfFloatDataToRGBA):
(rx::Image::loadRGBAUByteDataToBGRA):
(rx::Image::loadRGBAUByteDataToNative):
(rx::Image::loadRGBA4444DataToBGRA):
(rx::Image::loadRGBA4444DataToRGBA):
(rx::Image::loadRGBA5551DataToBGRA):
(rx::Image::loadRGBA5551DataToRGBA):
(rx::Image::loadRGBAFloatDataToRGBA):
(rx::Image::loadRGBAHalfFloatDataToRGBA):
(rx::Image::loadBGRADataToBGRA):
* src/libGLESv2/renderer/Image.h: Added.
(rx::Image::~Image):
(rx::Image::getWidth):
(rx::Image::getHeight):
(rx::Image::getInternalFormat):
(rx::Image::getActualFormat):
(rx::Image::markDirty):
(rx::Image::markClean):
(rx::Image::setManagedSurface):
* src/libGLESv2/renderer/Image11.cpp: Added.
(rx::Image11::Image11):
(rx::Image11::~Image11):
(rx::Image11::makeImage11):
(rx::Image11::generateMipmap):
(rx::Image11::isDirty):
(rx::Image11::updateSurface):
(rx::Image11::redefine):
(rx::Image11::isRenderableFormat):
(rx::Image11::getDXGIFormat):
(rx::Image11::loadData):
(rx::Image11::loadCompressedData):
(rx::Image11::copy):
(rx::Image11::getStagingTexture):
(rx::Image11::getStagingSubresource):
(rx::Image11::createStagingTexture):
(rx::Image11::map):
(rx::Image11::unmap):
* src/libGLESv2/renderer/Image11.h: Added.
* src/libGLESv2/renderer/Image9.cpp: Added.
(rx::Image9::Image9):
(rx::Image9::~Image9):
(rx::Image9::generateMip):
(rx::Image9::makeImage9):
(rx::Image9::generateMipmap):
(rx::Image9::copyLockableSurfaces):
(rx::Image9::redefine):
(rx::Image9::createSurface):
(rx::Image9::lock):
(rx::Image9::unlock):
(rx::Image9::isRenderableFormat):
(rx::Image9::getD3DFormat):
(rx::Image9::getSurface):
(rx::Image9::setManagedSurface):
(rx::Image9::updateSurface):
(rx::Image9::loadData):
(rx::Image9::loadCompressedData):
(rx::Image9::copy):
* src/libGLESv2/renderer/Image9.h: Added.
(rx::Image9::isDirty):
* src/libGLESv2/renderer/ImageSSE2.cpp: Added.
(rx::Image::loadRGBAUByteDataToBGRASSE2):
(rx::Image::loadAlphaDataToBGRASSE2):
* src/libGLESv2/renderer/IndexBuffer.cpp: Added.
(rx::IndexBuffer::IndexBuffer):
(rx::IndexBuffer::~IndexBuffer):
(rx::IndexBuffer::getSerial):
(rx::IndexBuffer::updateSerial):
(rx::IndexBufferInterface::IndexBufferInterface):
(rx::IndexBufferInterface::~IndexBufferInterface):
(rx::IndexBufferInterface::getIndexType):
(rx::IndexBufferInterface::getBufferSize):
(rx::IndexBufferInterface::getSerial):
(rx::IndexBufferInterface::mapBuffer):
(rx::IndexBufferInterface::unmapBuffer):
(rx::IndexBufferInterface::getIndexBuffer):
(rx::IndexBufferInterface::getWritePosition):
(rx::IndexBufferInterface::setWritePosition):
(rx::IndexBufferInterface::discard):
(rx::IndexBufferInterface::setBufferSize):
(rx::StreamingIndexBufferInterface::StreamingIndexBufferInterface):
(rx::StreamingIndexBufferInterface::~StreamingIndexBufferInterface):
(rx::StreamingIndexBufferInterface::reserveBufferSpace):
(rx::StaticIndexBufferInterface::StaticIndexBufferInterface):
(rx::StaticIndexBufferInterface::~StaticIndexBufferInterface):
(rx::StaticIndexBufferInterface::reserveBufferSpace):
(rx::StaticIndexBufferInterface::lookupRange):
(rx::StaticIndexBufferInterface::addRange):
* src/libGLESv2/renderer/IndexBuffer.h: Added.
(rx::StaticIndexBufferInterface::IndexRange::operator<):
* src/libGLESv2/renderer/IndexBuffer11.cpp: Added.
(rx::IndexBuffer11::IndexBuffer11):
(rx::IndexBuffer11::~IndexBuffer11):
(rx::IndexBuffer11::initialize):
(rx::IndexBuffer11::makeIndexBuffer11):
(rx::IndexBuffer11::mapBuffer):
(rx::IndexBuffer11::unmapBuffer):
(rx::IndexBuffer11::getIndexType):
(rx::IndexBuffer11::getBufferSize):
(rx::IndexBuffer11::setSize):
(rx::IndexBuffer11::discard):
(rx::IndexBuffer11::getIndexFormat):
(rx::IndexBuffer11::getBuffer):
* src/libGLESv2/renderer/IndexBuffer11.h: Added.
* src/libGLESv2/renderer/IndexBuffer9.cpp: Added.
(rx::IndexBuffer9::IndexBuffer9):
(rx::IndexBuffer9::~IndexBuffer9):
(rx::IndexBuffer9::initialize):
(rx::IndexBuffer9::makeIndexBuffer9):
(rx::IndexBuffer9::mapBuffer):
(rx::IndexBuffer9::unmapBuffer):
(rx::IndexBuffer9::getIndexType):
(rx::IndexBuffer9::getBufferSize):
(rx::IndexBuffer9::setSize):
(rx::IndexBuffer9::discard):
(rx::IndexBuffer9::getIndexFormat):
(rx::IndexBuffer9::getBuffer):
* src/libGLESv2/renderer/IndexBuffer9.h: Added.
* src/libGLESv2/renderer/IndexDataManager.cpp: Added.
(rx::IndexDataManager::IndexDataManager):
(rx::IndexDataManager::~IndexDataManager):
(rx::indexTypeSize):
(rx::convertIndices):
(rx::computeRange):
(rx::IndexDataManager::prepareIndexData):
(rx::IndexDataManager::getCountingIndices):
* src/libGLESv2/renderer/IndexDataManager.h: Added.
* src/libGLESv2/renderer/InputLayoutCache.cpp: Added.
(rx::InputLayoutCache::InputLayoutCache):
(rx::InputLayoutCache::~InputLayoutCache):
(rx::InputLayoutCache::initialize):
(rx::InputLayoutCache::clear):
(rx::InputLayoutCache::applyVertexBuffers):
(rx::InputLayoutCache::hashInputLayout):
(rx::InputLayoutCache::compareInputLayouts):
* src/libGLESv2/renderer/InputLayoutCache.h: Added.
* src/libGLESv2/renderer/Query11.cpp: Added.
(rx::Query11::Query11):
(rx::Query11::~Query11):
(rx::Query11::begin):
(rx::Query11::end):
(rx::Query11::getResult):
(rx::Query11::isResultAvailable):
(rx::Query11::testQuery):
* src/libGLESv2/renderer/Query11.h: Added.
* src/libGLESv2/renderer/Query9.cpp: Added.
(rx::Query9::Query9):
(rx::Query9::~Query9):
(rx::Query9::begin):
(rx::Query9::end):
(rx::Query9::getResult):
(rx::Query9::isResultAvailable):
(rx::Query9::testQuery):
* src/libGLESv2/renderer/Query9.h: Added.
* src/libGLESv2/renderer/QueryImpl.h: Added.
(rx::QueryImpl::QueryImpl):
(rx::QueryImpl::~QueryImpl):
(rx::QueryImpl::getType):
* src/libGLESv2/renderer/RenderStateCache.cpp: Added.
(rx::RenderStateCache::RenderStateCache):
(rx::RenderStateCache::~RenderStateCache):
(rx::RenderStateCache::initialize):
(rx::RenderStateCache::clear):
(rx::RenderStateCache::hashBlendState):
(rx::RenderStateCache::compareBlendStates):
(rx::RenderStateCache::getBlendState):
(rx::RenderStateCache::hashRasterizerState):
(rx::RenderStateCache::compareRasterizerStates):
(rx::RenderStateCache::getRasterizerState):
(rx::RenderStateCache::hashDepthStencilState):
(rx::RenderStateCache::compareDepthStencilStates):
(rx::RenderStateCache::getDepthStencilState):
(rx::RenderStateCache::hashSamplerState):
(rx::RenderStateCache::compareSamplerStates):
(rx::RenderStateCache::getSamplerState):
* src/libGLESv2/renderer/RenderStateCache.h: Added.
* src/libGLESv2/renderer/RenderTarget.h: Added.
(rx::RenderTarget::RenderTarget):
(rx::RenderTarget::~RenderTarget):
(rx::RenderTarget::getWidth):
(rx::RenderTarget::getHeight):
(rx::RenderTarget::getInternalFormat):
(rx::RenderTarget::getActualFormat):
(rx::RenderTarget::getSamples):
* src/libGLESv2/renderer/RenderTarget11.cpp: Added.
(rx::getRTVSubresourceIndex):
(rx::getDSVSubresourceIndex):
(rx::RenderTarget11::RenderTarget11):
(rx::RenderTarget11::~RenderTarget11):
(rx::RenderTarget11::makeRenderTarget11):
(rx::RenderTarget11::getTexture):
(rx::RenderTarget11::getRenderTargetView):
(rx::RenderTarget11::getDepthStencilView):
(rx::RenderTarget11::getShaderResourceView):
(rx::RenderTarget11::getSubresourceIndex):
* src/libGLESv2/renderer/RenderTarget11.h: Added.
* src/libGLESv2/renderer/RenderTarget9.cpp: Added.
(rx::RenderTarget9::RenderTarget9):
(rx::RenderTarget9::~RenderTarget9):
(rx::RenderTarget9::makeRenderTarget9):
(rx::RenderTarget9::getSurface):
* src/libGLESv2/renderer/RenderTarget9.h: Added.
* src/libGLESv2/renderer/Renderer.cpp: Added.
(rx::Renderer::Renderer):
(rx::Renderer::~Renderer):
(rx::Renderer::initializeCompiler):
(rx::Renderer::compileToBinary):
* src/libGLESv2/renderer/Renderer.h: Added.
(getComparableOSVersion):
(rx::Renderer::getVertexTextureSupport):
* src/libGLESv2/renderer/Renderer11.cpp: Added.
(rx::Renderer11::Renderer11):
(rx::Renderer11::~Renderer11):
(rx::Renderer11::makeRenderer11):
(rx::Renderer11::initialize):
(rx::Renderer11::initializeDevice):
(rx::Renderer11::generateConfigs):
(rx::Renderer11::deleteConfigs):
(rx::Renderer11::sync):
(rx::Renderer11::createSwapChain):
(rx::Renderer11::setSamplerState):
(rx::Renderer11::setTexture):
(rx::Renderer11::setRasterizerState):
(rx::Renderer11::setBlendState):
(rx::Renderer11::setDepthStencilState):
(rx::Renderer11::setScissorRectangle):
(rx::Renderer11::setViewport):
(rx::Renderer11::applyPrimitiveType):
(rx::Renderer11::applyRenderTarget):
(rx::Renderer11::applyVertexBuffer):
(rx::Renderer11::applyIndexBuffer):
(rx::Renderer11::drawArrays):
(rx::Renderer11::drawElements):
(rx::Renderer11::drawLineLoop):
(rx::Renderer11::drawTriangleFan):
(rx::Renderer11::applyShaders):
(rx::Renderer11::applyUniforms):
(rx::Renderer11::clear):
(rx::Renderer11::maskedClear):
(rx::Renderer11::markAllStateDirty):
(rx::Renderer11::releaseDeviceResources):
(rx::Renderer11::notifyDeviceLost):
(rx::Renderer11::isDeviceLost):
(rx::Renderer11::testDeviceLost):
(rx::Renderer11::testDeviceResettable):
(rx::Renderer11::release):
(rx::Renderer11::resetDevice):
(rx::Renderer11::getAdapterVendor):
(rx::Renderer11::getRendererDescription):
(rx::Renderer11::getAdapterIdentifier):
(rx::Renderer11::getBGRATextureSupport):
(rx::Renderer11::getDXT1TextureSupport):
(rx::Renderer11::getDXT3TextureSupport):
(rx::Renderer11::getDXT5TextureSupport):
(rx::Renderer11::getDepthTextureSupport):
(rx::Renderer11::getFloat32TextureSupport):
(rx::Renderer11::getFloat16TextureSupport):
(rx::Renderer11::getLuminanceTextureSupport):
(rx::Renderer11::getLuminanceAlphaTextureSupport):
(rx::Renderer11::getTextureFilterAnisotropySupport):
(rx::Renderer11::getTextureMaxAnisotropy):
(rx::Renderer11::getEventQuerySupport):
(rx::Renderer11::getViewportBounds):
(rx::Renderer11::getMaxVertexTextureImageUnits):
(rx::Renderer11::getMaxCombinedTextureImageUnits):
(rx::Renderer11::getReservedVertexUniformVectors):
(rx::Renderer11::getReservedFragmentUniformVectors):
(rx::Renderer11::getMaxVertexUniformVectors):
(rx::Renderer11::getMaxFragmentUniformVectors):
(rx::Renderer11::getMaxVaryingVectors):
(rx::Renderer11::getNonPower2TextureSupport):
(rx::Renderer11::getOcclusionQuerySupport):
(rx::Renderer11::getInstancingSupport):
(rx::Renderer11::getShareHandleSupport):
(rx::Renderer11::getDerivativeInstructionSupport):
(rx::Renderer11::getPostSubBufferSupport):
(rx::Renderer11::getMajorShaderModel):
(rx::Renderer11::getMinorShaderModel):
(rx::Renderer11::getMaxPointSize):
(rx::Renderer11::getMaxViewportDimension):
(rx::Renderer11::getMaxTextureWidth):
(rx::Renderer11::getMaxTextureHeight):
(rx::Renderer11::get32BitIndexSupport):
(rx::Renderer11::getMinSwapInterval):
(rx::Renderer11::getMaxSwapInterval):
(rx::Renderer11::getMaxSupportedSamples):
(rx::Renderer11::getNearestSupportedSamples):
(rx::Renderer11::getMaxRenderTargets):
(rx::Renderer11::copyToRenderTarget):
(rx::Renderer11::copyImage):
(rx::Renderer11::copyTexture):
(rx::Renderer11::unapplyRenderTargets):
(rx::Renderer11::setOneTimeRenderTarget):
(rx::Renderer11::createRenderTarget):
(rx::Renderer11::loadExecutable):
(rx::Renderer11::compileToExecutable):
(rx::Renderer11::createVertexBuffer):
(rx::Renderer11::createIndexBuffer):
(rx::Renderer11::createBufferStorage):
(rx::Renderer11::createQuery):
(rx::Renderer11::createFence):
(rx::Renderer11::getRenderTargetResource):
(rx::Renderer11::blitRect):
(rx::Renderer11::readPixels):
(rx::Renderer11::createImage):
(rx::Renderer11::generateMipmap):
(rx::Renderer11::createTextureStorage2D):
(rx::Renderer11::createTextureStorageCube):
(rx::getFastPixelCopySize):
(rx::readPixelColor):
(rx::writePixelColor):
(rx::Renderer11::readTextureData):
(rx::Renderer11::blitRenderbufferRect):
(rx::Renderer11::resolveMultisampledTexture):
(rx::Renderer11::getLUID):
* src/libGLESv2/renderer/Renderer11.h: Added.
(rx::Renderer11::getDevice):
(rx::Renderer11::getDeviceContext):
(rx::Renderer11::getDxgiFactory):
* src/libGLESv2/renderer/Renderer9.cpp: Added.
(rx::Renderer9::Renderer9):
(rx::Renderer9::~Renderer9):
(rx::Renderer9::makeRenderer9):
(rx::Renderer9::initialize):
(rx::Renderer9::initializeDevice):
(rx::Renderer9::getDefaultPresentParameters):
(rx::Renderer9::generateConfigs):
(rx::Renderer9::deleteConfigs):
(rx::Renderer9::startScene):
(rx::Renderer9::endScene):
(rx::Renderer9::sync):
(rx::Renderer9::createSwapChain):
(rx::Renderer9::allocateEventQuery):
(rx::Renderer9::freeEventQuery):
(rx::Renderer9::createVertexShader):
(rx::Renderer9::createPixelShader):
(rx::Renderer9::createVertexBuffer):
(rx::Renderer9::createIndexBuffer):
(rx::Renderer9::createBufferStorage):
(rx::Renderer9::createQuery):
(rx::Renderer9::createFence):
(rx::Renderer9::setSamplerState):
(rx::Renderer9::setTexture):
(rx::Renderer9::setRasterizerState):
(rx::Renderer9::setBlendState):
(rx::Renderer9::setDepthStencilState):
(rx::Renderer9::setScissorRectangle):
(rx::Renderer9::setViewport):
(rx::Renderer9::applyPrimitiveType):
(rx::Renderer9::getNullColorbuffer):
(rx::Renderer9::applyRenderTarget):
(rx::Renderer9::applyVertexBuffer):
(rx::Renderer9::applyIndexBuffer):
(rx::Renderer9::drawArrays):
(rx::Renderer9::drawElements):
(rx::Renderer9::drawLineLoop):
(rx::drawPoints):
(rx::Renderer9::drawIndexedPoints):
(rx::Renderer9::applyShaders):
(rx::Renderer9::applyUniforms):
(rx::Renderer9::applyUniformnfv):
(rx::Renderer9::applyUniformniv):
(rx::Renderer9::applyUniformnbv):
(rx::Renderer9::clear):
(rx::Renderer9::markAllStateDirty):
(rx::Renderer9::releaseDeviceResources):
(rx::Renderer9::notifyDeviceLost):
(rx::Renderer9::isDeviceLost):
(rx::Renderer9::testDeviceLost):
(rx::Renderer9::testDeviceResettable):
(rx::Renderer9::resetDevice):
(rx::Renderer9::getAdapterVendor):
(rx::Renderer9::getRendererDescription):
(rx::Renderer9::getAdapterIdentifier):
(rx::Renderer9::getMultiSampleSupport):
(rx::Renderer9::getBGRATextureSupport):
(rx::Renderer9::getDXT1TextureSupport):
(rx::Renderer9::getDXT3TextureSupport):
(rx::Renderer9::getDXT5TextureSupport):
(rx::Renderer9::getDepthTextureSupport):
(rx::Renderer9::getFloat32TextureSupport):
(rx::Renderer9::getFloat16TextureSupport):
(rx::Renderer9::getLuminanceTextureSupport):
(rx::Renderer9::getLuminanceAlphaTextureSupport):
(rx::Renderer9::getTextureFilterAnisotropySupport):
(rx::Renderer9::getTextureMaxAnisotropy):
(rx::Renderer9::getEventQuerySupport):
(rx::Renderer9::getMaxVertexTextureImageUnits):
(rx::Renderer9::getMaxCombinedTextureImageUnits):
(rx::Renderer9::getReservedVertexUniformVectors):
(rx::Renderer9::getReservedFragmentUniformVectors):
(rx::Renderer9::getMaxVertexUniformVectors):
(rx::Renderer9::getMaxFragmentUniformVectors):
(rx::Renderer9::getMaxVaryingVectors):
(rx::Renderer9::getNonPower2TextureSupport):
(rx::Renderer9::getOcclusionQuerySupport):
(rx::Renderer9::getInstancingSupport):
(rx::Renderer9::getShareHandleSupport):
(rx::Renderer9::getDerivativeInstructionSupport):
(rx::Renderer9::getPostSubBufferSupport):
(rx::Renderer9::getMajorShaderModel):
(rx::Renderer9::getMaxPointSize):
(rx::Renderer9::getMaxViewportDimension):
(rx::Renderer9::getMaxTextureWidth):
(rx::Renderer9::getMaxTextureHeight):
(rx::Renderer9::get32BitIndexSupport):
(rx::Renderer9::getCapsDeclTypes):
(rx::Renderer9::getMinSwapInterval):
(rx::Renderer9::getMaxSwapInterval):
(rx::Renderer9::getMaxSupportedSamples):
(rx::Renderer9::getNearestSupportedSamples):
(rx::Renderer9::getMaxRenderTargets):
(rx::Renderer9::ConvertTextureInternalFormat):
(rx::Renderer9::copyToRenderTarget):
(rx::Renderer9::getBufferPool):
(rx::Renderer9::copyImage):
(rx::Renderer9::blitRect):
(rx::Renderer9::readPixels):
(rx::Renderer9::createRenderTarget):
(rx::Renderer9::loadExecutable):
(rx::Renderer9::compileToExecutable):
(rx::Renderer9::boxFilter):
(rx::Renderer9::getTexturePool):
(rx::Renderer9::createImage):
(rx::Renderer9::generateMipmap):
(rx::Renderer9::createTextureStorage2D):
(rx::Renderer9::createTextureStorageCube):
(rx::Renderer9::getLUID):
* src/libGLESv2/renderer/Renderer9.h: Added.
(rx::Renderer9::getDevice):
* src/libGLESv2/renderer/ShaderCache.h: Added.
(rx::ShaderCache::ShaderCache):
(rx::ShaderCache::~ShaderCache):
(rx::ShaderCache::initialize):
(rx::ShaderCache::create):
(rx::ShaderCache::clear):
(rx::ShaderCache::createShader):
* src/libGLESv2/renderer/ShaderExecutable.h: Added.
(rx::ShaderExecutable::ShaderExecutable):
(rx::ShaderExecutable::~ShaderExecutable):
(rx::ShaderExecutable::getFunction):
(rx::ShaderExecutable::getLength):
* src/libGLESv2/renderer/ShaderExecutable11.cpp: Added.
(rx::ShaderExecutable11::ShaderExecutable11):
(rx::ShaderExecutable11::~ShaderExecutable11):
(rx::ShaderExecutable11::makeShaderExecutable11):
(rx::ShaderExecutable11::getVertexShader):
(rx::ShaderExecutable11::getPixelShader):
(rx::ShaderExecutable11::getGeometryShader):
(rx::ShaderExecutable11::getConstantBuffer):
* src/libGLESv2/renderer/ShaderExecutable11.h: Added.
* src/libGLESv2/renderer/ShaderExecutable9.cpp: Added.
(rx::ShaderExecutable9::ShaderExecutable9):
(rx::ShaderExecutable9::~ShaderExecutable9):
(rx::ShaderExecutable9::makeShaderExecutable9):
(rx::ShaderExecutable9::getVertexShader):
(rx::ShaderExecutable9::getPixelShader):
* src/libGLESv2/renderer/ShaderExecutable9.h: Added.
* src/libGLESv2/renderer/SwapChain.h: Added.
(rx::SwapChain::SwapChain):
(rx::SwapChain::~SwapChain):
(rx::SwapChain::getShareHandle):
* src/libGLESv2/renderer/SwapChain11.cpp: Added.
(rx::SwapChain11::SwapChain11):
(rx::SwapChain11::~SwapChain11):
(rx::SwapChain11::release):
(rx::SwapChain11::releaseOffscreenTexture):
(rx::SwapChain11::resetOffscreenTexture):
(rx::SwapChain11::resize):
(rx::SwapChain11::reset):
(rx::SwapChain11::initPassThroughResources):
(rx::SwapChain11::swapRect):
(rx::SwapChain11::getOffscreenTexture):
(rx::SwapChain11::getRenderTarget):
(rx::SwapChain11::getRenderTargetShaderResource):
(rx::SwapChain11::getDepthStencil):
(rx::SwapChain11::getDepthStencilTexture):
(rx::SwapChain11::makeSwapChain11):
(rx::SwapChain11::recreate):
* src/libGLESv2/renderer/SwapChain11.h: Added.
(rx::SwapChain11::getWidth):
(rx::SwapChain11::getHeight):
* src/libGLESv2/renderer/SwapChain9.cpp: Added.
(rx::SwapChain9::SwapChain9):
(rx::SwapChain9::~SwapChain9):
(rx::SwapChain9::release):
(rx::convertInterval):
(rx::SwapChain9::resize):
(rx::SwapChain9::reset):
(rx::SwapChain9::swapRect):
(rx::SwapChain9::getRenderTarget):
(rx::SwapChain9::getDepthStencil):
(rx::SwapChain9::getOffscreenTexture):
(rx::SwapChain9::makeSwapChain9):
(rx::SwapChain9::recreate):
* src/libGLESv2/renderer/SwapChain9.h: Added.
* src/libGLESv2/renderer/TextureStorage.cpp: Added.
(rx::TextureStorageInterface::TextureStorageInterface):
(rx::TextureStorageInterface::~TextureStorageInterface):
(rx::TextureStorageInterface::isRenderTarget):
(rx::TextureStorageInterface::isManaged):
(rx::TextureStorageInterface::getTextureSerial):
(rx::TextureStorageInterface::issueTextureSerial):
(rx::TextureStorageInterface::getLodOffset):
(rx::TextureStorageInterface::levelCount):
(rx::TextureStorageInterface2D::TextureStorageInterface2D):
(rx::TextureStorageInterface2D::~TextureStorageInterface2D):
(rx::TextureStorageInterface2D::getRenderTarget):
(rx::TextureStorageInterface2D::generateMipmap):
(rx::TextureStorageInterface2D::getRenderTargetSerial):
(rx::TextureStorageInterfaceCube::TextureStorageInterfaceCube):
(rx::TextureStorageInterfaceCube::~TextureStorageInterfaceCube):
(rx::TextureStorageInterfaceCube::getRenderTarget):
(rx::TextureStorageInterfaceCube::generateMipmap):
(rx::TextureStorageInterfaceCube::getRenderTargetSerial):
* src/libGLESv2/renderer/TextureStorage.h: Added.
(rx::TextureStorage::TextureStorage):
(rx::TextureStorage::~TextureStorage):
(rx::TextureStorageInterface::getStorageInstance):
* src/libGLESv2/renderer/TextureStorage11.cpp: Added.
(rx::TextureStorage11::TextureStorage11):
(rx::TextureStorage11::~TextureStorage11):
(rx::TextureStorage11::makeTextureStorage11):
(rx::TextureStorage11::GetTextureBindFlags):
(rx::TextureStorage11::IsTextureFormatRenderable):
(rx::TextureStorage11::getBindFlags):
(rx::TextureStorage11::getBaseTexture):
(rx::TextureStorage11::getLodOffset):
(rx::TextureStorage11::isRenderTarget):
(rx::TextureStorage11::isManaged):
(rx::TextureStorage11::levelCount):
(rx::TextureStorage11::getSubresourceIndex):
(rx::TextureStorage11::updateSubresourceLevel):
(rx::TextureStorage11::generateMipmapLayer):
(rx::TextureStorage11_2D::TextureStorage11_2D):
(rx::TextureStorage11_2D::~TextureStorage11_2D):
(rx::TextureStorage11_2D::makeTextureStorage11_2D):
(rx::TextureStorage11_2D::getRenderTarget):
(rx::TextureStorage11_2D::getSRV):
(rx::TextureStorage11_2D::generateMipmap):
(rx::TextureStorage11_Cube::TextureStorage11_Cube):
(rx::TextureStorage11_Cube::~TextureStorage11_Cube):
(rx::TextureStorage11_Cube::makeTextureStorage11_Cube):
(rx::TextureStorage11_Cube::getRenderTarget):
(rx::TextureStorage11_Cube::getSRV):
(rx::TextureStorage11_Cube::generateMipmap):
* src/libGLESv2/renderer/TextureStorage11.h: Added.
(rx::TextureStorage11::getRenderTarget):
(rx::TextureStorage11::generateMipmap):
* src/libGLESv2/renderer/TextureStorage9.cpp: Added.
(rx::TextureStorage9::TextureStorage9):
(rx::TextureStorage9::~TextureStorage9):
(rx::TextureStorage9::makeTextureStorage9):
(rx::TextureStorage9::GetTextureUsage):
(rx::TextureStorage9::IsTextureFormatRenderable):
(rx::TextureStorage9::isRenderTarget):
(rx::TextureStorage9::isManaged):
(rx::TextureStorage9::getPool):
(rx::TextureStorage9::getUsage):
(rx::TextureStorage9::getLodOffset):
(rx::TextureStorage9::levelCount):
(rx::TextureStorage9_2D::TextureStorage9_2D):
(rx::TextureStorage9_2D::~TextureStorage9_2D):
(rx::TextureStorage9_2D::makeTextureStorage9_2D):
(rx::TextureStorage9_2D::getSurfaceLevel):
(rx::TextureStorage9_2D::getRenderTarget):
(rx::TextureStorage9_2D::generateMipmap):
(rx::TextureStorage9_2D::getBaseTexture):
(rx::TextureStorage9_2D::initializeRenderTarget):
(rx::TextureStorage9_Cube::TextureStorage9_Cube):
(rx::TextureStorage9_Cube::~TextureStorage9_Cube):
(rx::TextureStorage9_Cube::makeTextureStorage9_Cube):
(rx::TextureStorage9_Cube::getCubeMapSurface):
(rx::TextureStorage9_Cube::getRenderTarget):
(rx::TextureStorage9_Cube::generateMipmap):
(rx::TextureStorage9_Cube::getBaseTexture):
(rx::TextureStorage9_Cube::initializeRenderTarget):
* src/libGLESv2/renderer/TextureStorage9.h: Added.
(rx::TextureStorage9::getRenderTarget):
(rx::TextureStorage9::generateMipmap):
* src/libGLESv2/renderer/VertexBuffer.cpp: Added.
(rx::VertexBuffer::VertexBuffer):
(rx::VertexBuffer::~VertexBuffer):
(rx::VertexBuffer::updateSerial):
(rx::VertexBuffer::getSerial):
(rx::VertexBufferInterface::VertexBufferInterface):
(rx::VertexBufferInterface::~VertexBufferInterface):
(rx::VertexBufferInterface::getSerial):
(rx::VertexBufferInterface::getBufferSize):
(rx::VertexBufferInterface::setBufferSize):
(rx::VertexBufferInterface::getWritePosition):
(rx::VertexBufferInterface::setWritePosition):
(rx::VertexBufferInterface::discard):
(rx::VertexBufferInterface::storeVertexAttributes):
(rx::VertexBufferInterface::storeRawData):
(rx::VertexBufferInterface::reserveVertexSpace):
(rx::VertexBufferInterface::reserveRawDataSpace):
(rx::VertexBufferInterface::getVertexBuffer):
(rx::StreamingVertexBufferInterface::StreamingVertexBufferInterface):
(rx::StreamingVertexBufferInterface::~StreamingVertexBufferInterface):
(rx::StreamingVertexBufferInterface::reserveSpace):
(rx::StaticVertexBufferInterface::StaticVertexBufferInterface):
(rx::StaticVertexBufferInterface::~StaticVertexBufferInterface):
(rx::StaticVertexBufferInterface::lookupAttribute):
(rx::StaticVertexBufferInterface::reserveSpace):
(rx::StaticVertexBufferInterface::storeVertexAttributes):
* src/libGLESv2/renderer/VertexBuffer.h: Added.
* src/libGLESv2/renderer/VertexBuffer11.cpp: Added.
(rx::VertexBuffer11::VertexBuffer11):
(rx::VertexBuffer11::~VertexBuffer11):
(rx::VertexBuffer11::initialize):
(rx::VertexBuffer11::makeVertexBuffer11):
(rx::VertexBuffer11::storeVertexAttributes):
(rx::VertexBuffer11::storeRawData):
(rx::VertexBuffer11::getSpaceRequired):
(rx::VertexBuffer11::requiresConversion):
(rx::VertexBuffer11::getBufferSize):
(rx::VertexBuffer11::setBufferSize):
(rx::VertexBuffer11::discard):
(rx::VertexBuffer11::getVertexSize):
(rx::VertexBuffer11::getDXGIFormat):
(rx::VertexBuffer11::getBuffer):
(rx::copyVertexData):
(rx::copyFixedVertexData):
(rx::copyToFloatVertexData):
(rx::VertexBuffer11::getVertexConversion):
* src/libGLESv2/renderer/VertexBuffer11.h: Added.
* src/libGLESv2/renderer/VertexBuffer9.cpp: Added.
(rx::VertexBuffer9::VertexBuffer9):
(rx::VertexBuffer9::~VertexBuffer9):
(rx::VertexBuffer9::initialize):
(rx::VertexBuffer9::makeVertexBuffer9):
(rx::VertexBuffer9::storeVertexAttributes):
(rx::VertexBuffer9::storeRawData):
(rx::VertexBuffer9::getSpaceRequired):
(rx::VertexBuffer9::requiresConversion):
(rx::VertexBuffer9::getVertexSize):
(rx::VertexBuffer9::getDeclType):
(rx::VertexBuffer9::getBufferSize):
(rx::VertexBuffer9::setBufferSize):
(rx::VertexBuffer9::discard):
(rx::VertexBuffer9::getBuffer):
(rx::VertexBuffer9::initializeTranslations):
(rx::VertexBuffer9::typeIndex):
(rx::VertexBuffer9::formatConverter):
(rx::VertexBuffer9::spaceRequired):
* src/libGLESv2/renderer/VertexBuffer9.h: Added.
* src/libGLESv2/renderer/VertexDataManager.cpp: Added.
(rx::elementsInBuffer):
(rx::VertexDataManager::VertexDataManager):
(rx::VertexDataManager::~VertexDataManager):
(rx::directStoragePossible):
(rx::VertexDataManager::prepareVertexData):
* src/libGLESv2/renderer/VertexDataManager.h: Added.
* src/libGLESv2/renderer/VertexDeclarationCache.cpp: Added.
(rx::VertexDeclarationCache::VertexDeclarationCache):
(rx::VertexDeclarationCache::~VertexDeclarationCache):
(rx::VertexDeclarationCache::applyDeclaration):
(rx::VertexDeclarationCache::markStateDirty):
* src/libGLESv2/renderer/VertexDeclarationCache.h: Added.
* src/libGLESv2/renderer/generatemip.h: Added.
(rx::L8::average):
(rx::A8L8::average):
(rx::A8R8G8B8::average):
(rx::A16B16G16R16F::average):
(rx::R16F::average):
(rx::R16G16F::average):
(rx::A32B32G32R32F::average):
(rx::R32F::average):
(rx::R32G32F::average):
(rx::R32G32B32F::average):
(rx::GenerateMip):
* src/libGLESv2/renderer/renderer11_utils.cpp: Added.
(gl_d3d11::ConvertBlendFunc):
(gl_d3d11::ConvertBlendOp):
(gl_d3d11::ConvertColorMask):
(gl_d3d11::ConvertCullMode):
(gl_d3d11::ConvertComparison):
(gl_d3d11::ConvertDepthMask):
(gl_d3d11::ConvertStencilMask):
(gl_d3d11::ConvertStencilOp):
(gl_d3d11::ConvertFilter):
(gl_d3d11::ConvertTextureWrap):
(gl_d3d11::ConvertMinLOD):
(gl_d3d11::ConvertMaxLOD):
(d3d11_gl::ConvertBackBufferFormat):
(d3d11_gl::ConvertDepthStencilFormat):
(d3d11_gl::ConvertRenderbufferFormat):
(d3d11_gl::ConvertTextureInternalFormat):
(gl_d3d11::ConvertRenderbufferFormat):
(gl_d3d11::ConvertTextureFormat):
(d3d11::SetPositionTexCoordVertex):
(d3d11::SetPositionDepthColorVertex):
(d3d11::ComputePixelSizeBits):
(d3d11::ComputeBlockSizeBits):
(d3d11::IsCompressed):
(d3d11::GetTextureFormatDimensionAlignment):
(d3d11::IsDepthStencilFormat):
(d3d11::GetDepthTextureFormat):
(d3d11::GetDepthShaderResourceFormat):
(d3d11::SetDebugName):
* src/libGLESv2/renderer/renderer11_utils.h: Added.
(d3d11::isDeviceLostError):
* src/libGLESv2/renderer/renderer9_utils.cpp: Added.
(gl_d3d9::ConvertComparison):
(gl_d3d9::ConvertColor):
(gl_d3d9::ConvertBlendFunc):
(gl_d3d9::ConvertBlendOp):
(gl_d3d9::ConvertStencilOp):
(gl_d3d9::ConvertTextureWrap):
(gl_d3d9::ConvertCullMode):
(gl_d3d9::ConvertCubeFace):
(gl_d3d9::ConvertColorMask):
(gl_d3d9::ConvertMagFilter):
(gl_d3d9::ConvertMinFilter):
(gl_d3d9::ConvertRenderbufferFormat):
(gl_d3d9::GetMultisampleTypeFromSamples):
(d3d9_gl::GetStencilSize):
(d3d9_gl::GetAlphaSize):
(d3d9_gl::GetSamplesFromMultisampleType):
(d3d9_gl::IsFormatChannelEquivalent):
(d3d9_gl::ConvertBackBufferFormat):
(d3d9_gl::ConvertDepthStencilFormat):
(d3d9_gl::ConvertRenderTargetFormat):
(d3d9_gl::GetEquivalentFormat):
(d3d9::IsCompressedFormat):
(d3d9::ComputeRowSize):
* src/libGLESv2/renderer/renderer9_utils.h: Added.
(d3d9::isDeviceLostError):
* src/libGLESv2/renderer/shaders: Added.
* src/libGLESv2/renderer/shaders/Blit.ps: Added.
* src/libGLESv2/renderer/shaders/Blit.vs: Added.
* src/libGLESv2/renderer/shaders/Clear11.hlsl: Added.
* src/libGLESv2/renderer/shaders/Passthrough11.hlsl: Added.
* src/libGLESv2/renderer/shaders/compiled: Added.
* src/libGLESv2/renderer/shaders/compiled/clear11vs.h: Added.
* src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/componentmaskps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/flipyvs.h: Added.
* src/libGLESv2/renderer/shaders/compiled/luminanceps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthroughps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h: Added.
* src/libGLESv2/renderer/shaders/compiled/standardvs.h: Added.
* src/libGLESv2/renderer/shaders/generate_shaders.bat: Added.
* src/libGLESv2/renderer/vertexconversion.h: Added.
(rx::Identity::convert):
(rx::Cast::convert):
(rx::Normalize::convert):
(rx::FixedToFloat::convert):
(rx::SimpleDefaultValues::zero):
(rx::SimpleDefaultValues::one):
(rx::NormalizedDefaultValues::zero):
(rx::NormalizedDefaultValues::one):
(rx::VertexDataConverter::convertArray):
(rx::VertexDataConverter::pointerAddBytes):
(rx::VertexDataConverter::copyComponent):
* src/libGLESv2/resource.h: Added.
* src/libGLESv2/utilities.cpp: Added.
(gl::UniformComponentCount):
(gl::UniformComponentType):
(gl::UniformComponentSize):
(gl::UniformInternalSize):
(gl::UniformExternalSize):
(gl::VariableRowCount):
(gl::VariableColumnCount):
(gl::AllocateFirstFreeBits):
(gl::ComputePitch):
(gl::ComputeCompressedPitch):
(gl::ComputeCompressedSize):
(gl::IsCompressed):
(gl::IsDepthTexture):
(gl::IsStencilTexture):
(gl::MakeValidSize):
(gl::ComputePixelSize):
(gl::IsCubemapTextureTarget):
(gl::IsInternalTextureTarget):
(gl::ConvertSizedInternalFormat):
(gl::ExtractFormat):
(gl::ExtractType):
(gl::IsColorRenderable):
(gl::IsDepthRenderable):
(gl::IsStencilRenderable):
(gl::IsFloat32Format):
(gl::IsFloat16Format):
(gl::GetAlphaSize):
(gl::GetRedSize):
(gl::GetGreenSize):
(gl::GetBlueSize):
(gl::GetDepthSize):
(gl::GetStencilSize):
(gl::IsTriangleMode):
(getTempPath):
(writeFile):
* src/libGLESv2/utilities.h: Added.
* src/third_party/murmurhash: Added.
* src/third_party/murmurhash/LICENSE: Added.
* src/third_party/murmurhash/MurmurHash3.cpp: Added, replaced tabs with spaces.
(rotl32):
(rotl64):
(getblock):
(fmix):
(MurmurHash3_x86_32):
(MurmurHash3_x86_128):
(MurmurHash3_x64_128):
* src/third_party/murmurhash/MurmurHash3.h: Added, replaced tabs with spaces.
2013-07-20 Dean Jackson <dino@apple.com>
Updated ANGLE is leaking like a sieve
https://bugs.webkit.org/show_bug.cgi?id=118939
Rollout 152863, r152821, r152929 and r152755.
* ANGLE.plist:
* ANGLE.xcodeproj/project.pbxproj:
* DerivedSources.make: Removed.
* GNUmakefile.am:
* Target.pri:
* include/GLSLANG/ShaderLang.h:
* src/compiler/BaseTypes.h:
(getQualifierString):
* src/compiler/Common.h:
(EncodeSourceLoc):
(DecodeSourceLoc):
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::detectRecursion):
* src/compiler/ConstantUnion.h:
(ConstantUnion::ConstantUnion):
* src/compiler/DetectCallDepth.cpp: Removed.
* src/compiler/DetectRecursion.cpp: Added.
(DetectRecursion::FunctionNode::FunctionNode):
(DetectRecursion::FunctionNode::getName):
(DetectRecursion::FunctionNode::addCallee):
(DetectRecursion::FunctionNode::detectRecursion):
(DetectRecursion::DetectRecursion):
(DetectRecursion::~DetectRecursion):
(DetectRecursion::visitAggregate):
(DetectRecursion::detectRecursion):
(DetectRecursion::findFunctionByName):
* src/compiler/DetectRecursion.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/DetectCallDepth.h.
* src/compiler/Diagnostics.cpp:
(TDiagnostics::writeInfo):
* src/compiler/ForLoopUnroll.cpp:
(ForLoopUnroll::evaluateIntConstant):
* src/compiler/InfoSink.cpp:
(TInfoSinkBase::prefix):
(TInfoSinkBase::location):
(TInfoSinkBase::message):
* src/compiler/InfoSink.h:
* src/compiler/Initialize.cpp:
(BuiltInFunctionsCommon):
(BuiltInFunctionsVertex):
(TBuiltIns::initialize):
(IdentifyBuiltIns):
(InitExtensionBehavior):
* src/compiler/Intermediate.cpp:
(TIntermediate::addSymbol):
(TIntermediate::addBinaryMath):
(TIntermediate::addAssign):
(TIntermediate::addIndex):
(TIntermediate::addUnaryMath):
(TIntermediate::setAggregateOperator):
(TIntermediate::addConversion):
(TIntermediate::growAggregate):
(TIntermediate::makeAggregate):
(TIntermediate::addSelection):
(TIntermediate::addComma):
(TIntermediate::addConstantUnion):
(TIntermediate::addSwizzle):
(TIntermediate::addLoop):
(TIntermediate::addBranch):
(TIntermUnary::promote):
(TIntermBinary::promote):
(CompareStruct):
(CompareStructure):
(TIntermConstantUnion::fold):
(TIntermediate::promoteConstantUnion):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::writeVariablePrecision):
* src/compiler/OutputGLSL.h:
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::getTypeName):
(TOutputGLSLBase::hashFunctionName):
* src/compiler/OutputGLSLBase.h:
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::initializer):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::writeConstantUnion):
(sh::OutputHLSL::decorateField):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::arraySetMaxSize):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::handleExtensionDirective):
(TParseContext::handlePragmaDirective):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::addConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::structNestingErrorCheck):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
(TParseContext::pragma):
* src/compiler/PoolAlloc.cpp:
(TPoolAllocator::allocate):
* src/compiler/ShHandle.h:
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
* src/compiler/SymbolTable.cpp:
(TType::TType):
(TType::buildMangledName):
(TType::getStructSize):
(TType::computeDeepestStructNesting):
(TType::isStructureContainingArrays):
(TSymbolTableLevel::relateToExtension):
(TSymbol::TSymbol):
(TVariable::TVariable):
(TVariable::clone):
(TFunction::TFunction):
(TFunction::clone):
(TSymbolTableLevel::clone):
(TSymbolTable::copyTable):
* src/compiler/SymbolTable.h:
(TVariable::TVariable):
(TVariable::updateArrayInformationType):
(TVariable::getArrayInformationType):
(TParameter::copyParam):
(TFunction::relateToExtension):
(TFunction::getExtension):
* src/compiler/Types.h:
(NewPoolTTypeList):
(TType::TType):
(TType::copyType):
(TType::clone):
(TType::getObjectSize):
(TType::getMaxArraySize):
(TType::setMaxArraySize):
(TType::clearArrayness):
(TType::setArrayInformationType):
(TType::getArrayInformationType):
(TType::getStruct):
(TType::setStruct):
(TType::getTypeName):
(TType::setTypeName):
(TType::isField):
(TType::getFieldName):
(TType::setFieldName):
(TType::getMangledName):
(TType::getDeepestStructNesting):
(TPublicType::setBasic):
* src/compiler/VariableInfo.cpp:
(getUserDefinedVariableInfo):
* src/compiler/builtin_symbol_table.cpp: Removed.
* src/compiler/builtin_symbol_table.h: Removed.
* src/compiler/builtin_symbols.json: Removed.
* src/compiler/generate_builtin_symbol_table.py: Removed.
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(yy_get_previous_state):
(yy_try_NUL_trans):
(yy_push_state):
(yy_pop_state):
(yy_top_state):
(string_input):
(check_type):
(reserved_word):
(yyerror):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
* src/compiler/glslang_tab.h:
* src/compiler/intermOut.cpp:
(TOutputTraverser::visitUnary):
(TOutputTraverser::visitAggregate):
(TOutputTraverser::visitConstantUnion):
* src/compiler/intermediate.h:
(TIntermNode::TIntermNode):
(TIntermNode::getLine):
(TIntermNode::setLine):
(TIntermNode::~TIntermNode):
(TIntermConstantUnion::setUnionArrayPointer):
(TIntermAggregate::TIntermAggregate):
(TIntermAggregate::setEndLine):
(TIntermAggregate::getEndLine):
(TIntermTraverser::TIntermTraverser):
(TIntermTraverser::incrementDepth):
* src/compiler/localintermediate.h:
* src/compiler/parseConst.cpp:
(TConstTraverser::visitSymbol):
(TConstTraverser::visitBinary):
(TConstTraverser::visitUnary):
(TConstTraverser::visitAggregate):
(TConstTraverser::visitSelection):
(TConstTraverser::visitConstantUnion):
(TConstTraverser::visitLoop):
(TConstTraverser::visitBranch):
(TIntermediate::parseConstTree):
* src/compiler/timing/RestrictVertexShaderTiming.cpp:
(RestrictVertexShaderTiming::visitSymbol):
* src/libEGL/Config.cpp: Removed.
* src/libEGL/Config.h: Removed.
* src/libEGL/Display.cpp: Removed.
* src/libEGL/Display.h: Removed.
* src/libEGL/README: Added.
* src/libEGL/ShaderCache.h: Removed.
* src/libEGL/Surface.cpp: Removed.
* src/libEGL/Surface.h: Removed.
* src/libEGL/libEGL.cpp: Removed.
* src/libEGL/libEGL.def: Removed.
* src/libEGL/libEGL.rc: Removed.
* src/libEGL/libEGL.vcxproj: Removed.
* src/libEGL/libEGL.vcxproj.filters: Removed.
* src/libEGL/main.cpp: Removed.
* src/libEGL/main.h: Removed.
* src/libEGL/resource.h: Removed.
* src/libGLESv2/BinaryStream.h: Removed.
* src/libGLESv2/Blit.cpp: Removed.
* src/libGLESv2/Blit.h: Removed.
* src/libGLESv2/Buffer.cpp: Removed.
* src/libGLESv2/Buffer.h: Removed.
* src/libGLESv2/Context.cpp: Removed.
* src/libGLESv2/Context.h: Removed.
* src/libGLESv2/D3DConstantTable.cpp: Removed.
* src/libGLESv2/D3DConstantTable.h: Removed.
* src/libGLESv2/Fence.cpp: Removed.
* src/libGLESv2/Fence.h: Removed.
* src/libGLESv2/Float16ToFloat32.cpp: Removed.
* src/libGLESv2/Float16ToFloat32.py: Removed.
* src/libGLESv2/Framebuffer.cpp: Removed.
* src/libGLESv2/Framebuffer.h: Removed.
* src/libGLESv2/HandleAllocator.cpp: Removed.
* src/libGLESv2/HandleAllocator.h: Removed.
* src/libGLESv2/IndexDataManager.cpp: Removed.
* src/libGLESv2/IndexDataManager.h: Removed.
* src/libGLESv2/Program.cpp: Removed.
* src/libGLESv2/Program.h: Removed.
* src/libGLESv2/ProgramBinary.cpp: Removed.
* src/libGLESv2/ProgramBinary.h: Removed.
* src/libGLESv2/Query.cpp: Removed.
* src/libGLESv2/Query.h: Removed.
* src/libGLESv2/README: Added.
* src/libGLESv2/Renderbuffer.cpp: Removed.
* src/libGLESv2/Renderbuffer.h: Removed.
* src/libGLESv2/ResourceManager.cpp: Removed.
* src/libGLESv2/ResourceManager.h: Removed.
* src/libGLESv2/Shader.cpp: Removed.
* src/libGLESv2/Shader.h: Removed.
* src/libGLESv2/Texture.cpp: Removed.
* src/libGLESv2/Texture.h: Removed.
* src/libGLESv2/TextureSSE2.cpp: Removed.
* src/libGLESv2/VertexDataManager.cpp: Removed.
* src/libGLESv2/VertexDataManager.h: Removed.
* src/libGLESv2/libGLESv2.cpp: Removed.
* src/libGLESv2/libGLESv2.def: Removed.
* src/libGLESv2/libGLESv2.rc: Removed.
* src/libGLESv2/libGLESv2.vcxproj: Removed.
* src/libGLESv2/libGLESv2.vcxproj.filters: Removed.
* src/libGLESv2/main.cpp: Removed.
* src/libGLESv2/main.h: Removed.
* src/libGLESv2/mathutil.h: Removed.
* src/libGLESv2/resource.h: Removed.
* src/libGLESv2/shaders/Blit.ps: Removed.
* src/libGLESv2/shaders/Blit.vs: Removed.
* src/libGLESv2/shaders/componentmaskps.h: Removed.
* src/libGLESv2/shaders/flipyvs.h: Removed.
* src/libGLESv2/shaders/generate_shaders.bat: Removed.
* src/libGLESv2/shaders/luminanceps.h: Removed.
* src/libGLESv2/shaders/passthroughps.h: Removed.
* src/libGLESv2/shaders/standardvs.h: Removed.
* src/libGLESv2/utilities.cpp: Removed.
* src/libGLESv2/utilities.h: Removed.
* src/libGLESv2/vertexconversion.h: Removed.
2013-07-19 Alex Christensen <achristensen@apple.com>
Generate derived files in ANGLE at build time rather than when updating from upstream.
https://bugs.webkit.org/show_bug.cgi?id=118872
Reviewed by Mark Rowe.
* ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
moved generated files into Derived Sources group.
* DerivedSources.make: Added.
2013-07-18 Alex Christensen <achristensen@apple.com>
Added previously unincluded files from ANGLE r2426 with these exceptions:
No gyp files are included. No WebKit ports use them.
ANGLE.sln is not included. I will not use that.
translator_common and translator_hlsl projects and filters are not included.
I will need to make a customized translator project that uses the GLSL translator instead of the HLSL.
https://bugs.webkit.org/show_bug.cgi?id=118833
Reviewed by Dean Jackson.
* src/compiler/builtin_symbols.json: Added.
* src/compiler/generate_builtin_symbol_table.py: Added.
(parseBuiltin):
* src/libEGL: Replaced.
* src/libEGL/Config.cpp: Added.
(egl::Config::Config):
(egl::Config::setDefaults):
(egl::Config::set):
(egl::Config::getHandle):
(egl::SortConfig::SortConfig):
(egl::SortConfig::scanForWantedComponents):
(egl::SortConfig::wantedComponentsSize):
(egl::SortConfig::operator()):
(egl::ConfigSet::ConfigSet):
(egl::ConfigSet::add):
(egl::ConfigSet::size):
(egl::ConfigSet::getConfigs):
(egl::ConfigSet::get):
* src/libEGL/Config.h: Added.
* src/libEGL/Display.cpp: Added.
(egl::Display::getDisplay):
(egl::Display::Display):
(egl::Display::~Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::startScene):
(egl::Display::endScene):
(egl::Display::getConfigs):
(egl::Display::getConfigAttrib):
(egl::Display::createDevice):
(egl::Display::initializeDevice):
(egl::Display::resetDevice):
(egl::Display::createWindowSurface):
(egl::Display::createOffscreenSurface):
(egl::Display::createContext):
(egl::Display::restoreLostDevice):
(egl::Display::destroySurface):
(egl::Display::destroyContext):
(egl::Display::notifyDeviceLost):
(egl::Display::isDeviceLost):
(egl::Display::isInitialized):
(egl::Display::isValidConfig):
(egl::Display::isValidContext):
(egl::Display::isValidSurface):
(egl::Display::hasExistingWindowSurface):
(egl::Display::getMinSwapInterval):
(egl::Display::getMaxSwapInterval):
(egl::Display::getDevice):
(egl::Display::getDeviceCaps):
(egl::Display::getAdapterIdentifier):
(egl::Display::testDeviceLost):
(egl::Display::testDeviceResettable):
(egl::Display::sync):
(egl::Display::allocateEventQuery):
(egl::Display::freeEventQuery):
(egl::Display::getMultiSampleSupport):
(egl::Display::getDXT1TextureSupport):
(egl::Display::getDXT3TextureSupport):
(egl::Display::getDXT5TextureSupport):
(egl::Display::getDepthTextureSupport):
(egl::Display::getFloat32TextureSupport):
(egl::Display::getFloat16TextureSupport):
(egl::Display::getLuminanceTextureSupport):
(egl::Display::getLuminanceAlphaTextureSupport):
(egl::Display::getTextureFilterAnisotropySupport):
(egl::Display::getBufferPool):
(egl::Display::getTexturePool):
(egl::Display::getEventQuerySupport):
(egl::Display::getDefaultPresentParameters):
(egl::Display::initExtensionString):
(egl::Display::getExtensionString):
(egl::Display::initVendorString):
(egl::Display::getVendorString):
(egl::Display::shareHandleSupported):
(egl::Display::createVertexShader):
(egl::Display::compileShaderSource):
(egl::Display::createPixelShader):
(egl::Display::getVertexTextureSupport):
(egl::Display::getNonPower2TextureSupport):
(egl::Display::getOcclusionQuerySupport):
(egl::Display::getInstancingSupport):
* src/libEGL/Display.h: Added.
(getComparableOSVersion):
(egl::Display::isD3d9ExDevice):
* src/libEGL/README: Removed.
* src/libEGL/ShaderCache.h: Added.
(egl::ShaderCache::ShaderCache):
(egl::ShaderCache::~ShaderCache):
(egl::ShaderCache::initialize):
(egl::ShaderCache::create):
(egl::ShaderCache::clear):
(egl::ShaderCache::createShader):
* src/libEGL/Surface.cpp: Added.
(egl::Surface::Surface):
(egl::Surface::~Surface):
(egl::Surface::initialize):
(egl::Surface::release):
(egl::Surface::resetSwapChain):
(egl::Surface::swapRect):
(egl::Surface::getWindowHandle):
(egl::SurfaceWindowProc):
(egl::Surface::subclassWindow):
(egl::Surface::unsubclassWindow):
(egl::Surface::checkForOutOfDateSwapChain):
(egl::Surface::convertInterval):
(egl::Surface::swap):
(egl::Surface::postSubBuffer):
(egl::Surface::getWidth):
(egl::Surface::getHeight):
(egl::Surface::isPostSubBufferSupported):
(egl::Surface::getRenderTarget):
(egl::Surface::getDepthStencil):
(egl::Surface::getOffscreenTexture):
(egl::Surface::setSwapInterval):
(egl::Surface::getTextureFormat):
(egl::Surface::getTextureTarget):
(egl::Surface::setBoundTexture):
(egl::Surface::getBoundTexture):
(egl::Surface::getFormat):
* src/libEGL/Surface.h: Added.
(egl::Surface::getShareHandle):
* src/libEGL/libEGL.cpp: Added.
(validateDisplay):
(validateConfig):
(validateContext):
(validateSurface):
* src/libEGL/libEGL.def: Added.
* src/libEGL/libEGL.rc: Added.
* src/libEGL/libEGL.vcxproj: Added.
* src/libEGL/libEGL.vcxproj.filters: Added.
* src/libEGL/main.cpp: Added.
(DllMain):
(egl::setCurrentError):
(egl::getCurrentError):
(egl::setCurrentAPI):
(egl::getCurrentAPI):
(egl::setCurrentDisplay):
(egl::getCurrentDisplay):
(egl::setCurrentDrawSurface):
(egl::getCurrentDrawSurface):
(egl::setCurrentReadSurface):
(egl::getCurrentReadSurface):
(error):
* src/libEGL/main.h: Added.
(error):
(success):
* src/libEGL/resource.h: Added.
* src/libGLESv2: Replaced.
* src/libGLESv2/BinaryStream.h: Added.
(gl::BinaryInputStream::BinaryInputStream):
(gl::BinaryInputStream::read):
(gl::BinaryInputStream::skip):
(gl::BinaryInputStream::offset):
(gl::BinaryInputStream::error):
(gl::BinaryInputStream::endOfStream):
(gl::BinaryOutputStream::BinaryOutputStream):
(gl::BinaryOutputStream::write):
(gl::BinaryOutputStream::length):
(gl::BinaryOutputStream::data):
* src/libGLESv2/Blit.cpp: Added.
(gl::Blit::Blit):
(gl::Blit::~Blit):
(gl::Blit::initGeometry):
(gl::Blit::setShader):
(gl::Blit::setVertexShader):
(gl::Blit::setPixelShader):
(gl::Blit::getSurfaceRect):
(gl::Blit::boxFilter):
(gl::Blit::copy):
(gl::Blit::formatConvert):
(gl::Blit::setFormatConvertShaders):
(gl::Blit::copySurfaceToTexture):
(gl::Blit::setViewport):
(gl::Blit::setCommonBlitState):
(gl::Blit::render):
(gl::Blit::saveState):
(gl::Blit::restoreState):
* src/libGLESv2/Blit.h: Added.
* src/libGLESv2/Buffer.cpp: Added.
(gl::Buffer::Buffer):
(gl::Buffer::~Buffer):
(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::getStaticVertexBuffer):
(gl::Buffer::getStaticIndexBuffer):
(gl::Buffer::invalidateStaticData):
(gl::Buffer::promoteStaticUsage):
* src/libGLESv2/Buffer.h: Added.
(gl::Buffer::data):
(gl::Buffer::size):
(gl::Buffer::usage):
* src/libGLESv2/Context.cpp: Added.
(gl::makeStaticString):
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::markAllStateDirty):
(gl::Context::markDxUniformsDirty):
(gl::Context::markContextLost):
(gl::Context::isContextLost):
(gl::Context::setClearColor):
(gl::Context::setClearDepth):
(gl::Context::setClearStencil):
(gl::Context::setCullFace):
(gl::Context::isCullFaceEnabled):
(gl::Context::setCullMode):
(gl::Context::setFrontFace):
(gl::Context::setDepthTest):
(gl::Context::isDepthTestEnabled):
(gl::Context::setDepthFunc):
(gl::Context::setDepthRange):
(gl::Context::setBlend):
(gl::Context::isBlendEnabled):
(gl::Context::setBlendFactors):
(gl::Context::setBlendColor):
(gl::Context::setBlendEquation):
(gl::Context::setStencilTest):
(gl::Context::isStencilTestEnabled):
(gl::Context::setStencilParams):
(gl::Context::setStencilBackParams):
(gl::Context::setStencilWritemask):
(gl::Context::setStencilBackWritemask):
(gl::Context::setStencilOperations):
(gl::Context::setStencilBackOperations):
(gl::Context::setPolygonOffsetFill):
(gl::Context::isPolygonOffsetFillEnabled):
(gl::Context::setPolygonOffsetParams):
(gl::Context::setSampleAlphaToCoverage):
(gl::Context::isSampleAlphaToCoverageEnabled):
(gl::Context::setSampleCoverage):
(gl::Context::isSampleCoverageEnabled):
(gl::Context::setSampleCoverageParams):
(gl::Context::setScissorTest):
(gl::Context::isScissorTestEnabled):
(gl::Context::setDither):
(gl::Context::isDitherEnabled):
(gl::Context::setLineWidth):
(gl::Context::setGenerateMipmapHint):
(gl::Context::setFragmentShaderDerivativeHint):
(gl::Context::setViewportParams):
(gl::Context::setScissorParams):
(gl::Context::setColorMask):
(gl::Context::setDepthMask):
(gl::Context::setActiveSampler):
(gl::Context::getReadFramebufferHandle):
(gl::Context::getDrawFramebufferHandle):
(gl::Context::getRenderbufferHandle):
(gl::Context::getArrayBufferHandle):
(gl::Context::getActiveQuery):
(gl::Context::setEnableVertexAttribArray):
(gl::Context::getVertexAttribState):
(gl::Context::setVertexAttribState):
(gl::Context::getVertexAttribPointer):
(gl::Context::getVertexAttributes):
(gl::Context::setPackAlignment):
(gl::Context::getPackAlignment):
(gl::Context::setUnpackAlignment):
(gl::Context::getUnpackAlignment):
(gl::Context::setPackReverseRowOrder):
(gl::Context::getPackReverseRowOrder):
(gl::Context::createBuffer):
(gl::Context::createProgram):
(gl::Context::createShader):
(gl::Context::createTexture):
(gl::Context::createRenderbuffer):
(gl::Context::createFramebuffer):
(gl::Context::createFence):
(gl::Context::createQuery):
(gl::Context::deleteBuffer):
(gl::Context::deleteShader):
(gl::Context::deleteProgram):
(gl::Context::deleteTexture):
(gl::Context::deleteRenderbuffer):
(gl::Context::deleteFramebuffer):
(gl::Context::deleteFence):
(gl::Context::deleteQuery):
(gl::Context::getBuffer):
(gl::Context::getShader):
(gl::Context::getProgram):
(gl::Context::getTexture):
(gl::Context::getRenderbuffer):
(gl::Context::getReadFramebuffer):
(gl::Context::getDrawFramebuffer):
(gl::Context::bindArrayBuffer):
(gl::Context::bindElementArrayBuffer):
(gl::Context::bindTexture2D):
(gl::Context::bindTextureCubeMap):
(gl::Context::bindReadFramebuffer):
(gl::Context::bindDrawFramebuffer):
(gl::Context::bindRenderbuffer):
(gl::Context::useProgram):
(gl::Context::linkProgram):
(gl::Context::setProgramBinary):
(gl::Context::beginQuery):
(gl::Context::endQuery):
(gl::Context::setFramebufferZero):
(gl::Context::setRenderbufferStorage):
(gl::Context::getFramebuffer):
(gl::Context::getFence):
(gl::Context::getQuery):
(gl::Context::getArrayBuffer):
(gl::Context::getElementArrayBuffer):
(gl::Context::getCurrentProgramBinary):
(gl::Context::getTexture2D):
(gl::Context::getTextureCubeMap):
(gl::Context::getSamplerTexture):
(gl::Context::getBooleanv):
(gl::Context::getFloatv):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyVertexBuffer):
(gl::Context::applyIndexBuffer):
(gl::Context::applyShaders):
(gl::Context::applyTextures):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::sync):
(gl::Context::drawLineLoop):
(gl::Context::recordInvalidEnum):
(gl::Context::recordInvalidValue):
(gl::Context::recordInvalidOperation):
(gl::Context::recordOutOfMemory):
(gl::Context::recordInvalidFramebufferOperation):
(gl::Context::getError):
(gl::Context::getResetStatus):
(gl::Context::isResetNotificationEnabled):
(gl::Context::supportsShaderModel3):
(gl::Context::getMaximumPointSize):
(gl::Context::getMaximumVaryingVectors):
(gl::Context::getMaximumVertexTextureImageUnits):
(gl::Context::getMaximumCombinedTextureImageUnits):
(gl::Context::getMaximumFragmentUniformVectors):
(gl::Context::getMaxSupportedSamples):
(gl::Context::getNearestSupportedSamples):
(gl::Context::supportsEventQueries):
(gl::Context::supportsOcclusionQueries):
(gl::Context::supportsDXT1Textures):
(gl::Context::supportsDXT3Textures):
(gl::Context::supportsDXT5Textures):
(gl::Context::supportsFloat32Textures):
(gl::Context::supportsFloat32LinearFilter):
(gl::Context::supportsFloat32RenderableTextures):
(gl::Context::supportsFloat16Textures):
(gl::Context::supportsFloat16LinearFilter):
(gl::Context::supportsFloat16RenderableTextures):
(gl::Context::getMaximumRenderbufferDimension):
(gl::Context::getMaximumTextureDimension):
(gl::Context::getMaximumCubeTextureDimension):
(gl::Context::getMaximumTextureLevel):
(gl::Context::supportsLuminanceTextures):
(gl::Context::supportsLuminanceAlphaTextures):
(gl::Context::supportsDepthTextures):
(gl::Context::supports32bitIndices):
(gl::Context::supportsNonPower2Texture):
(gl::Context::supportsInstancing):
(gl::Context::supportsTextureFilterAnisotropy):
(gl::Context::supportsDerivativeInstructions):
(gl::Context::getTextureMaxAnisotropy):
(gl::Context::getCurrentReadFormatType):
(gl::Context::detachBuffer):
(gl::Context::detachTexture):
(gl::Context::detachFramebuffer):
(gl::Context::detachRenderbuffer):
(gl::Context::getIncompleteTexture):
(gl::Context::skipDraw):
(gl::Context::isTriangleMode):
(gl::Context::setVertexAttrib):
(gl::Context::setVertexAttribDivisor):
(gl::Context::initExtensionString):
(gl::Context::getExtensionString):
(gl::Context::initRendererString):
(gl::Context::getRendererString):
(gl::Context::blitFramebuffer):
(gl::VertexDeclarationCache::VertexDeclarationCache):
(gl::VertexDeclarationCache::~VertexDeclarationCache):
(gl::VertexDeclarationCache::applyDeclaration):
(gl::VertexDeclarationCache::markStateDirty):
* src/libGLESv2/Context.h: Added.
(gl::VertexAttribute::VertexAttribute):
(gl::VertexAttribute::typeSize):
(gl::VertexAttribute::stride):
(gl::Context::getBlitter):
(gl::Context::getDeviceCaps):
* src/libGLESv2/D3DConstantTable.cpp: Added.
(gl::D3DConstant::D3DConstant):
(gl::D3DConstant::~D3DConstant):
(gl::D3DConstant::addStructMembers):
(gl::D3DConstantTable::D3DConstantTable):
(gl::D3DConstantTable::~D3DConstantTable):
(gl::D3DConstantTable::getConstant):
(gl::D3DConstantTable::getConstantByName):
* src/libGLESv2/D3DConstantTable.h: Added.
(gl::D3DConstantTable::error):
(gl::D3DConstantTable::constants):
* src/libGLESv2/Fence.cpp: Added.
(gl::Fence::Fence):
(gl::Fence::~Fence):
(gl::Fence::isFence):
(gl::Fence::setFence):
(gl::Fence::testFence):
(gl::Fence::finishFence):
(gl::Fence::getFenceiv):
* src/libGLESv2/Fence.h: Added.
* src/libGLESv2/Float16ToFloat32.cpp: Added.
(gl::float16ToFloat32):
* src/libGLESv2/Float16ToFloat32.py: Added.
(convertMantissa):
(convertExponent):
(convertOffset):
* src/libGLESv2/Framebuffer.cpp: Added.
(gl::Framebuffer::Framebuffer):
(gl::Framebuffer::~Framebuffer):
(gl::Framebuffer::lookupRenderbuffer):
(gl::Framebuffer::setColorbuffer):
(gl::Framebuffer::setDepthbuffer):
(gl::Framebuffer::setStencilbuffer):
(gl::Framebuffer::detachTexture):
(gl::Framebuffer::detachRenderbuffer):
(gl::Framebuffer::getRenderTargetSerial):
(gl::Framebuffer::getRenderTarget):
(gl::Framebuffer::getDepthStencil):
(gl::Framebuffer::getDepthbufferSerial):
(gl::Framebuffer::getStencilbufferSerial):
(gl::Framebuffer::getColorbuffer):
(gl::Framebuffer::getDepthbuffer):
(gl::Framebuffer::getStencilbuffer):
(gl::Framebuffer::getNullColorbuffer):
(gl::Framebuffer::getColorbufferType):
(gl::Framebuffer::getDepthbufferType):
(gl::Framebuffer::getStencilbufferType):
(gl::Framebuffer::getColorbufferHandle):
(gl::Framebuffer::getDepthbufferHandle):
(gl::Framebuffer::getStencilbufferHandle):
(gl::Framebuffer::hasStencil):
(gl::Framebuffer::completeness):
(gl::DefaultFramebuffer::DefaultFramebuffer):
(gl::Framebuffer::getSamples):
(gl::DefaultFramebuffer::completeness):
* src/libGLESv2/Framebuffer.h: Added.
* src/libGLESv2/HandleAllocator.cpp: Added.
(gl::HandleAllocator::HandleAllocator):
(gl::HandleAllocator::~HandleAllocator):
(gl::HandleAllocator::setBaseHandle):
(gl::HandleAllocator::allocate):
(gl::HandleAllocator::release):
* src/libGLESv2/HandleAllocator.h: Added.
* src/libGLESv2/IndexDataManager.cpp: Added.
(gl::IndexDataManager::IndexDataManager):
(gl::IndexDataManager::~IndexDataManager):
(gl::convertIndices):
(gl::computeRange):
(gl::IndexDataManager::prepareIndexData):
(gl::IndexDataManager::indexSize):
(gl::IndexDataManager::typeSize):
(gl::IndexDataManager::getCountingIndices):
(gl::IndexBuffer::IndexBuffer):
(gl::IndexBuffer::~IndexBuffer):
(gl::IndexBuffer::getBuffer):
(gl::IndexBuffer::getSerial):
(gl::IndexBuffer::issueSerial):
(gl::IndexBuffer::unmap):
(gl::StreamingIndexBuffer::StreamingIndexBuffer):
(gl::StreamingIndexBuffer::~StreamingIndexBuffer):
(gl::StreamingIndexBuffer::map):
(gl::StreamingIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::StaticIndexBuffer):
(gl::StaticIndexBuffer::~StaticIndexBuffer):
(gl::StaticIndexBuffer::map):
(gl::StaticIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::lookupType):
(gl::StaticIndexBuffer::lookupRange):
(gl::StaticIndexBuffer::addRange):
* src/libGLESv2/IndexDataManager.h: Added.
(gl::IndexBuffer::size):
(gl::StaticIndexBuffer::IndexRange::operator<):
* src/libGLESv2/Program.cpp: Added.
(gl::AttributeBindings::AttributeBindings):
(gl::AttributeBindings::~AttributeBindings):
(gl::InfoLog::InfoLog):
(gl::InfoLog::~InfoLog):
(gl::InfoLog::getLength):
(gl::InfoLog::getLog):
(gl::InfoLog::appendSanitized):
(gl::InfoLog::append):
(gl::InfoLog::reset):
(gl::Program::Program):
(gl::Program::~Program):
(gl::Program::attachShader):
(gl::Program::detachShader):
(gl::Program::getAttachedShadersCount):
(gl::AttributeBindings::bindAttributeLocation):
(gl::Program::bindAttributeLocation):
(gl::Program::link):
(gl::AttributeBindings::getAttributeBinding):
(gl::Program::unlink):
(gl::Program::isLinked):
(gl::Program::getProgramBinary):
(gl::Program::setProgramBinary):
(gl::Program::release):
(gl::Program::addRef):
(gl::Program::getRefCount):
(gl::Program::getProgramBinaryLength):
(gl::Program::getInfoLogLength):
(gl::Program::getInfoLog):
(gl::Program::getAttachedShaders):
(gl::Program::getActiveAttribute):
(gl::Program::getActiveAttributeCount):
(gl::Program::getActiveAttributeMaxLength):
(gl::Program::getActiveUniform):
(gl::Program::getActiveUniformCount):
(gl::Program::getActiveUniformMaxLength):
(gl::Program::flagForDeletion):
(gl::Program::isFlaggedForDeletion):
(gl::Program::validate):
(gl::Program::isValidated):
* src/libGLESv2/Program.h: Added.
* src/libGLESv2/ProgramBinary.cpp: Added.
(gl::str):
(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::UniformLocation::UniformLocation):
(gl::ProgramBinary::ProgramBinary):
(gl::ProgramBinary::~ProgramBinary):
(gl::ProgramBinary::getSerial):
(gl::ProgramBinary::issueSerial):
(gl::ProgramBinary::getPixelShader):
(gl::ProgramBinary::getVertexShader):
(gl::ProgramBinary::getAttributeLocation):
(gl::ProgramBinary::getSemanticIndex):
(gl::ProgramBinary::getUsedSamplerRange):
(gl::ProgramBinary::usesPointSize):
(gl::ProgramBinary::getSamplerMapping):
(gl::ProgramBinary::getSamplerTextureType):
(gl::ProgramBinary::getUniformLocation):
(gl::ProgramBinary::setUniform1fv):
(gl::ProgramBinary::setUniform2fv):
(gl::ProgramBinary::setUniform3fv):
(gl::ProgramBinary::setUniform4fv):
(gl::transposeMatrix):
(gl::ProgramBinary::setUniformMatrix2fv):
(gl::ProgramBinary::setUniformMatrix3fv):
(gl::ProgramBinary::setUniformMatrix4fv):
(gl::ProgramBinary::setUniform1iv):
(gl::ProgramBinary::setUniform2iv):
(gl::ProgramBinary::setUniform3iv):
(gl::ProgramBinary::setUniform4iv):
(gl::ProgramBinary::getUniformfv):
(gl::ProgramBinary::getUniformiv):
(gl::ProgramBinary::dirtyAllUniforms):
(gl::ProgramBinary::applyUniforms):
(gl::ProgramBinary::compileToBinary):
(gl::ProgramBinary::packVaryings):
(gl::ProgramBinary::linkVaryings):
(gl::ProgramBinary::load):
(gl::ProgramBinary::save):
(gl::ProgramBinary::getLength):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::ProgramBinary::linkUniforms):
(gl::ProgramBinary::defineUniform):
(gl::ProgramBinary::createUniform):
(gl::ProgramBinary::decorateAttribute):
(gl::ProgramBinary::undecorateUniform):
(gl::ProgramBinary::applyUniformnbv):
(gl::ProgramBinary::applyUniformnfv):
(gl::ProgramBinary::applyUniform1iv):
(gl::ProgramBinary::applyUniform2iv):
(gl::ProgramBinary::applyUniform3iv):
(gl::ProgramBinary::applyUniform4iv):
(gl::ProgramBinary::applyUniformniv):
(gl::ProgramBinary::isValidated):
(gl::ProgramBinary::getActiveAttribute):
(gl::ProgramBinary::getActiveAttributeCount):
(gl::ProgramBinary::getActiveAttributeMaxLength):
(gl::ProgramBinary::getActiveUniform):
(gl::ProgramBinary::getActiveUniformCount):
(gl::ProgramBinary::getActiveUniformMaxLength):
(gl::ProgramBinary::validate):
(gl::ProgramBinary::validateSamplers):
(gl::ProgramBinary::getDxDepthRangeLocation):
(gl::ProgramBinary::getDxDepthLocation):
(gl::ProgramBinary::getDxCoordLocation):
(gl::ProgramBinary::getDxHalfPixelSizeLocation):
(gl::ProgramBinary::getDxFrontCCWLocation):
(gl::ProgramBinary::getDxPointsOrLinesLocation):
(gl::ProgramBinary::Sampler::Sampler):
* src/libGLESv2/ProgramBinary.h: Added.
(gl::Uniform::RegisterInfo::RegisterInfo):
(gl::Uniform::RegisterInfo::set):
(gl::UniformLocation::UniformLocation):
* src/libGLESv2/Query.cpp: Added.
(gl::Query::Query):
(gl::Query::~Query):
(gl::Query::begin):
(gl::Query::end):
(gl::Query::getResult):
(gl::Query::isResultAvailable):
(gl::Query::getType):
(gl::Query::testQuery):
* src/libGLESv2/Query.h: Added.
* src/libGLESv2/README: Removed.
* src/libGLESv2/Renderbuffer.cpp: Added.
(gl::RenderbufferInterface::RenderbufferInterface):
(gl::RenderbufferInterface::addProxyRef):
(gl::RenderbufferInterface::releaseProxy):
(gl::RenderbufferInterface::getRedSize):
(gl::RenderbufferInterface::getGreenSize):
(gl::RenderbufferInterface::getBlueSize):
(gl::RenderbufferInterface::getAlphaSize):
(gl::RenderbufferInterface::getDepthSize):
(gl::RenderbufferInterface::getStencilSize):
(gl::RenderbufferTexture2D::RenderbufferTexture2D):
(gl::RenderbufferTexture2D::~RenderbufferTexture2D):
(gl::RenderbufferTexture2D::addProxyRef):
(gl::RenderbufferTexture2D::releaseProxy):
(gl::RenderbufferTexture2D::getRenderTarget):
(gl::RenderbufferTexture2D::getDepthStencil):
(gl::RenderbufferTexture2D::getWidth):
(gl::RenderbufferTexture2D::getHeight):
(gl::RenderbufferTexture2D::getInternalFormat):
(gl::RenderbufferTexture2D::getD3DFormat):
(gl::RenderbufferTexture2D::getSamples):
(gl::RenderbufferTexture2D::getSerial):
(gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::addProxyRef):
(gl::RenderbufferTextureCubeMap::releaseProxy):
(gl::RenderbufferTextureCubeMap::getRenderTarget):
(gl::RenderbufferTextureCubeMap::getDepthStencil):
(gl::RenderbufferTextureCubeMap::getWidth):
(gl::RenderbufferTextureCubeMap::getHeight):
(gl::RenderbufferTextureCubeMap::getInternalFormat):
(gl::RenderbufferTextureCubeMap::getD3DFormat):
(gl::RenderbufferTextureCubeMap::getSamples):
(gl::RenderbufferTextureCubeMap::getSerial):
(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::~Renderbuffer):
(gl::Renderbuffer::addRef):
(gl::Renderbuffer::release):
(gl::Renderbuffer::getRenderTarget):
(gl::Renderbuffer::getDepthStencil):
(gl::Renderbuffer::getWidth):
(gl::Renderbuffer::getHeight):
(gl::Renderbuffer::getInternalFormat):
(gl::Renderbuffer::getD3DFormat):
(gl::Renderbuffer::getRedSize):
(gl::Renderbuffer::getGreenSize):
(gl::Renderbuffer::getBlueSize):
(gl::Renderbuffer::getAlphaSize):
(gl::Renderbuffer::getDepthSize):
(gl::Renderbuffer::getStencilSize):
(gl::Renderbuffer::getSamples):
(gl::Renderbuffer::getSerial):
(gl::Renderbuffer::setStorage):
(gl::RenderbufferStorage::RenderbufferStorage):
(gl::RenderbufferStorage::~RenderbufferStorage):
(gl::RenderbufferStorage::getRenderTarget):
(gl::RenderbufferStorage::getDepthStencil):
(gl::RenderbufferStorage::getWidth):
(gl::RenderbufferStorage::getHeight):
(gl::RenderbufferStorage::getInternalFormat):
(gl::RenderbufferStorage::getD3DFormat):
(gl::RenderbufferStorage::getSamples):
(gl::RenderbufferStorage::getSerial):
(gl::RenderbufferStorage::issueSerial):
(gl::RenderbufferStorage::issueCubeSerials):
(gl::Colorbuffer::Colorbuffer):
(gl::Colorbuffer::~Colorbuffer):
(gl::Colorbuffer::getRenderTarget):
(gl::DepthStencilbuffer::DepthStencilbuffer):
(gl::DepthStencilbuffer::~DepthStencilbuffer):
(gl::DepthStencilbuffer::getDepthStencil):
(gl::Depthbuffer::Depthbuffer):
(gl::Depthbuffer::~Depthbuffer):
(gl::Stencilbuffer::Stencilbuffer):
(gl::Stencilbuffer::~Stencilbuffer):
* src/libGLESv2/Renderbuffer.h: Added.
(gl::RenderbufferInterface::~RenderbufferInterface):
* src/libGLESv2/ResourceManager.cpp: Added.
(gl::ResourceManager::ResourceManager):
(gl::ResourceManager::~ResourceManager):
(gl::ResourceManager::addRef):
(gl::ResourceManager::release):
(gl::ResourceManager::createBuffer):
(gl::ResourceManager::createShader):
(gl::ResourceManager::createProgram):
(gl::ResourceManager::createTexture):
(gl::ResourceManager::createRenderbuffer):
(gl::ResourceManager::deleteBuffer):
(gl::ResourceManager::deleteShader):
(gl::ResourceManager::deleteProgram):
(gl::ResourceManager::deleteTexture):
(gl::ResourceManager::deleteRenderbuffer):
(gl::ResourceManager::getBuffer):
(gl::ResourceManager::getShader):
(gl::ResourceManager::getTexture):
(gl::ResourceManager::getProgram):
(gl::ResourceManager::getRenderbuffer):
(gl::ResourceManager::setRenderbuffer):
(gl::ResourceManager::checkBufferAllocation):
(gl::ResourceManager::checkTextureAllocation):
(gl::ResourceManager::checkRenderbufferAllocation):
* src/libGLESv2/ResourceManager.h: Added.
* src/libGLESv2/Shader.cpp: Added.
(gl::Shader::Shader):
(gl::Shader::~Shader):
(gl::Shader::getHandle):
(gl::Shader::setSource):
(gl::Shader::getInfoLogLength):
(gl::Shader::getInfoLog):
(gl::Shader::getSourceLength):
(gl::Shader::getTranslatedSourceLength):
(gl::Shader::getSourceImpl):
(gl::Shader::getSource):
(gl::Shader::getTranslatedSource):
(gl::Shader::isCompiled):
(gl::Shader::getHLSL):
(gl::Shader::addRef):
(gl::Shader::release):
(gl::Shader::getRefCount):
(gl::Shader::isFlaggedForDeletion):
(gl::Shader::flagForDeletion):
(gl::Shader::initializeCompiler):
(gl::Shader::releaseCompiler):
(gl::Shader::parseVaryings):
(gl::Shader::uncompile):
(gl::Shader::compileToHLSL):
(gl::Shader::parseType):
(gl::Shader::compareVarying):
(gl::VertexShader::VertexShader):
(gl::VertexShader::~VertexShader):
(gl::VertexShader::getType):
(gl::VertexShader::uncompile):
(gl::VertexShader::compile):
(gl::VertexShader::getSemanticIndex):
(gl::VertexShader::parseAttributes):
(gl::FragmentShader::FragmentShader):
(gl::FragmentShader::~FragmentShader):
(gl::FragmentShader::getType):
(gl::FragmentShader::compile):
* src/libGLESv2/Shader.h: Added.
(gl::Varying::Varying):
(gl::Attribute::Attribute):
* src/libGLESv2/Texture.cpp: Added.
(gl::ConvertTextureInternalFormat):
(gl::IsTextureFormatRenderable):
(gl::GetTextureUsage):
(gl::MakeValidSize):
(gl::CopyLockableSurfaces):
(gl::Image::Image):
(gl::Image::~Image):
(gl::Image::redefine):
(gl::Image::createSurface):
(gl::Image::lock):
(gl::Image::unlock):
(gl::Image::isRenderableFormat):
(gl::Image::getD3DFormat):
(gl::Image::getSurface):
(gl::Image::setManagedSurface):
(gl::Image::updateSurface):
(gl::Image::loadData):
(gl::Image::loadAlphaData):
(gl::Image::loadAlphaFloatData):
(gl::Image::loadAlphaHalfFloatData):
(gl::Image::loadLuminanceData):
(gl::Image::loadLuminanceFloatData):
(gl::Image::loadLuminanceHalfFloatData):
(gl::Image::loadLuminanceAlphaData):
(gl::Image::loadLuminanceAlphaFloatData):
(gl::Image::loadLuminanceAlphaHalfFloatData):
(gl::Image::loadRGBUByteData):
(gl::Image::loadRGB565Data):
(gl::Image::loadRGBFloatData):
(gl::Image::loadRGBHalfFloatData):
(gl::Image::loadRGBAUByteData):
(gl::Image::loadRGBA4444Data):
(gl::Image::loadRGBA5551Data):
(gl::Image::loadRGBAFloatData):
(gl::Image::loadRGBAHalfFloatData):
(gl::Image::loadBGRAData):
(gl::Image::loadCompressedData):
(gl::Image::copy):
(gl::TextureStorage::TextureStorage):
(gl::TextureStorage::~TextureStorage):
(gl::TextureStorage::isRenderTarget):
(gl::TextureStorage::isManaged):
(gl::TextureStorage::getPool):
(gl::TextureStorage::getUsage):
(gl::TextureStorage::getTextureSerial):
(gl::TextureStorage::issueTextureSerial):
(gl::TextureStorage::getLodOffset):
(gl::Texture::Texture):
(gl::Texture::~Texture):
(gl::Texture::setMinFilter):
(gl::Texture::setMagFilter):
(gl::Texture::setWrapS):
(gl::Texture::setWrapT):
(gl::Texture::setMaxAnisotropy):
(gl::Texture::setUsage):
(gl::Texture::getMinFilter):
(gl::Texture::getMagFilter):
(gl::Texture::getWrapS):
(gl::Texture::getWrapT):
(gl::Texture::getMaxAnisotropy):
(gl::Texture::getUsage):
(gl::Texture::isMipmapFiltered):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture::getTexture):
(gl::Texture::hasDirtyParameters):
(gl::Texture::hasDirtyImages):
(gl::Texture::resetDirty):
(gl::Texture::getTextureSerial):
(gl::Texture::getRenderTargetSerial):
(gl::Texture::isImmutable):
(gl::Texture::getLodOffset):
(gl::Texture::creationLevels):
(gl::Texture::levelCount):
(gl::Texture::getBlitter):
(gl::Texture::copyToRenderTarget):
(gl::TextureStorage2D::TextureStorage2D):
(gl::TextureStorage2D::~TextureStorage2D):
(gl::TextureStorage2D::getSurfaceLevel):
(gl::TextureStorage2D::getBaseTexture):
(gl::TextureStorage2D::getRenderTargetSerial):
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl::Texture2D::addProxyRef):
(gl::Texture2D::releaseProxy):
(gl::Texture2D::getTarget):
(gl::Texture2D::getWidth):
(gl::Texture2D::getHeight):
(gl::Texture2D::getInternalFormat):
(gl::Texture2D::getD3DFormat):
(gl::Texture2D::redefineImage):
(gl::Texture2D::setImage):
(gl::Texture2D::bindTexImage):
(gl::Texture2D::releaseTexImage):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::commitRect):
(gl::Texture2D::subImage):
(gl::Texture2D::subImageCompressed):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::storage):
(gl::Texture2D::isSamplerComplete):
(gl::Texture2D::isMipmapComplete):
(gl::Texture2D::isCompressed):
(gl::Texture2D::isDepth):
(gl::Texture2D::getBaseTexture):
(gl::Texture2D::createTexture):
(gl::Texture2D::updateTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::generateMipmaps):
(gl::Texture2D::getRenderbuffer):
(gl::Texture2D::getRenderTarget):
(gl::Texture2D::getDepthStencil):
(gl::Texture2D::getStorage):
(gl::TextureStorageCubeMap::TextureStorageCubeMap):
(gl::TextureStorageCubeMap::~TextureStorageCubeMap):
(gl::TextureStorageCubeMap::getCubeMapSurface):
(gl::TextureStorageCubeMap::getBaseTexture):
(gl::TextureStorageCubeMap::getRenderTargetSerial):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::~TextureCubeMap):
(gl::TextureCubeMap::addProxyRef):
(gl::TextureCubeMap::releaseProxy):
(gl::TextureCubeMap::getTarget):
(gl::TextureCubeMap::getWidth):
(gl::TextureCubeMap::getHeight):
(gl::TextureCubeMap::getInternalFormat):
(gl::TextureCubeMap::getD3DFormat):
(gl::TextureCubeMap::setImagePosX):
(gl::TextureCubeMap::setImageNegX):
(gl::TextureCubeMap::setImagePosY):
(gl::TextureCubeMap::setImageNegY):
(gl::TextureCubeMap::setImagePosZ):
(gl::TextureCubeMap::setImageNegZ):
(gl::TextureCubeMap::setCompressedImage):
(gl::TextureCubeMap::commitRect):
(gl::TextureCubeMap::subImage):
(gl::TextureCubeMap::subImageCompressed):
(gl::TextureCubeMap::isSamplerComplete):
(gl::TextureCubeMap::isCubeComplete):
(gl::TextureCubeMap::isMipmapCubeComplete):
(gl::TextureCubeMap::isCompressed):
(gl::TextureCubeMap::getBaseTexture):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::updateTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::setImage):
(gl::TextureCubeMap::faceIndex):
(gl::TextureCubeMap::redefineImage):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::storage):
(gl::TextureCubeMap::generateMipmaps):
(gl::TextureCubeMap::getRenderbuffer):
(gl::TextureCubeMap::getRenderTarget):
(gl::TextureCubeMap::getStorage):
* src/libGLESv2/Texture.h: Added.
(gl::Image::markDirty):
(gl::Image::markClean):
(gl::Image::getWidth):
(gl::Image::getHeight):
(gl::Image::getInternalFormat):
(gl::Image::isDirty):
* src/libGLESv2/TextureSSE2.cpp: Added.
(gl::Image::loadRGBAUByteDataSSE2):
(gl::Image::loadAlphaDataSSE2):
* src/libGLESv2/VertexDataManager.cpp: Added.
(gl::elementsInBuffer):
(gl::VertexDataManager::VertexDataManager):
(gl::VertexDataManager::~VertexDataManager):
(gl::VertexDataManager::writeAttributeData):
(gl::VertexDataManager::prepareVertexData):
(gl::VertexDataManager::spaceRequired):
(gl::VertexDataManager::checkVertexCaps):
(gl::VertexDataManager::typeIndex):
(gl::VertexBuffer::VertexBuffer):
(gl::VertexBuffer::~VertexBuffer):
(gl::VertexBuffer::unmap):
(gl::VertexBuffer::getBuffer):
(gl::VertexBuffer::getSerial):
(gl::VertexBuffer::issueSerial):
(gl::ArrayVertexBuffer::ArrayVertexBuffer):
(gl::ArrayVertexBuffer::~ArrayVertexBuffer):
(gl::ArrayVertexBuffer::addRequiredSpace):
(gl::StreamingVertexBuffer::StreamingVertexBuffer):
(gl::StreamingVertexBuffer::~StreamingVertexBuffer):
(gl::StreamingVertexBuffer::map):
(gl::StreamingVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::StaticVertexBuffer):
(gl::StaticVertexBuffer::~StaticVertexBuffer):
(gl::StaticVertexBuffer::map):
(gl::StaticVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::lookupAttribute):
(gl::VertexDataManager::formatConverter):
* src/libGLESv2/VertexDataManager.h: Added.
(gl::ArrayVertexBuffer::size):
(gl::VertexDataManager::dirtyCurrentValue):
* src/libGLESv2/libGLESv2.cpp: Added.
(validImageSize):
(checkTextureFormatType):
(validateSubImageParams2D):
(validateSubImageParamsCube):
(validReadFormatType):
* src/libGLESv2/libGLESv2.def: Added.
* src/libGLESv2/libGLESv2.rc: Added.
* src/libGLESv2/libGLESv2.vcxproj: Added.
* src/libGLESv2/libGLESv2.vcxproj.filters: Added.
* src/libGLESv2/main.cpp: Added.
(DllMain):
(gl::makeCurrent):
(gl::getContext):
(gl::getNonLostContext):
(gl::getDisplay):
(gl::getDevice):
(gl::checkDeviceLost):
(error):
* src/libGLESv2/main.h: Added.
(error):
* src/libGLESv2/mathutil.h: Added.
(gl::Vector4::Vector4):
(gl::isPow2):
(gl::log2):
(gl::ceilPow2):
(gl::clamp):
(gl::clamp01):
(gl::unorm):
(gl::supportsSSE2):
(gl::float32ToFloat16):
* src/libGLESv2/resource.h: Added.
* src/libGLESv2/shaders: Added.
* src/libGLESv2/shaders/Blit.ps: Added.
* src/libGLESv2/shaders/Blit.vs: Added.
* src/libGLESv2/shaders/componentmaskps.h: Added.
* src/libGLESv2/shaders/flipyvs.h: Added.
* src/libGLESv2/shaders/generate_shaders.bat: Added.
* src/libGLESv2/shaders/luminanceps.h: Added.
* src/libGLESv2/shaders/passthroughps.h: Added.
* src/libGLESv2/shaders/standardvs.h: Added.
* src/libGLESv2/utilities.cpp: Added.
(gl::UniformExternalComponentCount):
(gl::UniformInternalComponentCount):
(gl::UniformComponentType):
(gl::UniformComponentSize):
(gl::UniformInternalSize):
(gl::UniformExternalSize):
(gl::VariableRowCount):
(gl::VariableColumnCount):
(gl::AllocateFirstFreeBits):
(gl::ComputePitch):
(gl::ComputeCompressedPitch):
(gl::ComputeCompressedSize):
(gl::IsCompressed):
(gl::IsDepthTexture):
(gl::IsStencilTexture):
(gl::ComputePixelSize):
(gl::IsCubemapTextureTarget):
(gl::IsInternalTextureTarget):
(gl::ConvertSizedInternalFormat):
(gl::ExtractFormat):
(gl::ExtractType):
(gl::IsColorRenderable):
(gl::IsDepthRenderable):
(gl::IsStencilRenderable):
(gl::IsFloat32Format):
(gl::IsFloat16Format):
(es2dx::ConvertComparison):
(es2dx::ConvertColor):
(es2dx::ConvertBlendFunc):
(es2dx::ConvertBlendOp):
(es2dx::ConvertStencilOp):
(es2dx::ConvertTextureWrap):
(es2dx::ConvertCullMode):
(es2dx::ConvertCubeFace):
(es2dx::ConvertColorMask):
(es2dx::ConvertMagFilter):
(es2dx::ConvertMinFilter):
(es2dx::ConvertPrimitiveType):
(es2dx::ConvertRenderbufferFormat):
(es2dx::GetMultisampleTypeFromSamples):
(dx2es::GetStencilSize):
(dx2es::GetAlphaSize):
(dx2es::GetRedSize):
(dx2es::GetGreenSize):
(dx2es::GetBlueSize):
(dx2es::GetDepthSize):
(dx2es::GetSamplesFromMultisampleType):
(dx2es::IsFormatChannelEquivalent):
(dx2es::ConvertReadBufferFormat):
(dx2es::ConvertBackBufferFormat):
(dx2es::ConvertDepthStencilFormat):
(dx::IsCompressedFormat):
(dx::ComputeRowSize):
(getTempPath):
(writeFile):
* src/libGLESv2/utilities.h: Added.
(isDeviceLostError):
* src/libGLESv2/vertexconversion.h: Added.
(gl::Identity::convert):
(gl::Cast::convert):
(gl::Normalize::convert):
(gl::FixedToFloat::convert):
(gl::SimpleDefaultValues::zero):
(gl::SimpleDefaultValues::one):
(gl::NormalizedDefaultValues::zero):
(gl::NormalizedDefaultValues::one):
(gl::VertexDataConverter::convertArray):
(gl::VertexDataConverter::pointerAddBytes):
(gl::VertexDataConverter::copyComponent):
2013-07-17 Alex Christensen <achristensen@apple.com>
Made a repeatable process for updating ANGLE that does not include manually editing any files.
https://bugs.webkit.org/show_bug.cgi?id=118815
Reviewed by Dean Jackson.
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
* src/compiler/glslang_tab.cpp:
* src/compiler/glslang_tab.h: Put YYLTYPE definition in %union instead of prologue and ran Bison.
2013-07-16 Alex Christensen <achristensen@apple.com>
Update ANGLE from r1987 to r2426 while keeping these changes:
Keeping #if defined(_MSC_VER) around #pragma warning(disable: 4718) in DependencyGraph.cpp.
Keeping include khrplatform.h instead of KHR/khrplatform.h in ShaderLang.h.
Added static_casts in Intermediate.cpp to fix compiling on Mac.
Changed enum bit fields to just enums for GCC in Types.h to fix compiling for GTK.
Ran Bison on Mac after removing the unsupported %code tag (See diff uploaded to bug for details).
Added YYLTYPE definition to glslang_tab.h which would have been put there by the unsupported %code tag.
https://bugs.webkit.org/show_bug.cgi?id=118550
Reviewed by Dean Jackson.
* ANGLE.plist: Updated revision of ANGLE to 2426.
* ANGLE.xcodeproj/project.pbxproj:
* GNUmakefile.am:
* Target.pri:
Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
* include/GLSLANG/ShaderLang.h:
* src/common/version.h:
* src/compiler/BaseTypes.h:
(getQualifierString):
* src/compiler/Common.h:
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::detectCallDepth):
(TCompiler::enforceTimingRestrictions):
(TCompiler::limitExpressionComplexity):
* src/compiler/ConstantUnion.h:
(ConstantUnion::ConstantUnion):
* src/compiler/DetectCallDepth.cpp: Added.
(DetectCallDepth::FunctionNode::FunctionNode):
(DetectCallDepth::FunctionNode::getName):
(DetectCallDepth::FunctionNode::addCallee):
(DetectCallDepth::FunctionNode::detectCallDepth):
(DetectCallDepth::FunctionNode::reset):
(DetectCallDepth::DetectCallDepth):
(DetectCallDepth::~DetectCallDepth):
(DetectCallDepth::visitAggregate):
(DetectCallDepth::checkExceedsMaxDepth):
(DetectCallDepth::resetFunctionNodes):
(DetectCallDepth::detectCallDepthForFunction):
(DetectCallDepth::detectCallDepth):
(DetectCallDepth::findFunctionByName):
* src/compiler/DetectCallDepth.h: Added.
(DetectCallDepth::getInfoSink):
* src/compiler/DetectRecursion.cpp: Removed.
* src/compiler/DetectRecursion.h: Removed.
* src/compiler/Diagnostics.cpp:
(TDiagnostics::writeInfo):
* src/compiler/ForLoopUnroll.cpp:
(ForLoopUnroll::evaluateIntConstant):
* src/compiler/InfoSink.cpp:
(TInfoSinkBase::prefix):
(TInfoSinkBase::location):
(TInfoSinkBase::message):
* src/compiler/InfoSink.h:
* src/compiler/Initialize.cpp:
(TBuiltIns::initialize):
(IdentifyBuiltIns):
(InitExtensionBehavior):
* src/compiler/Intermediate.cpp: Updated and added static_casts to fix build errors on Mac.
(TIntermediate::addSymbol):
(TIntermediate::addBinaryMath):
(TIntermediate::addAssign):
(TIntermediate::addIndex):
(TIntermediate::addUnaryMath):
(TIntermediate::setAggregateOperator):
(TIntermediate::addConversion):
(TIntermediate::growAggregate):
(TIntermediate::makeAggregate):
(TIntermediate::addSelection):
(TIntermediate::addComma):
(TIntermediate::addConstantUnion):
(TIntermediate::addSwizzle):
(TIntermediate::addLoop):
(TIntermediate::addBranch):
(TIntermUnary::promote):
(TIntermBinary::promote):
(CompareStruct):
(CompareStructure):
(TIntermConstantUnion::fold):
(TIntermediate::promoteConstantUnion):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::visitSymbol):
* src/compiler/OutputGLSL.h:
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::getTypeName):
(TOutputGLSLBase::hashFunctionName):
(TOutputGLSLBase::structDeclared):
(TOutputGLSLBase::declareStruct):
* src/compiler/OutputGLSLBase.h:
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::initializer):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::writeConstantUnion):
(sh::OutputHLSL::decorateField):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::findFunction):
(TParseContext::isVariableBuiltIn):
(TParseContext::executeInitializer):
(TParseContext::addConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::structNestingErrorCheck):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
(TParseContext::pragma):
* src/compiler/PoolAlloc.cpp:
(TPoolAllocator::allocate):
* src/compiler/ShHandle.h:
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
* src/compiler/SymbolTable.cpp:
(TType::TType):
(TType::buildMangledName):
(TType::getObjectSize):
(TStructure::containsArrays):
(TStructure::buildMangledName):
(TStructure::calculateObjectSize):
(TStructure::calculateDeepestNesting):
(TSymbolTableLevel::relateToExtension):
* src/compiler/SymbolTable.h:
(TSymbol::relateToExtension):
(TSymbol::getExtension):
(TVariable::TVariable):
(TVariable::setQualifier):
(TVariable::shareConstPointer):
* src/compiler/Types.h: Updated and changed enum bit fields to enums to fix compiling with GCC.
(TField::TField):
(TField::type):
(TField::name):
(NewPoolTFieldList):
(TStructure::TStructure):
(TStructure::name):
(TStructure::fields):
(TStructure::mangledName):
(TStructure::objectSize):
(TStructure::deepestNesting):
(TType::TType):
(TType::clearArrayness):
(TType::getStruct):
(TType::setStruct):
(TType::getMangledName):
(TType::getDeepestStructNesting):
(TType::isStructureContainingArrays):
(TPublicType::setBasic):
* src/compiler/VariableInfo.cpp:
(getUserDefinedVariableInfo):
* src/compiler/builtin_symbol_table.cpp: Added.
(builtin1):
(builtin2):
(builtin3):
(InsertBuiltInFunctionsCommon):
(InsertBuiltInFunctionsVertex):
* src/compiler/builtin_symbol_table.h: Added.
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(yy_get_previous_state):
(yy_try_NUL_trans):
(yyget_lloc):
(yyset_lloc):
(string_input):
(check_type):
(reserved_word):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
(yysyntax_error):
(yyerror):
(glslang_parse):
* src/compiler/glslang_tab.h: Readded YYLTYPE definition after Bison removed it.
* src/compiler/intermOut.cpp:
(TOutputTraverser::visitUnary):
(TOutputTraverser::visitAggregate):
(TOutputTraverser::visitConstantUnion):
* src/compiler/intermediate.h:
(TIntermNode::TIntermNode):
(TIntermNode::~TIntermNode):
(TIntermNode::getLine):
(TIntermNode::setLine):
(TIntermNode::getAsLoopNode):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermAggregate::TIntermAggregate):
(TIntermTraverser::TIntermTraverser):
(TIntermTraverser::getMaxDepth):
(TIntermTraverser::incrementDepth):
* src/compiler/localintermediate.h:
* src/compiler/parseConst.cpp:
(TConstTraverser::visitSymbol):
(TConstTraverser::visitBinary):
(TConstTraverser::visitUnary):
(TConstTraverser::visitAggregate):
(TConstTraverser::visitSelection):
(TConstTraverser::visitConstantUnion):
(TConstTraverser::visitLoop):
(TConstTraverser::visitBranch):
(TIntermediate::parseConstTree):
* src/compiler/preprocessor/ExpressionParser.cpp:
* src/compiler/timing/RestrictVertexShaderTiming.cpp:
(RestrictVertexShaderTiming::visitSymbol):
Updated ANGLE to r2426 and ran Bison.
2013-06-17 Darin Adler <darin@apple.com>
Sort all the Xcode project files
https://bugs.webkit.org/show_bug.cgi?id=117696
Reviewed by Anders Carlsson.
* ANGLE.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
2013-04-18 Krzysztof Wolanski <k.wolanski@samsung.com>
Add checking whether the compiler allows to use #pragma directive.
https://bugs.webkit.org/show_bug.cgi?id=114740
Reviewed by Andreas Kling.
Some compilers may complain that #pragma warning is an undefined macro.
* src/compiler/depgraph/DependencyGraph.cpp:
2013-04-11 Andras Becsi <andras.becsi@digia.com>
[Qt][Mac] Linking fails with Qt 5.1
https://bugs.webkit.org/show_bug.cgi?id=114435
Reviewed by Tor Arne Vestbø.
Qt 5.1 enables C++11 by default when using clang on Mac
and links against the libc++ standard library. As a result
building the QtWebKit shared library fails when linking
agains the ANGLE intermediate static library because libc++
misses some symbols needed by ANGLE.
Disable C++11 for the ANGLE intermediate library to fix the build.
* ANGLE.pri:
2013-04-10 Benjamin Poulain <bpoulain@apple.com>
Mass remove all the empty directories
Rubberstamped by Ryosuke Niwa.
* src/libGLESv2/geometry: Removed.
2013-04-08 Ryosuke Niwa <rniwa@webkit.org>
Remove ANGLE.gyp
https://bugs.webkit.org/show_bug.cgi?id=114245
Unreviewed. Just removing an empty directory.
* ANGLE.gyp: Removed.
2013-04-04 Martin Robinson <mrobinson@igalia.com>
[GTK] Remove the gyp build
https://bugs.webkit.org/show_bug.cgi?id=113942
Reviewed by Gustavo Noronha Silva.
* ANGLE.gyp/ANGLE.gyp: Removed.
* ANGLE.gypi: Removed.
2013-03-20 Zan Dobersek <zdobersek@igalia.com>
[GTK] Build ANGLE sources into a separate library from libWebCore.la
https://bugs.webkit.org/show_bug.cgi?id=112778
Reviewed by Martin Robinson.
* GNUmakefile.am: Added, sets up the libANGLE.la library.
2013-03-05 Kenneth Russell <kbr@google.com>
Upgrade ANGLE to r1987
https://bugs.webkit.org/show_bug.cgi?id=111381
Reviewed by Dean Jackson.
* include/GLSLANG/ShaderLang.h:
* src/common/version.h:
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
* src/compiler/ParseHelper.h:
(TParseContext):
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
* src/compiler/UnfoldShortCircuit.cpp:
(sh::UnfoldShortCircuit::visitSelection):
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(glslang_scan):
* src/compiler/glslang_tab.cpp:
Updated ANGLE to r1987.
2013-03-01 Martin Robinson <mrobinson@igalia.com>
[GTK] Add ANGLE to the GTK+ gyp build
https://bugs.webkit.org/show_bug.cgi?id=111128
Reviewed by Dirk Pranke.
Add files that build an ANGLE static library for GTK+ using gyp.
* ANGLE.gyp/ANGLE.gyp: Added.
* ANGLE.gypi: Added.
2013-02-22 Kenneth Russell <kbr@google.com>
Mac OS build broken by new ExpressionParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=110629
Unreviewed build fix. Regenerated ExpressionParser with Bison 2.3.
* src/compiler/preprocessor/ExpressionParser.cpp:
2013-02-21 Zhenyao Mo <zmo@google.com>
Roll ANGLE to r1833
https://bugs.webkit.org/show_bug.cgi?id=110513
Reviewed by Kenneth Russell.
Upstream ANGLE r1833 includes webkit side local fixes
1) r139758 build fix for -Wshorten-64-to-32
2) r139665 build fix for uninitialized variables
After this roll, WebKit side ANGLE is the same as upstream ANGLE r1833, except:
1) include/GLSLANG/ShaderLang.h, where "KHR" is removed from include path.
With this roll, we have EXT_draw_buffers support.
* ANGLE.xcodeproj/project.pbxproj:
* Target.pri:
* include/GLSLANG/ShaderLang.h:
* src/common/debug.cpp:
* src/common/system.h: Added.
* src/common/version.h:
* src/compiler/ArrayBoundsClamper.cpp: Removed.
* src/compiler/ArrayBoundsClamper.h: Removed.
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::getArrayBoundsClamper):
(TCompiler::getArrayIndexClampingStrategy):
(TCompiler::getBuiltInFunctionEmulator):
* src/compiler/DetectDiscontinuity.cpp:
(sh::DetectLoopDiscontinuity::traverse):
(sh::DetectLoopDiscontinuity::visitLoop):
(sh):
(sh::DetectLoopDiscontinuity::visitBranch):
* src/compiler/DetectDiscontinuity.h:
(DetectLoopDiscontinuity):
* src/compiler/Initialize.cpp:
(InitExtensionBehavior):
* src/compiler/Intermediate.cpp:
(TIntermConstantUnion::fold):
(TIntermTraverser::hash):
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::Size):
(MapLongVariableNames::mapGlobalLongName):
* src/compiler/MapLongVariableNames.h:
(LongNameMap):
* src/compiler/OutputESSL.cpp:
(TOutputESSL::TOutputESSL):
* src/compiler/OutputESSL.h:
(TOutputESSL):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::TOutputGLSL):
* src/compiler/OutputGLSL.h:
(TOutputGLSL):
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::TOutputGLSLBase):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitBinary):
* src/compiler/OutputGLSLBase.h:
(TOutputGLSLBase):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::output):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::writeConstantUnion):
* src/compiler/ParseHelper.cpp:
(TParseContext::constructorErrorCheck):
(PaParseStrings):
* src/compiler/ParseHelper.h:
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/ShaderLang.cpp:
(checkActiveUniformAndAttribMaxLengths):
(checkMappedNameMaxLength):
(getVariableInfo):
(ShInitBuiltInResources):
(ShCompile):
(ShGetInfo):
(ShGetActiveAttrib):
(ShGetActiveUniform):
(ShGetNameHashingEntry):
* src/compiler/SymbolTable.h:
(TFunction::getParamCount):
(TFunction::getParam):
(TSymbolTable::setDefaultPrecision):
* src/compiler/TranslatorESSL.cpp:
(TranslatorESSL::translate):
* src/compiler/TranslatorGLSL.cpp:
(TranslatorGLSL::translate):
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall):
* src/compiler/VariablePacker.cpp:
(VariablePacker::GetNumRows):
* src/compiler/glslang.h:
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(string_input):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
* src/compiler/preprocessor/ExpressionParser.cpp:
* src/compiler/preprocessor/ExpressionParser.y:
* src/compiler/preprocessor/Input.cpp:
(pp::Input::Input):
(pp::Input::read):
* src/compiler/preprocessor/Input.h:
(Input):
(pp::Input::count):
(pp::Input::string):
(pp::Input::length):
(Location):
* src/compiler/preprocessor/Preprocessor.cpp:
(pp::Preprocessor::init):
* src/compiler/preprocessor/Preprocessor.h:
(Preprocessor):
* src/compiler/preprocessor/Tokenizer.cpp:
(pp::Tokenizer::init):
* src/compiler/preprocessor/Tokenizer.h:
(Tokenizer):
* src/compiler/preprocessor/Tokenizer.l:
* src/third_party: Added.
* src/third_party/compiler: Added.
* src/third_party/compiler/ArrayBoundsClamper.cpp: Added.
(ArrayBoundsClamper::ArrayBoundsClamper):
(ArrayBoundsClamper::SetClampingStrategy):
(ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping):
(ArrayBoundsClamper::OutputClampingFunctionDefinition):
* src/third_party/compiler/ArrayBoundsClamper.h: Added.
(ArrayBoundsClamper):
(ArrayBoundsClamper::Cleanup):
(ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
(ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded):
* src/third_party/compiler/LICENSE: Added.
* src/third_party/compiler/README.angle: Added.
2013-02-04 David Kilzer <ddkilzer@apple.com>
Sort ANGLE Xcode project file.
* ANGLE.xcodeproj/project.pbxproj:
2013-01-30 David Kilzer <ddkilzer@apple.com>
Remove useless comment from Base.xcconfig
Rubber-stamped by Mark Rowe.
* Configurations/Base.xcconfig: Remove comment.
2013-01-16 Allan Sandfeld Jensen <allan.jensen@digia.com>
Doesn't build with GCC 4.7+
https://bugs.webkit.org/show_bug.cgi?id=106999
Reviewed by Csaba Osztrogonác.
Correct __GNU_C_MINOR__ macro to __GNUC_MINOR__.
* src/compiler/preprocessor/ExpressionParser.y:
2013-01-15 David Kilzer <ddkilzer@apple.com>
BUILD FIX: Add SUPPORTED_PLATFORMS to Base.xcconfig
* Configurations/Base.xcconfig: Add SUPPORTED_PLATFORMS so that
Xcode knows we can build this project for all three platforms.
Previously the Mac OS X SDKs were missing in the scheme picker.
2013-01-15 David Kilzer <ddkilzer@apple.com>
Upstream iOS changes for ANGLE project
<http://webkit.org/b/106913>
Reviewed by Joseph Pecoraro.
* ANGLE.xcodeproj/project.pbxproj:
- Use $(INSTALL_PATH_PREFIX) with CopyFiles build phase paths.
- Add iOS.xcconfig to project.
* Configurations/ANGLE.xcconfig:
- Use INSTALL_PATH_ACTUAL instead of INSTALL_PATH. (See below.)
- Use $(INSTALL_PATH_PREFIX) with PUBLIC_HEADERS_FOLDER_PATH.
* Configurations/Base.xcconfig:
- Include iOS.xcconfig.
- Add per-platform values for GCC_ENABLE_OBJC_GC and
GCC_MODEL_TUNING.
- Define INSTALL_PATH when building for macosx SDK.
* Configurations/iOS.xcconfig: Add. Note that missing include
files are simply ignored without an error by Xcode.
2013-01-15 David Kilzer <ddkilzer@apple.com>
ANGLE should build with -Wshorten-64-to-32
<http://webkit.org/b/106798>
<http://code.google.com/p/angleproject/issues/detail?id=396>
Reviewed by Kenneth Russell.
Most changes below are simply to document issues with #pragma
statements per request by upstream. The change to osinclude.h
is the only bug fix, which defines OS_TLSIndex in terms of
pthread_key_t instead of unsigned int since pthread_key_t is a
64-bit value on 64-bit Mac OS X.
* Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
* src/compiler/Intermediate.cpp:
(TIntermTraverser::hash): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::Size): Ditto.
* src/compiler/ShaderLang.cpp:
(getVariableInfo): Ditto.
(ShGetInfo): Ditto.
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall): Ditto.
* src/compiler/glslang.l: Ditto.
* src/compiler/glslang_lex.cpp: Ditto.
* src/compiler/osinclude.h: Change type of OS_TLSIndex to
pthread_key_t. Define OS_INVALID_TLS_INDEX by using
static_cast<OS_TLSIndex>(-1).
* src/compiler/preprocessor/Input.cpp:
(pp::Input::Input): Add #pragmas for clang to ignore
-Wshorten-64-to-32 warning.
* src/compiler/preprocessor/Tokenizer.cpp: Ditto.
* src/compiler/preprocessor/Tokenizer.l: Ditto.
2013-01-14 David Kilzer <ddkilzer@apple.com>
Remove nonexistent file in ANGLE Xcode project
* ANGLE.xcodeproj/project.pbxproj: Remove references to
ossource_nspr.cpp which was removed in r139665.
2013-01-14 Dean Jackson <dino@apple.com>
Unreviewed QT build fix.
* ANGLE.pri:
2013-01-14 Dean Jackson <dino@apple.com>
[ANGLE] Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=106274
Unreviewed attempted build fix.
Remove the copy files stage. Make khrplatform.h a public header.
* ANGLE.xcodeproj/project.pbxproj:
* include/GLSLANG/ShaderLang.h:
2013-01-14 Max Vujovic <mvujovic@adobe.com>
[ANGLE] Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=106274
Reviewed by Dean Jackson.
Update ANGLE to r1641.
ANGLE parsers were generated with Bison 2.3.
Additionally, perform the following changes to WebKit's ANGLE build system. Note that these
changes only apply to WebKit's copy of ANGLE, and do not need to be upstreamed to ANGLE.
(a) Remove all files in the libEGL and libGLESv2 directories because nobody is using them.
Add a README in each directory to explain why their contents are not copied over from
ANGLE. This simplifies updating ANGLE in the future.
(b) Remove the build_angle.xcodeproj file that no-one is using. It appears it was copied
over from a gyp build of ANGLE. The Mac build uses ANGLE.xcodeproj.
(c) Remove duplicate file entries in ANGLE.xcodeproj. Change its Xcode group structure to
match ANGLE's directory structure.
(d) Add a Copy Files task to ANGLE.xcodeproj to put the khrplatform.h header in the right
place so ShaderLang.h can find it. ShaderLang.h is copied to
<BuildDir>/usr/local/include/ANGLE/ShaderLang.h during the Copy Headers task, and it
includes "KHR/khrplatform.h". Thus, we need to copy khrplatform.h to
<BuildDir>/usr/local/include/ANGLE/KHR/khrplatform.h.
Additionally, make one build fix in ANGLE source that should be upstreamed to ANGLE:
(1) Before this patch in ExpressionParser.y, we toggled the "-Wpragmas" flag so compilers
could ignore the pragmas that they didn't understand instead of generating an error.
However, clang does not understand "-Wpragmas" itself. Instead, tt understands
"-Wunknown-pragmas". Now, instead of trying to temporarily ignore pragmas, we apply the
right flags to the right compiler versions. The new code in ExpressionParser.y looks
like:
"""
// Turn off uninitialized variable warnings triggered by the auto-generated pplval variable.
// On gcc 4.7+, The flag is called "-Wmaybe-uninitialized".
// On clang and gcc < 4.7, the flag is called "-Wuninitialized".
#if !defined(__clang__) && ((__GNUC__ == 4 && __GNU_C_MINOR__ >= 7) || __GNUC__ >= 5)
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#else
#pragma GCC diagnostic ignored "-Wuninitialized"
#endif
"""
* ANGLE.plist:
* ANGLE.pri:
* ANGLE.xcodeproj/project.pbxproj:
* DerivedSources.pri:
* Target.pri:
* include/GLSLANG/ShaderLang.h:
* src/build_angle.xcodeproj/project.pbxproj: Removed.
* src/common/angleutils.h:
* src/common/debug.cpp:
(gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
* src/common/debug.h:
* src/common/version.h:
* src/compiler/Compiler.cpp:
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::clearResults):
(TCompiler::collectAttribsUniforms):
(TCompiler::enforcePackingRestrictions):
* src/compiler/Diagnostics.cpp:
(TDiagnostics::TDiagnostics):
(TDiagnostics::writeInfo):
(TDiagnostics::print):
* src/compiler/Diagnostics.h:
(TDiagnostics::numErrors):
(TDiagnostics::numWarnings):
(TDiagnostics):
* src/compiler/DirectiveHandler.h:
* src/compiler/HashNames.h: Added.
* src/compiler/Intermediate.cpp:
(TIntermTraverser::hash):
* src/compiler/OutputESSL.cpp:
(TOutputESSL::TOutputESSL):
* src/compiler/OutputESSL.h:
(TOutputESSL):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::TOutputGLSL):
* src/compiler/OutputGLSL.h:
(TOutputGLSL):
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::TOutputGLSLBase):
(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeFunctionParameters):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitSymbol):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::getTypeName):
(TOutputGLSLBase::hashName):
(TOutputGLSLBase::hashVariableName):
(TOutputGLSLBase::hashFunctionName):
* src/compiler/OutputGLSLBase.h:
(TOutputGLSLBase):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
* src/compiler/OutputHLSL.h:
(OutputHLSL):
* src/compiler/ParseHelper.cpp:
(TParseContext::error):
(TParseContext::nonInitConstErrorCheck):
(PaParseStrings):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
(TParseContext):
(TParseContext::numErrors):
* src/compiler/RenameFunction.h:
(RenameFunction::visitAggregate):
* src/compiler/ShHandle.h:
(TCompiler::getHashFunction):
(TCompiler::getNameMap):
(TCompiler::getSymbolTable):
(TCompiler):
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
(ShGetInfo):
(ShGetNameHashingEntry):
* src/compiler/SymbolTable.cpp:
(TType::TType):
(TType::isStructureContainingArrays):
* src/compiler/SymbolTable.h:
(TSymbolTable::findBuiltIn):
(TSymbolTable):
* src/compiler/TranslatorESSL.cpp:
(TranslatorESSL::translate):
* src/compiler/TranslatorGLSL.cpp:
(TranslatorGLSL::translate):
* src/compiler/Types.h:
(TType):
(TPublicType):
(TPublicType::setBasic):
(TPublicType::setAggregate):
(TPublicType::setArray):
(TPublicType::isStructureContainingArrays):
* src/compiler/UnfoldShortCircuit.cpp:
(sh::UnfoldShortCircuit::visitBinary):
* src/compiler/VariableInfo.cpp:
(getVariableInfo):
(getUserDefinedVariableInfo):
(TVariableInfo::TVariableInfo):
(CollectAttribsUniforms::CollectAttribsUniforms):
(CollectAttribsUniforms::visitAggregate):
* src/compiler/VariableInfo.h:
(TVariableInfo):
(CollectAttribsUniforms):
* src/compiler/VariablePacker.cpp: Added.
(VariablePacker::GetNumComponentsPerRow):
(VariablePacker::GetNumRows):
(TVariableInfoComparer::operator()):
(VariablePacker::makeColumnFlags):
(VariablePacker::fillColumns):
(VariablePacker::searchColumn):
(VariablePacker::CheckVariablesWithinPackingLimits):
* src/compiler/VariablePacker.h: Added.
(VariablePacker):
* src/compiler/VersionGLSL.cpp:
(TVersionGLSL::visitAggregate):
* src/compiler/VersionGLSL.h:
(TVersionGLSL):
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(string_input):
(glslang_finalize):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
* src/compiler/intermediate.h:
(TIntermTraverser):
* src/compiler/osinclude.h:
(OS_GetTLSValue):
* src/compiler/ossource_nspr.cpp:
* src/compiler/preprocessor/DiagnosticsBase.cpp: Added.
(pp):
(pp::Diagnostics::~Diagnostics):
(pp::Diagnostics::report):
(pp::Diagnostics::severity):
(pp::Diagnostics::message):
* src/compiler/preprocessor/DiagnosticsBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Diagnostics.h.
(pp):
(Diagnostics):
* src/compiler/preprocessor/DirectiveHandlerBase.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandlerBase.cpp.
(pp):
(pp::DirectiveHandler::~DirectiveHandler):
* src/compiler/preprocessor/DirectiveHandlerBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandler.h.
(pp):
(DirectiveHandler):
* src/compiler/preprocessor/DirectiveParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.cpp.
(getDirective):
(isConditionalDirective):
(isEOD):
(skipUntilEOD):
(isMacroNameReserved):
(isMacroPredefined):
(pp):
(DefinedParser):
(pp::DefinedParser::DefinedParser):
(pp::DefinedParser::lex):
(pp::DirectiveParser::DirectiveParser):
(pp::DirectiveParser::lex):
(pp::DirectiveParser::parseDirective):
(pp::DirectiveParser::parseDefine):
(pp::DirectiveParser::parseUndef):
(pp::DirectiveParser::parseIf):
(pp::DirectiveParser::parseIfdef):
(pp::DirectiveParser::parseIfndef):
(pp::DirectiveParser::parseElse):
(pp::DirectiveParser::parseElif):
(pp::DirectiveParser::parseEndif):
(pp::DirectiveParser::parseError):
(pp::DirectiveParser::parsePragma):
(pp::DirectiveParser::parseExtension):
(pp::DirectiveParser::parseVersion):
(pp::DirectiveParser::parseLine):
(pp::DirectiveParser::skipping):
(pp::DirectiveParser::parseConditionalIf):
(pp::DirectiveParser::parseExpressionIf):
(pp::DirectiveParser::parseExpressionIfdef):
* src/compiler/preprocessor/DirectiveParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.h.
(pp):
(DirectiveParser):
(ConditionalBlock):
(pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
* src/compiler/preprocessor/ExpressionParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.cpp.
(yysyntax_error):
(yylex):
(yyerror):
(pp):
(pp::ExpressionParser::ExpressionParser):
(pp::ExpressionParser::parse):
* src/compiler/preprocessor/ExpressionParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.h.
(pp):
(ExpressionParser):
* src/compiler/preprocessor/ExpressionParser.y: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y.
* src/compiler/preprocessor/Input.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.cpp.
(pp):
(pp::Input::Input):
(pp::Input::read):
* src/compiler/preprocessor/Input.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.h.
(pp):
(Input):
(pp::Input::count):
(pp::Input::string):
(pp::Input::length):
(Location):
(pp::Input::Location::Location):
(pp::Input::readLoc):
* src/compiler/preprocessor/Lexer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.cpp.
(pp):
(pp::Lexer::~Lexer):
* src/compiler/preprocessor/Lexer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.h.
(pp):
(Lexer):
* src/compiler/preprocessor/Macro.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp.
(pp):
(pp::Macro::equals):
* src/compiler/preprocessor/Macro.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.h.
(pp):
(pp::Macro::Macro):
(Macro):
* src/compiler/preprocessor/MacroExpander.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.cpp.
(pp):
(TokenLexer):
(pp::TokenLexer::TokenLexer):
(pp::TokenLexer::lex):
(pp::MacroExpander::MacroExpander):
(pp::MacroExpander::~MacroExpander):
(pp::MacroExpander::lex):
(pp::MacroExpander::getToken):
(pp::MacroExpander::ungetToken):
(pp::MacroExpander::isNextTokenLeftParen):
(pp::MacroExpander::pushMacro):
(pp::MacroExpander::popMacro):
(pp::MacroExpander::expandMacro):
(pp::MacroExpander::collectMacroArgs):
(pp::MacroExpander::replaceMacroParams):
* src/compiler/preprocessor/MacroExpander.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.h.
(pp):
(MacroExpander):
(MacroContext):
(pp::MacroExpander::MacroContext::MacroContext):
(pp::MacroExpander::MacroContext::empty):
(pp::MacroExpander::MacroContext::get):
(pp::MacroExpander::MacroContext::unget):
* src/compiler/preprocessor/Preprocessor.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.cpp.
(pp):
(PreprocessorImpl):
(pp::PreprocessorImpl::PreprocessorImpl):
(pp::Preprocessor::Preprocessor):
(pp::Preprocessor::~Preprocessor):
(pp::Preprocessor::init):
(pp::Preprocessor::predefineMacro):
(pp::Preprocessor::lex):
* src/compiler/preprocessor/Preprocessor.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.h.
(pp):
(Preprocessor):
* src/compiler/preprocessor/SourceLocation.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/SourceLocation.h.
(pp):
(pp::SourceLocation::SourceLocation):
(SourceLocation):
(pp::SourceLocation::equals):
(pp::operator==):
(pp::operator!=):
* src/compiler/preprocessor/Token.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.cpp.
(pp):
(pp::Token::reset):
(pp::Token::equals):
(pp::Token::setAtStartOfLine):
(pp::Token::setHasLeadingSpace):
(pp::Token::setExpansionDisabled):
(pp::Token::iValue):
(pp::Token::uValue):
(pp::Token::fValue):
(pp::operator<<):
* src/compiler/preprocessor/Token.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.h.
(pp):
(pp::Token::Token):
(Token):
(pp::Token::atStartOfLine):
(pp::Token::hasLeadingSpace):
(pp::Token::expansionDisabled):
(pp::operator==):
(pp::operator!=):
* src/compiler/preprocessor/Tokenizer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.cpp.
(yy_buffer_state):
(yy_trans_info):
(yyguts_t):
(yy_get_previous_state):
(yy_try_NUL_trans):
(input):
(pprestart):
(pp_switch_to_buffer):
(pp_load_buffer_state):
(pp_create_buffer):
(pp_delete_buffer):
(pp_init_buffer):
(pp_flush_buffer):
(pppush_buffer_state):
(pppop_buffer_state):
(ppensure_buffer_stack):
(pp_scan_buffer):
(pp_scan_string):
(pp_scan_bytes):
(yy_fatal_error):
(ppget_extra):
(ppget_lineno):
(ppget_column):
(ppget_in):
(ppget_out):
(ppget_leng):
(ppget_text):
(ppset_extra):
(ppset_lineno):
(ppset_column):
(ppset_in):
(ppset_out):
(ppget_debug):
(ppset_debug):
(ppget_lval):
(ppset_lval):
(ppget_lloc):
(ppset_lloc):
(pplex_init):
(pplex_init_extra):
(yy_init_globals):
(pplex_destroy):
(yy_flex_strncpy):
(yy_flex_strlen):
(ppalloc):
(pprealloc):
(ppfree):
(pp):
(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::~Tokenizer):
(pp::Tokenizer::init):
(pp::Tokenizer::setFileNumber):
(pp::Tokenizer::setLineNumber):
(pp::Tokenizer::lex):
(pp::Tokenizer::initScanner):
(pp::Tokenizer::destroyScanner):
* src/compiler/preprocessor/Tokenizer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.h.
(pp):
(Tokenizer):
(Context):
* src/compiler/preprocessor/Tokenizer.l: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.l.
* src/compiler/preprocessor/atom.c: Removed.
* src/compiler/preprocessor/atom.h: Removed.
* src/compiler/preprocessor/compile.h: Removed.
* src/compiler/preprocessor/cpp.c: Removed.
* src/compiler/preprocessor/cpp.h: Removed.
* src/compiler/preprocessor/cppstruct.c: Removed.
* src/compiler/preprocessor/generate_parser.sh: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/generate_parser.sh.
* src/compiler/preprocessor/memory.c: Removed.
* src/compiler/preprocessor/memory.h: Removed.
* src/compiler/preprocessor/new/DiagnosticsBase.cpp: Removed.
* src/compiler/preprocessor/new/new_file.cpp: Removed.
* src/compiler/preprocessor/new/new_file2.cpp: Removed.
* src/compiler/preprocessor/new/preprocessor.vcproj: Removed.
* src/compiler/preprocessor/numeric_lex.h: Added.
(pp):
(pp::numeric_base_int):
(pp::numeric_lex_int):
(pp::numeric_lex_float):
* src/compiler/preprocessor/parser.h: Removed.
* src/compiler/preprocessor/pp_utils.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/pp_utils.h.
* src/compiler/preprocessor/preprocess.h: Removed.
* src/compiler/preprocessor/scanner.c: Removed.
* src/compiler/preprocessor/scanner.h: Removed.
* src/compiler/preprocessor/slglobals.h: Removed.
* src/compiler/preprocessor/symbols.c: Removed.
* src/compiler/preprocessor/symbols.h: Removed.
* src/compiler/preprocessor/tokens.c: Removed.
* src/compiler/preprocessor/tokens.h: Removed.
* src/libEGL/Config.cpp: Removed.
* src/libEGL/Config.h: Removed.
* src/libEGL/Display.cpp: Removed.
* src/libEGL/Display.h: Removed.
* src/libEGL/README: Added.
* src/libEGL/Surface.cpp: Removed.
* src/libEGL/Surface.h: Removed.
* src/libEGL/libEGL.cpp: Removed.
* src/libEGL/libEGL.def: Removed.
* src/libEGL/libEGL.rc: Removed.
* src/libEGL/libEGL.vcproj: Removed.
* src/libEGL/main.cpp: Removed.
* src/libEGL/main.h: Removed.
* src/libEGL/resource.h: Removed.
* src/libGLESv2/Blit.cpp: Removed.
* src/libGLESv2/Blit.h: Removed.
* src/libGLESv2/Buffer.cpp: Removed.
* src/libGLESv2/Buffer.h: Removed.
* src/libGLESv2/Context.cpp: Removed.
* src/libGLESv2/Context.h: Removed.
* src/libGLESv2/Fence.cpp: Removed.
* src/libGLESv2/Fence.h: Removed.
* src/libGLESv2/Framebuffer.cpp: Removed.
* src/libGLESv2/Framebuffer.h: Removed.
* src/libGLESv2/HandleAllocator.cpp: Removed.
* src/libGLESv2/HandleAllocator.h: Removed.
* src/libGLESv2/IndexDataManager.cpp: Removed.
* src/libGLESv2/IndexDataManager.h: Removed.
* src/libGLESv2/Program.cpp: Removed.
* src/libGLESv2/Program.h: Removed.
* src/libGLESv2/ProgramBinary.cpp: Removed.
* src/libGLESv2/ProgramBinary.h: Removed.
* src/libGLESv2/Query.cpp: Removed.
* src/libGLESv2/Query.h: Removed.
* src/libGLESv2/README: Added.
* src/libGLESv2/Renderbuffer.cpp: Removed.
* src/libGLESv2/Renderbuffer.h: Removed.
* src/libGLESv2/ResourceManager.cpp: Removed.
* src/libGLESv2/ResourceManager.h: Removed.
* src/libGLESv2/Shader.cpp: Removed.
* src/libGLESv2/Shader.h: Removed.
* src/libGLESv2/Texture.cpp: Removed.
* src/libGLESv2/Texture.h: Removed.
* src/libGLESv2/VertexDataManager.cpp: Removed.
* src/libGLESv2/VertexDataManager.h: Removed.
* src/libGLESv2/libGLESv2.cpp: Removed.
* src/libGLESv2/libGLESv2.def: Removed.
* src/libGLESv2/libGLESv2.rc: Removed.
* src/libGLESv2/libGLESv2.vcproj: Removed.
* src/libGLESv2/main.cpp: Removed.
* src/libGLESv2/main.h: Removed.
* src/libGLESv2/mathutil.h: Removed.
* src/libGLESv2/resource.h: Removed.
* src/libGLESv2/utilities.cpp: Removed.
* src/libGLESv2/utilities.h: Removed.
* src/libGLESv2/vertexconversion.h: Removed.
2012-12-18 Max Vujovic <mvujovic@adobe.com>
[ANGLE] Use of uninitialized memory in ArrayBoundsClamper
https://bugs.webkit.org/show_bug.cgi?id=105218
Reviewed by Dean Jackson.
TIntermBinary::addIndexClamp is uninitialized when the compile flag
SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase.
CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS
flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
that causes a shader to fail compilation at the WebGL level.
* src/compiler/intermediate.h:
(TIntermBinary::TIntermBinary):
2012-10-29 Anders Carlsson <andersca@apple.com>
Build WebKit as C++11 on Mac
https://bugs.webkit.org/show_bug.cgi?id=100720
Reviewed by Daniel Bates.
* Configurations/Base.xcconfig:
Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
2012-10-28 Mark Rowe <mrowe@apple.com>
Simplify Xcode configuration settings that used to vary between OS versions.
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
2012-10-28 Mark Rowe <mrowe@apple.com>
Remove references to unsupported OS and Xcode versions.
Reviewed by Anders Carlsson.
* Configurations/Base.xcconfig:
* Configurations/CompilerVersion.xcconfig: Removed.
* Configurations/DebugRelease.xcconfig:
2012-10-27 Dan Bernstein <mitz@apple.com>
REAL_PLATFORM_NAME build setting is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=100587
Reviewed by Mark Rowe.
Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
to PLATFORM_NAME.
* Configurations/Base.xcconfig:
* Configurations/CompilerVersion.xcconfig:
2012-10-18 Dean Jackson <dino@apple.com>
Shader translator needs option to clamp uniform array accesses in vertex shaders
https://bugs.webkit.org/show_bug.cgi?id=98977
https://code.google.com/p/angleproject/issues/detail?id=49
Reviewed by Alok Priyadarshi and Ken Russell.
WebGL does not allow GLSL code to index a uniform array outside its bounds. Add a
flag to the ANGLE compiler to insert clamp statements around such indexing.
Since it is possible to access vec2/3/4 and mat2/3/4 components by array indexing,
they must be similarly clamped.
Unfortunately, it is currently not possible to always determine that the indexing is
operating on a uniform variable. For example, suppose we have "uniform mat4 a". ANGLE
is currently not able to tell us that the rvalue of "a[0]" is a uniform, just that
it has a size of 4. Therefore, the clamping is done on all indirect array indexing.
This will have a performance impact. Future enhancements may be able to determine
cases where the clamping is not necessary. Currently only direct indexing is skipped
(i.e. looking up a value using a constant index).
The clamp insertion is only performed on the GLSL output. Direct3D already guarantees
that out-of-bounds uniform array access returns a zero value.
* ANGLE.xcodeproj/project.pbxproj:
* Target.pri:
* include/GLSLANG/ShaderLang.h: New compiler option.
* src/compiler/ArrayBoundsClamper.cpp: Added.
(ArrayBoundsClamper::ArrayBoundsClamper):
(ArrayBoundsClamper::OutputClampingFunctionDefinition): Injects a clamping function for integers into GLSL source.
(ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping): Examines the AST looking for non-direct array indexing.
* src/compiler/ArrayBoundsClamper.h: Added.
(ArrayBoundsClamper):
(ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
(ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded): Marks the object as needing to output the clamping function.
(ArrayBoundsClamper::Cleanup): Resets the state so that subsequent runs start fresh.
* src/compiler/Compiler.cpp:
(TCompiler::compile): Run the clamping code if the compile option was set.
(TCompiler::clearResults):
(TCompiler::getArrayBoundsClamper):
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::visitBinary): If the expression has been flagged, insert an appropriate "clamp" statement.
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/TranslatorESSL.cpp:
(TranslatorESSL::translate):
* src/compiler/TranslatorGLSL.cpp:
(TranslatorGLSL::translate):
* src/compiler/intermOut.cpp:
(TType::getCompleteString): Add array size to intermediate tree output.
* src/compiler/intermediate.h:
(TIntermBinary::setAddIndexClamp): New flag for indicating a binary expression needs clamping.
(TIntermBinary::getAddIndexClamp):
(TIntermBinary):
2012-09-13 Mark Rowe <mrowe@apple.com>
<rdar://problem/12255720> Fix the build with newer Clang
Reviewed by Sam Weinig.
Clang generates a warning about the inclusion of trailing commas on the final enum item as it's apparently
a C++11 extension. Remove them.
* src/compiler/BaseTypes.h:
* src/compiler/ExtensionBehavior.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::parseVectorFields):
* src/compiler/intermediate.h:
2012-09-13 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] The ANGLE build on Windows breaks with GnuWin32's flex because it is too old
https://bugs.webkit.org/show_bug.cgi?id=96359
Reviewed by Tor Arne Vestbø.
GnuWin32's flex is 2.5.4 and that is too old for ANGLE's preprocessor
lexer. The only viable alternative I could find on Windows that provides
binaries is the winflexbison distribution (http://sourceforge.net/projects/winflexbison/),
so let's use that one instead.
* DerivedSources.pri:
2012-09-12 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Build on Windows requires bison/flex in PATH
https://bugs.webkit.org/show_bug.cgi?id=96358
Reviewed by Tor Arne Vestbø.
Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise
the PATH prepend trick will break because it generates a command line along the lines of
(set PATH="...") && with just that trailing ampersand pair.
* DerivedSources.pri:
2012-09-10 Dean Jackson <dino@apple.com>
[Apple] Install plist for Apple Open Source build system
https://bugs.webkit.org/show_bug.cgi?id=96345
Reviewed by Mark Rowe.
Apple's build system requires a couple of files that describe where
the 3rd party Open Source library came from, and what license it
uses. These files are copied into /usr/local when the project is
being installed.
* ANGLE.plist: Added.
* ANGLE.txt: Added.
* ANGLE.xcodeproj/project.pbxproj:
2012-09-06 Andras Becsi <andras.becsi@nokia.com>
[ANGLE] Fix the build with gcc 4.7
https://bugs.webkit.org/show_bug.cgi?id=95989
Reviewed by Csaba Osztrogonác.
The build fails because of a bogus warning about the auto-generated
pplval variable. Unfortunately the warning is called -Wuninitialized
in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
ignore unknown pragmas not to break the build with compilers that do
not recognize these options.
* src/compiler/preprocessor/new/ExpressionParser.y:
2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
https://bugs.webkit.org/show_bug.cgi?id=95965
Reviewed by Tor Arne Vestbø.
Add build rules to build ANGLE as a static library for the Qt port.
* ANGLE.pri: Added.
* ANGLE.pro: Added.
* DerivedSources.pri: Added.
* Target.pri: Added.
2012-08-24 Joshua Netterfield <jnetterfield@rim.com>
[CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
https://bugs.webkit.org/show_bug.cgi?id=94736
http://code.google.com/p/angleproject/issues/detail?id=360
Reviewed by George Staikos.
When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
mNewFunctionName. This results in undefined behaviour in visitAggregate.
This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
sanitization.
* src/compiler/RenameFunction.h:
(RenameFunction::visitAggregate):
(RenameFunction):
2012-07-18 Kristóf Kosztyó <kkristof@inf.u-szeged.hu>
[Qt] Buildfix after r122870.
https://bugs.webkit.org/show_bug.cgi?id=89039
Reviewed by Csaba Osztrogonác
* src/compiler/preprocessor/new/MacroExpander.cpp:
(pp::MacroExpander::ungetToken):
2012-07-17 Max Vujovic <mvujovic@adobe.com>
Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=89039
Reviewed by Dean Jackson and Mark Rowe.
Update ANGLE to r1170, with the following modifications:
(1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
2.3. The changes have been contributed back to ANGLE in r1224.
(2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
in r1223.
(3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
in ANGLE under different folders. This caused problems on the QT build when their object
files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
DiagnosticBase.cpp avoids this conflict. The same situation occurred with
DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
updates.
(4) Add the following lines to glslang.y and ExpressionParser.y:
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
Bison 2.3 doesn't first check that these macros are defined before reading their value,
which causes the QT build to fail.
We work around this issue in the same way in CSSGrammar.y.
I will work on contributing this change back to ANGLE.
* ANGLE.xcodeproj/project.pbxproj:
* include/GLES2/gl2ext.h:
* include/GLSLANG/ShaderLang.h:
* src/build_angle.xcodeproj/project.pbxproj:
* src/common/angleutils.h:
* src/common/debug.cpp:
(gl):
(gl::output):
(gl::trace):
(gl::perfActive):
(gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
(gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
* src/common/version.h:
* src/compiler/BuiltInFunctionEmulator.cpp:
(BuiltInFunctionEmulator::IdentifyFunction):
* src/compiler/BuiltInFunctionEmulator.h:
* src/compiler/Compiler.cpp:
(isWebGLBasedSpec):
(TCompiler::compile):
(TCompiler::rewriteCSSShader):
(TCompiler::enforceTimingRestrictions):
(TCompiler::enforceFragmentShaderTimingRestrictions):
(TCompiler::enforceVertexShaderTimingRestrictions):
* src/compiler/DetectDiscontinuity.cpp: Added.
(sh::DetectLoopDiscontinuity::traverse):
(sh):
(sh::DetectLoopDiscontinuity::visitBranch):
(sh::DetectLoopDiscontinuity::visitAggregate):
(sh::containsLoopDiscontinuity):
(sh::DetectGradientOperation::traverse):
(sh::DetectGradientOperation::visitUnary):
(sh::DetectGradientOperation::visitAggregate):
(sh::containsGradientOperation):
* src/compiler/DetectDiscontinuity.h: Added.
(sh):
(DetectLoopDiscontinuity):
(DetectGradientOperation):
* src/compiler/Diagnostics.cpp: Added.
(TDiagnostics::TDiagnostics):
(TDiagnostics::~TDiagnostics):
(TDiagnostics::writeInfo):
(TDiagnostics::writeDebug):
(TDiagnostics::print):
* src/compiler/Diagnostics.h: Added.
(TDiagnostics):
(TDiagnostics::infoSink):
* src/compiler/DirectiveHandler.cpp: Added.
(getBehavior):
(TDirectiveHandler::TDirectiveHandler):
(TDirectiveHandler::~TDirectiveHandler):
(TDirectiveHandler::handleError):
(TDirectiveHandler::handlePragma):
(TDirectiveHandler::handleExtension):
(TDirectiveHandler::handleVersion):
* src/compiler/DirectiveHandler.h: Added.
(TDirectiveHandler):
(TDirectiveHandler::pragma):
(TDirectiveHandler::extensionBehavior):
* src/compiler/ExtensionBehavior.h:
(getBehaviorString):
* src/compiler/Initialize.cpp:
(BuiltInConstants):
(TBuiltIns::initialize):
(IdentifyBuiltIns):
* src/compiler/InitializeParseContext.cpp: Added.
(InitializeParseContextIndex):
(FreeParseContextIndex):
(InitializeGlobalParseContext):
(FreeParseContext):
(GetGlobalParseContext):
* src/compiler/InitializeParseContext.h:
(TThreadParseContextRec):
* src/compiler/Intermediate.cpp:
(TIntermediate::addSelection):
* src/compiler/MapLongVariableNames.cpp:
* src/compiler/OutputHLSL.cpp:
(sh::str):
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::~OutputHLSL):
(sh::OutputHLSL::output):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitUnary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::traverseStatements):
(sh):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::decorateField):
* src/compiler/OutputHLSL.h:
(sh):
(OutputHLSL):
* src/compiler/ParseHelper.cpp:
(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::trace):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::constErrorCheck):
(TParseContext::integerErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::arraySetMaxSize):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::handleExtensionDirective):
(TParseContext::handlePragmaDirective):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::structNestingErrorCheck):
(PaParseStrings):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
(TParseContext):
(TParseContext::infoSink):
(TParseContext::extensionBehavior):
(TParseContext::pragma):
* src/compiler/PoolAlloc.cpp:
(TAllocation::checkGuardBlock):
* src/compiler/Pragma.h: Added.
(TPragma):
(TPragma::TPragma):
* src/compiler/RenameFunction.h: Added.
(RenameFunction):
(RenameFunction::RenameFunction):
(RenameFunction::visitAggregate):
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/ShaderLang.cpp:
(getVariableInfo):
* src/compiler/SymbolTable.cpp:
(TType::buildMangledName):
* src/compiler/TranslatorHLSL.cpp:
* src/compiler/UnfoldSelect.cpp: Removed.
* src/compiler/UnfoldSelect.h: Removed.
* src/compiler/UnfoldShortCircuit.cpp: Added.
(sh::UnfoldShortCircuit::UnfoldShortCircuit):
(sh):
(sh::UnfoldShortCircuit::traverse):
(sh::UnfoldShortCircuit::visitBinary):
(sh::UnfoldShortCircuit::visitSelection):
(sh::UnfoldShortCircuit::visitLoop):
(sh::UnfoldShortCircuit::getNextTemporaryIndex):
* src/compiler/UnfoldShortCircuit.h: Added.
(sh):
(UnfoldShortCircuit):
* src/compiler/ValidateLimitations.cpp:
* src/compiler/debug.cpp:
* src/compiler/depgraph: Added.
* src/compiler/depgraph/DependencyGraph.cpp: Added.
(TDependencyGraph::TDependencyGraph):
(TDependencyGraph::~TDependencyGraph):
(TDependencyGraph::createArgument):
(TDependencyGraph::createFunctionCall):
(TDependencyGraph::getOrCreateSymbol):
(TDependencyGraph::createSelection):
(TDependencyGraph::createLoop):
(TDependencyGraph::createLogicalOp):
(TGraphLogicalOp::getOpString):
* src/compiler/depgraph/DependencyGraph.h: Added.
(TGraphNode):
(TGraphNode::TGraphNode):
(TGraphNode::~TGraphNode):
(TGraphParentNode):
(TGraphParentNode::TGraphParentNode):
(TGraphParentNode::~TGraphParentNode):
(TGraphParentNode::addDependentNode):
(TGraphArgument):
(TGraphArgument::TGraphArgument):
(TGraphArgument::~TGraphArgument):
(TGraphArgument::getIntermFunctionCall):
(TGraphArgument::getArgumentNumber):
(TGraphFunctionCall):
(TGraphFunctionCall::TGraphFunctionCall):
(TGraphFunctionCall::~TGraphFunctionCall):
(TGraphFunctionCall::getIntermFunctionCall):
(TGraphSymbol):
(TGraphSymbol::TGraphSymbol):
(TGraphSymbol::~TGraphSymbol):
(TGraphSymbol::getIntermSymbol):
(TGraphSelection):
(TGraphSelection::TGraphSelection):
(TGraphSelection::~TGraphSelection):
(TGraphSelection::getIntermSelection):
(TGraphLoop):
(TGraphLoop::TGraphLoop):
(TGraphLoop::~TGraphLoop):
(TGraphLoop::getIntermLoop):
(TGraphLogicalOp):
(TGraphLogicalOp::TGraphLogicalOp):
(TGraphLogicalOp::~TGraphLogicalOp):
(TGraphLogicalOp::getIntermLogicalOp):
(TDependencyGraph):
(TDependencyGraph::begin):
(TDependencyGraph::end):
(TDependencyGraph::beginSamplerSymbols):
(TDependencyGraph::endSamplerSymbols):
(TDependencyGraph::beginUserDefinedFunctionCalls):
(TDependencyGraph::endUserDefinedFunctionCalls):
(TDependencyGraphTraverser):
(TDependencyGraphTraverser::TDependencyGraphTraverser):
(TDependencyGraphTraverser::visitSymbol):
(TDependencyGraphTraverser::visitArgument):
(TDependencyGraphTraverser::visitFunctionCall):
(TDependencyGraphTraverser::visitSelection):
(TDependencyGraphTraverser::visitLoop):
(TDependencyGraphTraverser::visitLogicalOp):
(TDependencyGraphTraverser::getDepth):
(TDependencyGraphTraverser::incrementDepth):
(TDependencyGraphTraverser::decrementDepth):
(TDependencyGraphTraverser::clearVisited):
(TDependencyGraphTraverser::markVisited):
(TDependencyGraphTraverser::isVisited):
* src/compiler/depgraph/DependencyGraphBuilder.cpp: Added.
(TDependencyGraphBuilder::build):
(TDependencyGraphBuilder::visitAggregate):
(TDependencyGraphBuilder::visitFunctionDefinition):
(TDependencyGraphBuilder::visitFunctionCall):
(TDependencyGraphBuilder::visitAggregateChildren):
(TDependencyGraphBuilder::visitSymbol):
(TDependencyGraphBuilder::visitBinary):
(TDependencyGraphBuilder::visitAssignment):
(TDependencyGraphBuilder::visitLogicalOp):
(TDependencyGraphBuilder::visitBinaryChildren):
(TDependencyGraphBuilder::visitSelection):
(TDependencyGraphBuilder::visitLoop):
(TDependencyGraphBuilder::connectMultipleNodesToSingleNode):
* src/compiler/depgraph/DependencyGraphBuilder.h: Added.
(TDependencyGraphBuilder):
(TNodeSetStack):
(TDependencyGraphBuilder::TNodeSetStack::TNodeSetStack):
(TDependencyGraphBuilder::TNodeSetStack::~TNodeSetStack):
(TDependencyGraphBuilder::TNodeSetStack::getTopSet):
(TDependencyGraphBuilder::TNodeSetStack::pushSet):
(TDependencyGraphBuilder::TNodeSetStack::popSet):
(TDependencyGraphBuilder::TNodeSetStack::popSetIntoNext):
(TDependencyGraphBuilder::TNodeSetStack::insertIntoTopSet):
(TDependencyGraphBuilder::TNodeSetStack::clear):
(TNodeSetMaintainer):
(TDependencyGraphBuilder::TNodeSetMaintainer::TNodeSetMaintainer):
(TDependencyGraphBuilder::TNodeSetMaintainer::~TNodeSetMaintainer):
(TNodeSetPropagatingMaintainer):
(TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::TNodeSetPropagatingMaintainer):
(TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::~TNodeSetPropagatingMaintainer):
(TLeftmostSymbolMaintainer):
(TDependencyGraphBuilder::TLeftmostSymbolMaintainer::TLeftmostSymbolMaintainer):
(TDependencyGraphBuilder::TLeftmostSymbolMaintainer::~TLeftmostSymbolMaintainer):
(TDependencyGraphBuilder::TDependencyGraphBuilder):
(TDependencyGraphBuilder::build):
* src/compiler/depgraph/DependencyGraphOutput.cpp: Added.
(TDependencyGraphOutput::outputIndentation):
(TDependencyGraphOutput::visitArgument):
(TDependencyGraphOutput::visitFunctionCall):
(TDependencyGraphOutput::visitSymbol):
(TDependencyGraphOutput::visitSelection):
(TDependencyGraphOutput::visitLoop):
(TDependencyGraphOutput::visitLogicalOp):
(TDependencyGraphOutput::outputAllSpanningTrees):
* src/compiler/depgraph/DependencyGraphOutput.h: Added.
(TDependencyGraphOutput):
(TDependencyGraphOutput::TDependencyGraphOutput):
* src/compiler/depgraph/DependencyGraphTraverse.cpp: Added.
(TGraphNode::traverse):
(TGraphParentNode::traverse):
(TGraphArgument::traverse):
(TGraphFunctionCall::traverse):
(TGraphSymbol::traverse):
(TGraphSelection::traverse):
(TGraphLoop::traverse):
(TGraphLogicalOp::traverse):
* src/compiler/glslang.h:
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(yy_buffer_state):
(yyguts_t):
(yy_get_previous_state):
(yy_try_NUL_trans):
(input):
(yyensure_buffer_stack):
(yy_scan_bytes):
(yyget_leng):
(string_input):
(yyerror):
(glslang_finalize):
(glslang_scan):
* src/compiler/glslang_tab.cpp:
* src/compiler/intermediate.h:
(TIntermAggregate::TIntermAggregate):
(TIntermAggregate::~TIntermAggregate):
(TIntermAggregate::isUserDefined):
(TIntermAggregate):
(TIntermTraverser::~TIntermTraverser):
* src/compiler/osinclude.h:
* src/compiler/preprocessor/atom.c:
(FindHashLoc):
(PrintAtomTable):
* src/compiler/preprocessor/cpp.c:
(CPPpragma):
(readCPPline):
(PredefineIntMacro):
(MacroExpand):
* src/compiler/preprocessor/cpp.h:
* src/compiler/preprocessor/memory.h:
* 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.
* src/compiler/preprocessor/new/Context.cpp: Removed.
* src/compiler/preprocessor/new/Context.h: Removed.
* src/compiler/preprocessor/new/Diagnostics.h: Added.
(pp):
(Diagnostics):
* src/compiler/preprocessor/new/DiagnosticsBase.cpp: Added.
(pp):
(pp::Diagnostics::~Diagnostics):
(pp::Diagnostics::report):
(pp::Diagnostics::severity):
* src/compiler/preprocessor/new/DirectiveHandler.h: Added.
(pp):
(DirectiveHandler):
* src/compiler/preprocessor/new/DirectiveHandlerBase.cpp: Added.
(pp):
(pp::DirectiveHandler::~DirectiveHandler):
* src/compiler/preprocessor/new/DirectiveParser.cpp: Added.
(getDirective):
(isConditionalDirective):
(isEOD):
(skipUntilEOD):
(isMacroNameReserved):
(isMacroPredefined):
(pp):
(DefinedParser):
(pp::DefinedParser::DefinedParser):
(pp::DefinedParser::lex):
(pp::DirectiveParser::DirectiveParser):
(pp::DirectiveParser::lex):
(pp::DirectiveParser::parseDirective):
(pp::DirectiveParser::parseDefine):
(pp::DirectiveParser::parseUndef):
(pp::DirectiveParser::parseIf):
(pp::DirectiveParser::parseIfdef):
(pp::DirectiveParser::parseIfndef):
(pp::DirectiveParser::parseElse):
(pp::DirectiveParser::parseElif):
(pp::DirectiveParser::parseEndif):
(pp::DirectiveParser::parseError):
(pp::DirectiveParser::parsePragma):
(pp::DirectiveParser::parseExtension):
(pp::DirectiveParser::parseVersion):
(pp::DirectiveParser::parseLine):
(pp::DirectiveParser::skipping):
(pp::DirectiveParser::parseConditionalIf):
(pp::DirectiveParser::parseExpressionIf):
(pp::DirectiveParser::parseExpressionIfdef):
* src/compiler/preprocessor/new/DirectiveParser.h: Added.
(pp):
(DirectiveParser):
(ConditionalBlock):
(pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
* src/compiler/preprocessor/new/ExpressionParser.cpp: Added.
(yysyntax_error):
(yylex):
(yyerror):
(pp):
(pp::ExpressionParser::ExpressionParser):
(pp::ExpressionParser::parse):
* src/compiler/preprocessor/new/ExpressionParser.h: Added.
(pp):
(ExpressionParser):
* src/compiler/preprocessor/new/ExpressionParser.y: Added.
* src/compiler/preprocessor/new/Input.cpp: Added property allow-tabs.
(pp::Input::Input):
(pp::Input::read):
* src/compiler/preprocessor/new/Input.h: Added property allow-tabs.
(pp):
(Input):
(pp::Input::count):
(pp::Input::string):
(pp::Input::length):
(Location):
(pp::Input::Location::Location):
(pp::Input::readLoc):
* src/compiler/preprocessor/new/Lexer.cpp: Added.
(pp):
(pp::Lexer::~Lexer):
* src/compiler/preprocessor/new/Lexer.h: Added.
(pp):
(Lexer):
* src/compiler/preprocessor/new/Macro.cpp: Added property allow-tabs.
(pp::Macro::equals):
* src/compiler/preprocessor/new/Macro.h: Added property allow-tabs.
(pp):
(pp::Macro::Macro):
(Macro):
* src/compiler/preprocessor/new/MacroExpander.cpp: Added.
(pp):
(TokenLexer):
(pp::TokenLexer::TokenLexer):
(pp::TokenLexer::lex):
(pp::MacroExpander::MacroExpander):
(pp::MacroExpander::~MacroExpander):
(pp::MacroExpander::lex):
(pp::MacroExpander::getToken):
(pp::MacroExpander::ungetToken):
(pp::MacroExpander::isNextTokenLeftParen):
(pp::MacroExpander::pushMacro):
(pp::MacroExpander::popMacro):
(pp::MacroExpander::expandMacro):
(pp::MacroExpander::collectMacroArgs):
(pp::MacroExpander::replaceMacroParams):
* src/compiler/preprocessor/new/MacroExpander.h: Added.
(pp):
(MacroExpander):
(MacroContext):
(pp::MacroExpander::MacroContext::MacroContext):
(pp::MacroExpander::MacroContext::empty):
(pp::MacroExpander::MacroContext::get):
(pp::MacroExpander::MacroContext::unget):
* src/compiler/preprocessor/new/Preprocessor.cpp: Added property allow-tabs.
(PreprocessorImpl):
(pp::PreprocessorImpl::PreprocessorImpl):
(pp):
(pp::Preprocessor::Preprocessor):
(pp::Preprocessor::~Preprocessor):
(pp::Preprocessor::init):
(pp::Preprocessor::predefineMacro):
(pp::Preprocessor::lex):
* src/compiler/preprocessor/new/Preprocessor.h: Added property allow-tabs.
(pp):
(Preprocessor):
* src/compiler/preprocessor/new/SourceLocation.h: Added.
(pp):
(pp::SourceLocation::SourceLocation):
(SourceLocation):
(pp::SourceLocation::equals):
(pp::operator==):
(pp::operator!=):
* src/compiler/preprocessor/new/Token.cpp: Added property allow-tabs.
(pp::Token::reset):
(pp::Token::equals):
(pp::Token::setAtStartOfLine):
(pp::Token::setHasLeadingSpace):
(pp):
(pp::Token::setExpansionDisabled):
(pp::operator<<):
* src/compiler/preprocessor/new/Token.h: Added property allow-tabs.
(pp::Token::Token):
(Token):
(pp::Token::atStartOfLine):
(pp::Token::hasLeadingSpace):
(pp::Token::expansionDisabled):
(pp::operator==):
(pp):
(pp::operator!=):
* src/compiler/preprocessor/new/Tokenizer.cpp: Added.
(yy_buffer_state):
(yy_trans_info):
(yyguts_t):
(yy_get_previous_state):
(yy_try_NUL_trans):
(input):
(pprestart):
(pp_switch_to_buffer):
(pp_load_buffer_state):
(pp_create_buffer):
(pp_delete_buffer):
(pp_init_buffer):
(pp_flush_buffer):
(pppush_buffer_state):
(pppop_buffer_state):
(ppensure_buffer_stack):
(pp_scan_buffer):
(pp_scan_string):
(pp_scan_bytes):
(yy_fatal_error):
(ppget_extra):
(ppget_lineno):
(ppget_column):
(ppget_in):
(ppget_out):
(ppget_leng):
(ppget_text):
(ppset_extra):
(ppset_lineno):
(ppset_column):
(ppset_in):
(ppset_out):
(ppget_debug):
(ppset_debug):
(ppget_lval):
(ppset_lval):
(ppget_lloc):
(ppset_lloc):
(pplex_init):
(pplex_init_extra):
(yy_init_globals):
(pplex_destroy):
(yy_flex_strncpy):
(yy_flex_strlen):
(ppalloc):
(pprealloc):
(ppfree):
(pp):
(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::~Tokenizer):
(pp::Tokenizer::init):
(pp::Tokenizer::setFileNumber):
(pp::Tokenizer::setLineNumber):
(pp::Tokenizer::lex):
(pp::Tokenizer::initScanner):
(pp::Tokenizer::destroyScanner):
* src/compiler/preprocessor/new/Tokenizer.h: Added.
(pp):
(Tokenizer):
(Context):
* src/compiler/preprocessor/new/Tokenizer.l: Added.
* src/compiler/preprocessor/new/generate_parser.sh: Added property allow-tabs.
* src/compiler/preprocessor/new/pp.l: Removed.
* src/compiler/preprocessor/new/pp.y: Removed.
* src/compiler/preprocessor/new/pp_lex.cpp: Removed.
* src/compiler/preprocessor/new/pp_tab.cpp: Removed.
* src/compiler/preprocessor/new/pp_tab.h: Removed.
* src/compiler/preprocessor/new/pp_utils.h: Added.
* src/compiler/preprocessor/new/preprocessor.vcproj: Added.
* src/compiler/preprocessor/new/stl_utils.h: Removed.
* src/compiler/preprocessor/new/token_type.h: Removed.
* src/compiler/preprocessor/preprocess.h:
* src/compiler/preprocessor/scanner.c:
(InitScannerInput):
* src/compiler/preprocessor/scanner.h:
* src/compiler/preprocessor/symbols.h:
* src/compiler/preprocessor/tokens.c:
(ReadToken):
(DumpTokenStream):
* src/compiler/preprocessor/tokens.h:
* src/compiler/timing: Added.
* src/compiler/timing/RestrictFragmentShaderTiming.cpp: Added.
(RestrictFragmentShaderTiming::RestrictFragmentShaderTiming):
(RestrictFragmentShaderTiming::enforceRestrictions):
(RestrictFragmentShaderTiming::validateUserDefinedFunctionCallUsage):
(RestrictFragmentShaderTiming::beginError):
(RestrictFragmentShaderTiming::isSamplingOp):
(RestrictFragmentShaderTiming::visitArgument):
(RestrictFragmentShaderTiming::visitSelection):
(RestrictFragmentShaderTiming::visitLoop):
(RestrictFragmentShaderTiming::visitLogicalOp):
* src/compiler/timing/RestrictFragmentShaderTiming.h: Added.
(RestrictFragmentShaderTiming):
(RestrictFragmentShaderTiming::numErrors):
* src/compiler/timing/RestrictVertexShaderTiming.cpp: Added.
(RestrictVertexShaderTiming::visitSymbol):
* src/compiler/timing/RestrictVertexShaderTiming.h: Added.
(RestrictVertexShaderTiming):
(RestrictVertexShaderTiming::RestrictVertexShaderTiming):
(RestrictVertexShaderTiming::enforceRestrictions):
(RestrictVertexShaderTiming::numErrors):
* src/libEGL/Display.cpp:
(egl):
(egl::Display::getDepthTextureSupport):
(egl::Display::getTexturePool):
* src/libEGL/Display.h:
(Display):
* src/libEGL/Surface.cpp:
(egl::Surface::Surface):
(egl::Surface::release):
(egl::Surface::resetSwapChain):
(egl::Surface::swapRect):
(egl):
(egl::Surface::swap):
(egl::Surface::postSubBuffer):
* src/libEGL/Surface.h:
(Surface):
* src/libEGL/libEGL.cpp:
* src/libGLESv2/Context.cpp:
(gl::Context::makeCurrent):
(gl::Context::markDxUniformsDirty):
(gl):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyShaders):
(gl::Context::applyTextures):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::supportsDepthTextures):
(gl::Context::initExtensionString):
(gl::Context::blitFramebuffer):
(gl::VertexDeclarationCache::applyDeclaration):
* src/libGLESv2/Context.h:
(Context):
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::~Framebuffer):
(gl):
(gl::Framebuffer::getNullColorbuffer):
(gl::Framebuffer::completeness):
* src/libGLESv2/Framebuffer.h:
(Framebuffer):
* src/libGLESv2/Program.cpp:
(gl):
(gl::AttributeBindings::AttributeBindings):
(gl::AttributeBindings::~AttributeBindings):
(gl::InfoLog::InfoLog):
(gl::InfoLog::~InfoLog):
(gl::InfoLog::getLength):
(gl::InfoLog::getLog):
(gl::InfoLog::appendSanitized):
(gl::InfoLog::append):
(gl::InfoLog::reset):
(gl::Program::Program):
(gl::Program::~Program):
(gl::Program::attachShader):
(gl::Program::detachShader):
(gl::Program::getAttachedShadersCount):
(gl::AttributeBindings::bindAttributeLocation):
(gl::Program::bindAttributeLocation):
(gl::Program::link):
(gl::AttributeBindings::getAttributeBinding):
(gl::Program::unlink):
(gl::Program::getProgramBinary):
(gl::Program::setProgramBinary):
(gl::Program::getInfoLogLength):
(gl::Program::getInfoLog):
(gl::Program::getActiveAttribute):
(gl::Program::getActiveAttributeCount):
(gl::Program::getActiveAttributeMaxLength):
(gl::Program::getActiveUniform):
(gl::Program::getActiveUniformCount):
(gl::Program::getActiveUniformMaxLength):
(gl::Program::validate):
(gl::Program::isValidated):
* src/libGLESv2/Program.h:
(gl):
(AttributeBindings):
(InfoLog):
(Program):
* src/libGLESv2/ProgramBinary.cpp: Added.
(gl::str):
(gl):
(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::UniformLocation::UniformLocation):
(gl::ProgramBinary::ProgramBinary):
(gl::ProgramBinary::~ProgramBinary):
(gl::ProgramBinary::getPixelShader):
(gl::ProgramBinary::getVertexShader):
(gl::ProgramBinary::getAttributeLocation):
(gl::ProgramBinary::getSemanticIndex):
(gl::ProgramBinary::getUsedSamplerRange):
(gl::ProgramBinary::getSamplerMapping):
(gl::ProgramBinary::getSamplerTextureType):
(gl::ProgramBinary::getUniformLocation):
(gl::ProgramBinary::setUniform1fv):
(gl::ProgramBinary::setUniform2fv):
(gl::ProgramBinary::setUniform3fv):
(gl::ProgramBinary::setUniform4fv):
(gl::transposeMatrix):
(gl::ProgramBinary::setUniformMatrix2fv):
(gl::ProgramBinary::setUniformMatrix3fv):
(gl::ProgramBinary::setUniformMatrix4fv):
(gl::ProgramBinary::setUniform1iv):
(gl::ProgramBinary::setUniform2iv):
(gl::ProgramBinary::setUniform3iv):
(gl::ProgramBinary::setUniform4iv):
(gl::ProgramBinary::getUniformfv):
(gl::ProgramBinary::getUniformiv):
(gl::ProgramBinary::dirtyAllUniforms):
(gl::ProgramBinary::applyUniforms):
(gl::ProgramBinary::compileToBinary):
(gl::ProgramBinary::packVaryings):
(gl::ProgramBinary::linkVaryings):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::ProgramBinary::linkUniforms):
(gl::ProgramBinary::defineUniform):
(gl::ProgramBinary::createUniform):
(gl::ProgramBinary::decorateAttribute):
(gl::ProgramBinary::undecorateUniform):
(gl::ProgramBinary::applyUniformnbv):
(gl::ProgramBinary::applyUniformnfv):
(gl::ProgramBinary::applyUniform1iv):
(gl::ProgramBinary::applyUniform2iv):
(gl::ProgramBinary::applyUniform3iv):
(gl::ProgramBinary::applyUniform4iv):
(gl::ProgramBinary::applyUniformniv):
(gl::ProgramBinary::isValidated):
(gl::ProgramBinary::getActiveAttribute):
(gl::ProgramBinary::getActiveAttributeCount):
(gl::ProgramBinary::getActiveAttributeMaxLength):
(gl::ProgramBinary::getActiveUniform):
(gl::ProgramBinary::getActiveUniformCount):
(gl::ProgramBinary::getActiveUniformMaxLength):
(gl::ProgramBinary::validate):
(gl::ProgramBinary::validateSamplers):
(gl::ProgramBinary::getDxDepthRangeLocation):
(gl::ProgramBinary::getDxDepthLocation):
(gl::ProgramBinary::getDxCoordLocation):
(gl::ProgramBinary::getDxHalfPixelSizeLocation):
(gl::ProgramBinary::getDxFrontCCWLocation):
(gl::ProgramBinary::getDxPointsOrLinesLocation):
* src/libGLESv2/ProgramBinary.h: Added.
(gl):
(Uniform):
(gl::Uniform::RegisterInfo::RegisterInfo):
(RegisterInfo):
(gl::Uniform::RegisterInfo::set):
(UniformLocation):
(ProgramBinary):
(Sampler):
* src/libGLESv2/Renderbuffer.cpp:
(gl):
(gl::RenderbufferTexture2D::RenderbufferTexture2D):
(gl::RenderbufferTexture2D::~RenderbufferTexture2D):
(gl::RenderbufferTexture2D::addProxyRef):
(gl::RenderbufferTexture2D::releaseProxy):
(gl::RenderbufferTexture2D::getRenderTarget):
(gl::RenderbufferTexture2D::getDepthStencil):
(gl::RenderbufferTexture2D::getWidth):
(gl::RenderbufferTexture2D::getHeight):
(gl::RenderbufferTexture2D::getInternalFormat):
(gl::RenderbufferTexture2D::getD3DFormat):
(gl::RenderbufferTexture2D::getSamples):
(gl::RenderbufferTexture2D::getSerial):
(gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
(gl::RenderbufferTextureCubeMap::addProxyRef):
(gl::RenderbufferTextureCubeMap::releaseProxy):
(gl::RenderbufferTextureCubeMap::getRenderTarget):
(gl::RenderbufferTextureCubeMap::getDepthStencil):
(gl::RenderbufferTextureCubeMap::getWidth):
(gl::RenderbufferTextureCubeMap::getHeight):
(gl::RenderbufferTextureCubeMap::getInternalFormat):
(gl::RenderbufferTextureCubeMap::getD3DFormat):
(gl::RenderbufferTextureCubeMap::getSamples):
(gl::RenderbufferTextureCubeMap::getSerial):
(gl::DepthStencilbuffer::getDepthStencil):
* src/libGLESv2/Renderbuffer.h:
(gl):
(RenderbufferTexture2D):
(RenderbufferTextureCubeMap):
* src/libGLESv2/Shader.cpp:
(gl::Shader::getInfoLog):
(gl::Shader::getSourceImpl):
* src/libGLESv2/Shader.h:
(Shader):
(VertexShader):
* src/libGLESv2/Texture.cpp:
(gl::ConvertTextureFormatType):
(gl::IsTextureFormatRenderable):
(gl::GetTextureUsage):
(gl):
(gl::Image::createSurface):
(gl::Image::updateSurface):
(gl::Image::loadData):
(gl::Image::loadAlphaData):
(gl::Image::loadAlphaDataSSE2):
(gl::Image::loadAlphaFloatData):
(gl::Image::loadAlphaHalfFloatData):
(gl::Image::loadLuminanceData):
(gl::Image::loadLuminanceFloatData):
(gl::Image::loadLuminanceHalfFloatData):
(gl::Image::loadLuminanceAlphaData):
(gl::Image::loadLuminanceAlphaFloatData):
(gl::Image::loadLuminanceAlphaHalfFloatData):
(gl::Image::loadRGBUByteData):
(gl::Image::loadRGB565Data):
(gl::Image::loadRGBFloatData):
(gl::Image::loadRGBHalfFloatData):
(gl::Image::loadRGBAUByteDataSSE2):
(gl::Image::loadRGBAUByteData):
(gl::Image::loadRGBA4444Data):
(gl::Image::loadRGBA5551Data):
(gl::Image::loadRGBAFloatData):
(gl::Image::loadRGBAHalfFloatData):
(gl::Image::loadBGRAData):
(gl::Image::loadCompressedData):
(gl::Image::copy):
(gl::TextureStorage::TextureStorage):
(gl::TextureStorage::isRenderTarget):
(gl::TextureStorage::getUsage):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::TextureStorage2D::TextureStorage2D):
(gl::Texture2D::getInternalFormat):
(gl::Texture2D::getD3DFormat):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::storage):
(gl::Texture2D::isSamplerComplete):
(gl::Texture2D::isCompressed):
(gl::Texture2D::isDepth):
(gl::Texture2D::createTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::getRenderbuffer):
(gl::Texture2D::getRenderTarget):
(gl::Texture2D::getDepthStencil):
(gl::TextureStorageCubeMap::TextureStorageCubeMap):
(gl::TextureCubeMap::getWidth):
(gl::TextureCubeMap::getHeight):
(gl::TextureCubeMap::getInternalFormat):
(gl::TextureCubeMap::getD3DFormat):
(gl::TextureCubeMap::isSamplerComplete):
(gl::TextureCubeMap::isCompressed):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::storage):
(gl::TextureCubeMap::getRenderbuffer):
* src/libGLESv2/Texture.h:
(Image):
(TextureStorage):
(Texture):
(TextureStorage2D):
(Texture2D):
(TextureStorageCubeMap):
(TextureCubeMap):
* src/libGLESv2/VertexDataManager.cpp:
(gl::VertexDataManager::prepareVertexData):
* src/libGLESv2/libGLESv2.cpp:
(checkTextureFormatType):
(validateSubImageParams2D):
(validateSubImageParamsCube):
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/mathutil.h:
(gl):
* src/libGLESv2/utilities.cpp:
(gl::IsDepthTexture):
(gl):
(gl::ComputePixelSize):
(gl::ExtractFormat):
(gl::ExtractType):
(es2dx::ConvertCubeFace):
(es2dx::ConvertRenderbufferFormat):
(dx2es::GetStencilSize):
(dx2es::GetDepthSize):
(dx2es::IsDepthTextureFormat):
(dx2es):
(dx2es::IsStencilTextureFormat):
(dx2es::ConvertDepthStencilFormat):
* src/libGLESv2/utilities.h:
(gl):
(dx2es):
2012-07-11 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
Reviewed by Dan Bernstein.
The deployment target is already set to the version that we're targeting, and it's that setting
which determines which functionality from the SDK is available to us.
* Configurations/Base.xcconfig:
2012-06-22 Joshua Netterfield <jnetterfield@rim.com>
[BlackBerry] Sanitize GLSL code using ANGLE.
BlackBerry port does not sanitize GLSL code with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=89583
Reviewed by Rob Buis.
* src/compiler/osinclude.h: Recognises QNX as POSIX
2012-03-26 Dean Jackson <dino@apple.com>
Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=81717
Reviewed by Kenneth Russell.
Update angleproject to r1009. Synced the source directory
between the angle repository and WebKit. Ran the OS X Lion
version of Bison over the glslang.l input which generates
a slightly different output than angle provided.
* include/EGL/eglext.h:
* include/GLES2/gl2ext.h:
* include/GLSLANG/ShaderLang.h:
* src/common/RefCountObject.cpp: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.cpp.
(RefCountObject::RefCountObject):
(RefCountObject::~RefCountObject):
(RefCountObject::addRef):
(RefCountObject::release):
(RefCountObjectBindingPointer::set):
* src/common/RefCountObject.h: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.h.
(RefCountObject):
(RefCountObject::id):
(RefCountObjectBindingPointer):
(RefCountObjectBindingPointer::RefCountObjectBindingPointer):
(RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
(RefCountObjectBindingPointer::get):
(RefCountObjectBindingPointer::id):
(RefCountObjectBindingPointer::operator ! ):
(BindingPointer):
(BindingPointer::set):
(BindingPointer::get):
(BindingPointer::operator -> ):
* src/common/debug.cpp:
(gl::output):
* src/common/version.h:
* src/compiler/BaseTypes.h:
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::~TCompiler):
(TCompiler::mapLongVariableNames):
* src/compiler/ConstantUnion.h:
(ConstantUnion::ConstantUnion):
(ConstantUnion::operator==):
(ConstantUnion::operator>):
(ConstantUnion::operator<):
* src/compiler/Intermediate.cpp:
(TIntermConstantUnion::fold):
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::LongNameMap):
(LongNameMap::~LongNameMap):
(LongNameMap::GetInstance):
(LongNameMap::Release):
(LongNameMap::Find):
(LongNameMap::Insert):
(LongNameMap::Size):
(MapLongVariableNames::MapLongVariableNames):
(MapLongVariableNames::visitSymbol):
(MapLongVariableNames::mapGlobalLongName):
* src/compiler/MapLongVariableNames.h:
(LongNameMap):
(MapLongVariableNames):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitUnary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::decorateUniform):
* src/compiler/OutputHLSL.h:
(OutputHLSL):
* src/compiler/PoolAlloc.cpp:
(TAllocation::checkGuardBlock):
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/SymbolTable.cpp:
* src/compiler/SymbolTable.h:
(TSymbolTable):
(TSymbolTable::getOuterLevel):
* src/compiler/VariableInfo.cpp:
(getVariableDataType):
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(yy_buffer_state):
(yyguts_t):
(input):
(yyensure_buffer_stack):
(yy_scan_bytes):
(yyget_leng):
* src/compiler/glslang_tab.cpp:
* src/compiler/osinclude.h:
* src/compiler/preprocessor/cpp.c:
* src/compiler/preprocessor/memory.c:
* src/compiler/preprocessor/new/Context.cpp: Added.
(isMacroNameReserved):
(pp):
(pp::Context::Context):
(pp::Context::~Context):
(pp::Context::init):
(pp::Context::process):
(pp::Context::defineMacro):
(pp::Context::undefineMacro):
(pp::Context::isMacroDefined):
(pp::Context::reset):
(pp::Context::defineBuiltInMacro):
* src/compiler/preprocessor/new/Context.h: Added.
(pp):
(Context):
(pp::Context::lexer):
(pp::Context::output):
* src/compiler/preprocessor/new/Input.cpp: Added.
(pp):
(pp::Input::Input):
(pp::Input::eof):
(pp::Input::read):
(pp::Input::getChar):
(pp::Input::peekChar):
(pp::Input::switchToNextString):
(pp::Input::isStringEmpty):
(pp::Input::stringLength):
* src/compiler/preprocessor/new/Input.h: Added.
(pp):
(Input):
(pp::Input::error):
(pp::Input::stringIndex):
* src/compiler/preprocessor/new/Macro.cpp: Added.
(pp):
(pp::Macro::Macro):
(pp::Macro::~Macro):
* src/compiler/preprocessor/new/Macro.h: Added.
(pp):
(Macro):
(pp::Macro::type):
(pp::Macro::identifier):
(pp::Macro::parameters):
(pp::Macro::replacements):
* src/compiler/preprocessor/new/Preprocessor.cpp: Added.
(pp):
(pp::Preprocessor::Preprocessor):
(pp::Preprocessor::~Preprocessor):
(pp::Preprocessor::init):
(pp::Preprocessor::process):
(pp::Preprocessor::reset):
* src/compiler/preprocessor/new/Preprocessor.h: Added.
(pp):
(Preprocessor):
(pp::Preprocessor::begin):
(pp::Preprocessor::end):
* src/compiler/preprocessor/new/Token.cpp: Added.
(pp):
(pp::Token::encodeLocation):
(pp::Token::decodeLocation):
(pp::Token::Token):
(pp::Token::~Token):
(pp::operator<<):
* src/compiler/preprocessor/new/Token.h: Added.
(pp):
(Token):
(pp::Token::location):
(pp::Token::type):
(pp::Token::value):
* src/compiler/preprocessor/new/generate_parser.sh: Added.
* src/compiler/preprocessor/new/pp.l: Added.
* src/compiler/preprocessor/new/pp.y: Added.
* src/compiler/preprocessor/new/pp_lex.cpp: Added.
(yy_buffer_state):
(yy_trans_info):
(yyguts_t):
(yy_get_previous_state):
(yy_try_NUL_trans):
(input):
(pprestart):
(pp_switch_to_buffer):
(pp_load_buffer_state):
(pp_create_buffer):
(pp_delete_buffer):
(pp_init_buffer):
(pp_flush_buffer):
(pppush_buffer_state):
(pppop_buffer_state):
(ppensure_buffer_stack):
(pp_scan_buffer):
(pp_scan_string):
(pp_scan_bytes):
(yy_push_state):
(yy_pop_state):
(yy_top_state):
(yy_fatal_error):
(ppget_extra):
(ppget_lineno):
(ppget_column):
(ppget_in):
(ppget_out):
(ppget_leng):
(ppget_text):
(ppset_extra):
(ppset_lineno):
(ppset_column):
(ppset_in):
(ppset_out):
(ppget_debug):
(ppset_debug):
(ppget_lval):
(ppset_lval):
(ppget_lloc):
(ppset_lloc):
(pplex_init):
(pplex_init_extra):
(yy_init_globals):
(pplex_destroy):
(yy_flex_strncpy):
(yy_flex_strlen):
(ppalloc):
(pprealloc):
(ppfree):
(extractMacroName):
(pp):
(pp::Context::readInput):
(pp::Context::initLexer):
(pp::Context::destroyLexer):
* src/compiler/preprocessor/new/pp_tab.cpp: Added.
(YYLTYPE):
(yysyntax_error):
(yyerror):
(pushConditionalBlock):
(popConditionalBlock):
(pp::Context::parse):
* src/compiler/preprocessor/new/pp_tab.h: Added.
(YYLTYPE):
* src/compiler/preprocessor/new/stl_utils.h: Added.
(pp):
(Delete):
(pp::Delete::operator()):
(DeleteSecond):
(pp::DeleteSecond::operator()):
* src/compiler/preprocessor/new/token_type.h: Added.
* src/compiler/preprocessor/scanner.c:
(yylex_CPP):
* src/compiler/preprocessor/symbols.c:
* src/compiler/preprocessor/tokens.c:
* src/libEGL/Config.cpp:
(egl::ConfigSet::getConfigs):
* src/libEGL/Display.cpp:
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::restoreLostDevice):
(egl::Display::sync):
(egl):
(egl::Display::allocateEventQuery):
(egl::Display::freeEventQuery):
(egl::Display::getFloat32TextureSupport):
(egl::Display::getFloat16TextureSupport):
(egl::Display::getEventQuerySupport):
(egl::Display::initExtensionString):
(egl::Display::shareHandleSupported):
(egl::Display::getOcclusionQuerySupport):
(egl::Display::getInstancingSupport):
* src/libEGL/Display.h:
(Display):
(egl::Display::isD3d9ExDevice):
* src/libEGL/Surface.cpp:
(egl::Surface::resetSwapChain):
* src/libEGL/libEGL.cpp:
* src/libEGL/libEGL.vcproj:
* src/libGLESv2/Blit.cpp:
(gl::Blit::setCommonBlitState):
* src/libGLESv2/Buffer.h:
(Buffer):
* src/libGLESv2/Context.cpp:
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::getActiveQuery):
(gl):
(gl::Context::createFence):
(gl::Context::createQuery):
(gl::Context::deleteQuery):
(gl::Context::beginQuery):
(gl::Context::endQuery):
(gl::Context::getQuery):
(gl::Context::applyVertexBuffer):
(gl::Context::applyIndexBuffer):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::sync):
(gl::Context::drawLineLoop):
(gl::Context::supportsOcclusionQueries):
(gl::Context::supportsInstancing):
(gl::Context::setVertexAttribDivisor):
(gl::Context::initExtensionString):
(gl::VertexDeclarationCache::applyDeclaration):
(gl::VertexDeclarationCache::markStateDirty):
* src/libGLESv2/Context.h:
(gl):
(gl::VertexAttribute::VertexAttribute):
(State):
(VertexDeclarationCache):
(Context):
* src/libGLESv2/Fence.cpp:
(gl::Fence::Fence):
(gl::Fence::~Fence):
(gl::Fence::setFence):
* src/libGLESv2/Fence.h:
(egl):
(Fence):
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::lookupRenderbuffer):
(gl::Framebuffer::detachTexture):
(gl::Framebuffer::completeness):
* src/libGLESv2/Framebuffer.h:
* src/libGLESv2/IndexDataManager.cpp:
(gl::IndexDataManager::IndexDataManager):
(gl::IndexDataManager::~IndexDataManager):
(gl::computeRange):
(gl::IndexDataManager::prepareIndexData):
(gl::IndexDataManager::getCountingIndices):
(gl):
* src/libGLESv2/IndexDataManager.h:
(IndexDataManager):
* src/libGLESv2/Program.cpp:
(gl::Program::getUniformLocation):
(gl::Program::setUniform1fv):
(gl::Program::setUniform2fv):
(gl::Program::setUniform3fv):
(gl::Program::setUniform4fv):
(gl::Program::setUniform1iv):
(gl::Program::setUniform2iv):
(gl::Program::setUniform3iv):
(gl::Program::setUniform4iv):
(gl::Program::packVaryings):
(gl::Program::linkVaryings):
(gl::Program::defineUniform):
(gl::Program::createUniform):
(gl::Program::applyUniformnbv):
(gl::Program::applyUniform1iv):
(gl::Program::applyUniform2iv):
(gl::Program::applyUniform3iv):
(gl::Program::applyUniform4iv):
(gl::Program::getInfoLog):
* src/libGLESv2/Program.h:
(Program):
* src/libGLESv2/Query.cpp: Added.
(gl):
(gl::Query::Query):
(gl::Query::~Query):
(gl::Query::begin):
(gl::Query::end):
(gl::Query::getResult):
(gl::Query::isResultAvailable):
(gl::Query::getType):
(gl::Query::testQuery):
* src/libGLESv2/Query.h: Added.
(gl):
(Query):
* src/libGLESv2/Renderbuffer.cpp:
(gl):
(gl::RenderbufferInterface::addProxyRef):
(gl::RenderbufferInterface::releaseProxy):
(gl::RenderbufferTexture::RenderbufferTexture):
(gl::RenderbufferTexture::~RenderbufferTexture):
(gl::RenderbufferTexture::addProxyRef):
(gl::RenderbufferTexture::releaseProxy):
(gl::Renderbuffer::addRef):
(gl::Renderbuffer::release):
* src/libGLESv2/Renderbuffer.h:
(gl):
(RenderbufferInterface):
(RenderbufferTexture):
(Renderbuffer):
* src/libGLESv2/Shader.cpp:
(gl::Shader::Shader):
(gl::Shader::getInfoLog):
(gl::Shader::getSourceImpl):
(gl):
(gl::Shader::initializeCompiler):
(gl::Shader::parseVaryings):
(gl::Shader::uncompile):
(gl::Shader::compileToHLSL):
(gl::VertexShader::uncompile):
(gl::VertexShader::compile):
(gl::VertexShader::parseAttributes):
(gl::FragmentShader::compile):
* src/libGLESv2/Shader.h:
(Shader):
(VertexShader):
* src/libGLESv2/Texture.cpp:
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl):
(gl::Texture2D::addProxyRef):
(gl::Texture2D::releaseProxy):
(gl::Texture2D::getRenderbuffer):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::~TextureCubeMap):
(gl::TextureCubeMap::addProxyRef):
(gl::TextureCubeMap::releaseProxy):
(gl::TextureCubeMap::isSamplerComplete):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::getRenderbuffer):
* src/libGLESv2/Texture.h:
(Texture):
(Texture2D):
(TextureCubeMap):
* src/libGLESv2/VertexDataManager.cpp:
(gl::VertexDataManager::writeAttributeData):
(gl::VertexDataManager::prepareVertexData):
(gl::VertexDataManager::spaceRequired):
(gl):
* src/libGLESv2/VertexDataManager.h:
(TranslatedAttribute):
(VertexDataManager):
* src/libGLESv2/libGLESv2.cpp:
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/utilities.cpp:
(gl::IsInternalTextureTarget):
* src/libGLESv2/utilities.h:
(gl):
2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
Bash scripts should support LF endings only
https://bugs.webkit.org/show_bug.cgi?id=79509
Reviewed by David Kilzer.
* src/compiler/generate_parser.sh: Added property svn:eol-style.
2012-02-21 Sam Weinig <sam@webkit.org>
Attempt to fix the Snow Leopard build.
* Configurations/Base.xcconfig:
2012-02-21 Sam Weinig <sam@webkit.org>
Use libc++ when building with Clang on Mac
https://bugs.webkit.org/show_bug.cgi?id=78981
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
2012-01-07 Chris Marrin <cmarrin@apple.com>
Fixed a warning in GTK build of ANGLE
Unreviewed.
* src/compiler/DetectRecursion.cpp:
(DetectRecursion::~DetectRecursion):
2012-01-06 Mark Rowe <mrowe@apple.com>
Regenerate a few files with a more appropriate version of bison.
Rubber-stamped by Dan Bernstein.
* src/compiler/glslang.l: Tweak the input so that it generates code that compiles without warnings.
* src/compiler/glslang_lex.cpp:
* src/compiler/glslang_tab.cpp:
* src/compiler/glslang_tab.h:
2012-01-06 Chris Marrin <cmarrin@apple.com>
Update ANGLE in WebKit tree
https://bugs.webkit.org/show_bug.cgi?id=75753
Reviewed by Simon Fraser.
Updated ANGLE to r939. Fixed a compiler error (missing case in switch statement)
and added 5 new files to xcodeproj. Other than that it is a straight copy of
the files from the ANGLE repository.
* ANGLE.xcodeproj/project.pbxproj:
* include/EGL/eglext.h:
* include/EGL/eglplatform.h:
* include/GLES2/gl2ext.h:
* include/GLSLANG/ShaderLang.h:
* src/common/debug.cpp:
(gl::output):
(gl::trace):
(gl::perfActive):
(gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
(gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
* src/common/version.h:
* src/compiler/BaseTypes.h:
(getBasicString):
* src/compiler/BuiltInFunctionEmulator.cpp: Added.
(BuiltInFunctionEmulator::BuiltInFunctionEmulator):
(BuiltInFunctionEmulator::SetFunctionCalled):
(BuiltInFunctionEmulator::OutputEmulatedFunctionDefinition):
(BuiltInFunctionEmulator::IdentifyFunction):
(BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation):
(BuiltInFunctionEmulator::Cleanup):
(BuiltInFunctionEmulator::GetEmulatedFunctionName):
* src/compiler/BuiltInFunctionEmulator.h: Added.
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::compile):
(TCompiler::clearResults):
(TCompiler::detectRecursion):
(TCompiler::getMappedNameMaxLength):
(TCompiler::getBuiltInFunctionEmulator):
* src/compiler/DetectRecursion.cpp: Added.
(DetectRecursion::FunctionNode::FunctionNode):
(DetectRecursion::FunctionNode::getName):
(DetectRecursion::FunctionNode::addCallee):
(DetectRecursion::FunctionNode::detectRecursion):
(DetectRecursion::DetectRecursion):
(DetectRecursion::~DetectRecursion):
(DetectRecursion::visitAggregate):
(DetectRecursion::detectRecursion):
(DetectRecursion::findFunctionByName):
* src/compiler/DetectRecursion.h: Added.
* src/compiler/ExtensionBehavior.h:
* src/compiler/ForLoopUnroll.cpp:
(ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling):
* src/compiler/ForLoopUnroll.h:
* src/compiler/Initialize.cpp:
(BuiltInFunctionsCommon):
(BuiltInFunctionsVertex):
(BuiltInFunctionsFragment):
(TBuiltIns::initialize):
(IdentifyBuiltIns):
(InitExtensionBehavior):
* src/compiler/MapLongVariableNames.cpp:
(MapLongVariableNames::MapLongVariableNames):
(MapLongVariableNames::visitSymbol):
(MapLongVariableNames::mapVaryingLongName):
* src/compiler/MapLongVariableNames.h:
* src/compiler/OutputGLSLBase.cpp:
(TOutputGLSLBase::visitUnary):
(TOutputGLSLBase::visitAggregate):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::decorate):
(sh::OutputHLSL::decorateUniform):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::recover):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::enterStructDeclaration):
(TParseContext::exitStructDeclaration):
(TParseContext::structNestingErrorCheck):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
* src/compiler/PoolAlloc.h:
(pool_allocator::pool_allocator):
(pool_allocator::operator=):
(pool_allocator::setAllocator):
(pool_allocator::getAllocator):
* src/compiler/ShHandle.h:
* src/compiler/ShaderLang.cpp:
(checkActiveUniformAndAttribMaxLengths):
(checkMappedNameMaxLength):
(getVariableInfo):
(ShInitBuiltInResources):
(ShGetInfo):
* src/compiler/SymbolTable.cpp:
(TType::computeDeepestStructNesting):
* src/compiler/TranslatorESSL.cpp:
(TranslatorESSL::translate):
(TranslatorESSL::writeExtensionBehavior):
* src/compiler/TranslatorGLSL.cpp:
(TranslatorGLSL::translate):
* src/compiler/Types.h:
(TType::TType):
(TType::copyType):
(TType::setStruct):
(TType::getDeepestStructNesting):
* src/compiler/UnfoldSelect.cpp:
(sh::UnfoldSelect::traverse):
(sh::UnfoldSelect::visitSelection):
(sh::UnfoldSelect::visitLoop):
(sh::UnfoldSelect::getNextTemporaryIndex):
* src/compiler/UnfoldSelect.h:
* src/compiler/ValidateLimitations.cpp:
* src/compiler/ValidateLimitations.h:
* src/compiler/VariableInfo.cpp:
(getVariableDataType):
* src/compiler/generate_glslang_lexer.sh: Removed.
* src/compiler/generate_glslang_parser.sh: Removed.
* src/compiler/generate_parser.sh: Added.
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(yy_get_previous_state):
(yy_try_NUL_trans):
* src/compiler/glslang_tab.cpp:
* src/compiler/glslang_tab.h:
* src/compiler/intermOut.cpp:
(TOutputTraverser::visitAggregate):
* src/compiler/intermediate.h:
(TIntermUnary::TIntermUnary):
(TIntermUnary::setUseEmulatedFunction):
(TIntermUnary::getUseEmulatedFunction):
(TIntermAggregate::TIntermAggregate):
(TIntermAggregate::setUseEmulatedFunction):
(TIntermAggregate::getUseEmulatedFunction):
* src/compiler/osinclude.h:
* src/compiler/ossource_posix.cpp:
(OS_AllocTLSIndex):
(OS_SetTLSValue):
(OS_FreeTLSIndex):
* src/compiler/preprocessor/atom.c:
(GrowAtomTable):
* src/compiler/preprocessor/length_limits.h: Added.
* src/compiler/preprocessor/scanner.h:
* src/libEGL/Display.cpp:
(egl::Display::getDisplay):
(egl::Display::Display):
(egl::Display::~Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::startScene):
(egl::Display::endScene):
(egl::Display::createDevice):
(egl::Display::initializeDevice):
(egl::Display::resetDevice):
(egl::Display::createWindowSurface):
(egl::Display::createOffscreenSurface):
(egl::Display::createContext):
(egl::Display::restoreLostDevice):
(egl::Display::notifyDeviceLost):
(egl::Display::isDeviceLost):
(egl::Display::testDeviceLost):
(egl::Display::testDeviceResettable):
(egl::Display::getDXT1TextureSupport):
(egl::Display::getDXT3TextureSupport):
(egl::Display::getDXT5TextureSupport):
(egl::Display::getFloat32TextureSupport):
(egl::Display::getFloat16TextureSupport):
(egl::Display::getTexturePool):
(egl::Display::initExtensionString):
* src/libEGL/Display.h:
* src/libEGL/Surface.cpp:
(egl::Surface::Surface):
(egl::Surface::initialize):
(egl::Surface::resetSwapChain):
(egl::Surface::subclassWindow):
(egl::Surface::unsubclassWindow):
(egl::Surface::swap):
(egl::Surface::postSubBuffer):
(egl::Surface::isPostSubBufferSupported):
* src/libEGL/Surface.h:
* src/libEGL/libEGL.cpp:
* src/libEGL/libEGL.rc:
* src/libEGL/libEGL.vcproj:
* src/libGLESv2/Buffer.cpp:
(gl::Buffer::bufferSubData):
* src/libGLESv2/Context.cpp:
(gl::Context::Context):
(gl::Context::makeCurrent):
(gl::Context::markAllStateDirty):
(gl::Context::markContextLost):
(gl::Context::isContextLost):
(gl::Context::setPackReverseRowOrder):
(gl::Context::getPackReverseRowOrder):
(gl::Context::deleteProgram):
(gl::Context::getDrawFramebuffer):
(gl::Context::bindDrawFramebuffer):
(gl::Context::useProgram):
(gl::Context::setFramebufferZero):
(gl::Context::getCurrentProgram):
(gl::Context::getBooleanv):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyVertexBuffer):
(gl::Context::applyIndexBuffer):
(gl::Context::applyShaders):
(gl::Context::applyTextures):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::sync):
(gl::Context::drawClosingLine):
(gl::Context::getResetStatus):
(gl::Context::isResetNotificationEnabled):
(gl::Context::supportsDXT1Textures):
(gl::Context::supportsDXT3Textures):
(gl::Context::supportsDXT5Textures):
(gl::Context::supportsFloat32Textures):
(gl::Context::supportsFloat32LinearFilter):
(gl::Context::supportsFloat32RenderableTextures):
(gl::Context::supportsFloat16Textures):
(gl::Context::supportsFloat16LinearFilter):
(gl::Context::supportsFloat16RenderableTextures):
(gl::Context::initExtensionString):
(gl::Context::initRendererString):
(gl::Context::getRendererString):
(gl::Context::blitFramebuffer):
(gl::VertexDeclarationCache::applyDeclaration):
(gl::VertexDeclarationCache::markStateDirty):
* src/libGLESv2/Context.h:
* src/libGLESv2/Fence.cpp:
(gl::Fence::testFence):
(gl::Fence::getFenceiv):
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::setColorbuffer):
(gl::Framebuffer::setDepthbuffer):
(gl::Framebuffer::setStencilbuffer):
(gl::Framebuffer::getColorbuffer):
(gl::Framebuffer::getDepthbuffer):
(gl::Framebuffer::getStencilbuffer):
(gl::Framebuffer::hasStencil):
(gl::Framebuffer::completeness):
(gl::DefaultFramebuffer::DefaultFramebuffer):
* src/libGLESv2/Framebuffer.h:
* src/libGLESv2/IndexDataManager.cpp:
(gl::IndexDataManager::prepareIndexData):
(gl::IndexBuffer::IndexBuffer):
(gl::IndexBuffer::getSerial):
(gl::IndexBuffer::issueSerial):
(gl::StreamingIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::lookupRange):
(gl::StaticIndexBuffer::addRange):
* src/libGLESv2/IndexDataManager.h:
(gl::StaticIndexBuffer::IndexRange::operator<):
* src/libGLESv2/Program.cpp:
(gl::Uniform::Uniform):
(gl::Uniform::isArray):
(gl::UniformLocation::UniformLocation):
(gl::Program::Program):
(gl::Program::detachShader):
(gl::Program::getUsedSamplerRange):
(gl::Program::getSamplerMapping):
(gl::Program::getUniformLocation):
(gl::Program::setUniform1fv):
(gl::Program::setUniform2fv):
(gl::Program::setUniform3fv):
(gl::transposeMatrix):
(gl::Program::setUniformMatrix2fv):
(gl::Program::setUniformMatrix3fv):
(gl::Program::setUniformMatrix4fv):
(gl::Program::getUniformfv):
(gl::Program::getUniformiv):
(gl::Program::applyUniforms):
(gl::Program::compileToBinary):
(gl::Program::linkVaryings):
(gl::Program::link):
(gl::Program::defineUniform):
(gl::Program::createUniform):
(gl::Program::decorateAttribute):
(gl::Program::undecorateUniform):
(gl::Program::applyUniformnbv):
(gl::Program::applyUniformnfv):
(gl::Program::applyUniform1iv):
(gl::Program::applyUniform2iv):
(gl::Program::applyUniform3iv):
(gl::Program::applyUniform4iv):
(gl::Program::applyUniformniv):
(gl::Program::appendToInfoLogSanitized):
(gl::Program::unlink):
(gl::Program::getActiveUniform):
(gl::Program::getActiveUniformCount):
(gl::Program::getActiveUniformMaxLength):
(gl::Program::validateSamplers):
(gl::Program::initializeConstantHandles):
(gl::Program::getDxCoordLocation):
* src/libGLESv2/Program.h:
* src/libGLESv2/Renderbuffer.cpp:
(gl::RenderbufferInterface::RenderbufferInterface):
(gl::RenderbufferInterface::getRedSize):
(gl::RenderbufferInterface::getGreenSize):
(gl::RenderbufferInterface::getBlueSize):
(gl::RenderbufferInterface::getAlphaSize):
(gl::RenderbufferInterface::getDepthSize):
(gl::RenderbufferInterface::getStencilSize):
(gl::RenderbufferTexture::RenderbufferTexture):
(gl::RenderbufferTexture::~RenderbufferTexture):
(gl::RenderbufferTexture::getRenderTarget):
(gl::RenderbufferTexture::getDepthStencil):
(gl::RenderbufferTexture::getWidth):
(gl::RenderbufferTexture::getHeight):
(gl::RenderbufferTexture::getInternalFormat):
(gl::RenderbufferTexture::getD3DFormat):
(gl::RenderbufferTexture::getSamples):
(gl::RenderbufferTexture::getSerial):
(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::~Renderbuffer):
(gl::Renderbuffer::getRenderTarget):
(gl::Renderbuffer::getDepthStencil):
(gl::Renderbuffer::getWidth):
(gl::Renderbuffer::getHeight):
(gl::Renderbuffer::getInternalFormat):
(gl::Renderbuffer::getD3DFormat):
(gl::Renderbuffer::getRedSize):
(gl::Renderbuffer::getGreenSize):
(gl::Renderbuffer::getBlueSize):
(gl::Renderbuffer::getAlphaSize):
(gl::Renderbuffer::getDepthSize):
(gl::Renderbuffer::getStencilSize):
(gl::Renderbuffer::getSamples):
(gl::Renderbuffer::getSerial):
(gl::Renderbuffer::setStorage):
(gl::RenderbufferStorage::getD3DFormat):
(gl::RenderbufferStorage::issueCubeSerials):
(gl::Colorbuffer::Colorbuffer):
(gl::Colorbuffer::getRenderTarget):
(gl::Depthbuffer::Depthbuffer):
(gl::Stencilbuffer::Stencilbuffer):
* src/libGLESv2/Renderbuffer.h:
(gl::RenderbufferInterface::~RenderbufferInterface):
* src/libGLESv2/Shader.cpp:
(gl::Shader::getTranslatedSourceLength):
(gl::Shader::getSourceImpl):
(gl::Shader::getSource):
(gl::Shader::getTranslatedSource):
* src/libGLESv2/Shader.h:
* src/libGLESv2/Texture.cpp:
(gl::ConvertTextureFormatType):
(gl::IsTextureFormatRenderable):
(gl::Image::Image):
(gl::Image::~Image):
(gl::Image::redefine):
(gl::Image::createSurface):
(gl::Image::lock):
(gl::Image::unlock):
(gl::Image::isRenderableFormat):
(gl::Image::getD3DFormat):
(gl::Image::getSurface):
(gl::Image::setManagedSurface):
(gl::Image::updateSurface):
(gl::Image::loadData):
(gl::Image::loadAlphaData):
(gl::Image::loadAlphaFloatData):
(gl::Image::loadAlphaHalfFloatData):
(gl::Image::loadLuminanceData):
(gl::Image::loadLuminanceFloatData):
(gl::Image::loadLuminanceHalfFloatData):
(gl::Image::loadLuminanceAlphaData):
(gl::Image::loadLuminanceAlphaFloatData):
(gl::Image::loadLuminanceAlphaHalfFloatData):
(gl::Image::loadRGBUByteData):
(gl::Image::loadRGB565Data):
(gl::Image::loadRGBFloatData):
(gl::Image::loadRGBHalfFloatData):
(gl::Image::loadRGBAUByteDataSSE2):
(gl::Image::loadRGBAUByteData):
(gl::Image::loadRGBA4444Data):
(gl::Image::loadRGBA5551Data):
(gl::Image::loadRGBAFloatData):
(gl::Image::loadRGBAHalfFloatData):
(gl::Image::loadBGRAData):
(gl::Image::loadCompressedData):
(gl::FlipCopyDXT1BlockFull):
(gl::FlipCopyDXT1BlockHalf):
(gl::FlipCopyDXT3BlockFull):
(gl::FlipCopyDXT3BlockHalf):
(gl::FlipCopyDXT5BlockFull):
(gl::FlipCopyDXT5BlockHalf):
(gl::Image::loadDXT1Data):
(gl::Image::loadDXT3Data):
(gl::Image::loadDXT5Data):
(gl::Image::copy):
(gl::TextureStorage::TextureStorage):
(gl::TextureStorage::~TextureStorage):
(gl::TextureStorage::isRenderTarget):
(gl::TextureStorage::isManaged):
(gl::TextureStorage::getPool):
(gl::TextureStorage::getTextureSerial):
(gl::TextureStorage::issueTextureSerial):
(gl::Texture::Texture):
(gl::Texture::~Texture):
(gl::Texture::setMinFilter):
(gl::Texture::setMagFilter):
(gl::Texture::setWrapS):
(gl::Texture::setWrapT):
(gl::Texture::setUsage):
(gl::Texture::getMinFilter):
(gl::Texture::getMagFilter):
(gl::Texture::getWrapS):
(gl::Texture::getWrapT):
(gl::Texture::getUsage):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture::getTexture):
(gl::Texture::hasDirtyParameters):
(gl::Texture::hasDirtyImages):
(gl::Texture::resetDirty):
(gl::Texture::getTextureSerial):
(gl::Texture::getRenderTargetSerial):
(gl::Texture::isImmutable):
(gl::Texture::creationLevels):
(gl::Texture::getBlitter):
(gl::Texture::copyToRenderTarget):
(gl::TextureStorage2D::TextureStorage2D):
(gl::TextureStorage2D::~TextureStorage2D):
(gl::TextureStorage2D::getSurfaceLevel):
(gl::TextureStorage2D::getBaseTexture):
(gl::TextureStorage2D::getRenderTargetSerial):
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl::Texture2D::getWidth):
(gl::Texture2D::getHeight):
(gl::Texture2D::getInternalFormat):
(gl::Texture2D::getType):
(gl::Texture2D::redefineImage):
(gl::Texture2D::setImage):
(gl::Texture2D::bindTexImage):
(gl::Texture2D::releaseTexImage):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::commitRect):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::storage):
(gl::Texture2D::isSamplerComplete):
(gl::Texture2D::isMipmapComplete):
(gl::Texture2D::getBaseTexture):
(gl::Texture2D::createTexture):
(gl::Texture2D::updateTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::generateMipmaps):
(gl::Texture2D::getRenderbuffer):
(gl::Texture2D::getRenderTarget):
(gl::Texture2D::getStorage):
(gl::TextureStorageCubeMap::TextureStorageCubeMap):
(gl::TextureStorageCubeMap::~TextureStorageCubeMap):
(gl::TextureStorageCubeMap::getCubeMapSurface):
(gl::TextureStorageCubeMap::getBaseTexture):
(gl::TextureStorageCubeMap::getRenderTargetSerial):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::~TextureCubeMap):
(gl::TextureCubeMap::getWidth):
(gl::TextureCubeMap::getHeight):
(gl::TextureCubeMap::getInternalFormat):
(gl::TextureCubeMap::getType):
(gl::TextureCubeMap::setCompressedImage):
(gl::TextureCubeMap::commitRect):
(gl::TextureCubeMap::subImage):
(gl::TextureCubeMap::subImageCompressed):
(gl::TextureCubeMap::isSamplerComplete):
(gl::TextureCubeMap::isCubeComplete):
(gl::TextureCubeMap::isMipmapCubeComplete):
(gl::TextureCubeMap::getBaseTexture):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::updateTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::setImage):
(gl::TextureCubeMap::redefineImage):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::storage):
(gl::TextureCubeMap::generateMipmaps):
(gl::TextureCubeMap::getRenderbuffer):
(gl::TextureCubeMap::getRenderTarget):
(gl::TextureCubeMap::getStorage):
* src/libGLESv2/Texture.h:
(gl::Image::markDirty):
(gl::Image::markClean):
(gl::Image::getWidth):
(gl::Image::getHeight):
(gl::Image::getFormat):
(gl::Image::getType):
(gl::Image::isDirty):
* src/libGLESv2/VertexDataManager.cpp:
(gl::elementsInBuffer):
(gl::VertexDataManager::VertexDataManager):
(gl::VertexDataManager::writeAttributeData):
(gl::VertexDataManager::prepareVertexData):
(gl::VertexBuffer::VertexBuffer):
(gl::VertexBuffer::getSerial):
(gl::VertexBuffer::issueSerial):
(gl::StreamingVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::map):
(gl::StaticVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::lookupAttribute):
* src/libGLESv2/VertexDataManager.h:
(gl::ArrayVertexBuffer::size):
* src/libGLESv2/geometry/IndexDataManager.cpp: Removed.
* src/libGLESv2/geometry/IndexDataManager.h: Removed.
* src/libGLESv2/geometry/VertexDataManager.cpp: Removed.
* src/libGLESv2/geometry/VertexDataManager.h: Removed.
* src/libGLESv2/geometry/vertexconversion.h: Removed.
* src/libGLESv2/libGLESv2.cpp:
(validateSubImageParams):
(validReadFormatType):
(Extension::glBindTexImage):
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.rc:
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/main.cpp:
(gl::getNonLostContext):
(gl::checkDeviceLost):
* src/libGLESv2/main.h:
* src/libGLESv2/utilities.cpp:
(gl::UniformExternalComponentCount):
(gl::UniformInternalComponentCount):
(gl::UniformComponentSize):
(gl::UniformInternalSize):
(gl::UniformExternalSize):
(gl::ComputeCompressedSize):
(gl::IsCompressed):
(gl::ExtractFormat):
(gl::ExtractType):
(dx2es::IsFloat32Format):
(dx2es::IsFloat16Format):
* src/libGLESv2/utilities.h:
(isDeviceLostError):
2011-11-11 Darin Adler <darin@apple.com>
* ANGLE.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
If an older Xcode downgrades this file and we have a risk of some kind of
oscillating commit situation, please contact me so I know not to do this again.
2011-09-19 Adam Roben <aroben@apple.com>
Let Xcode 4 do its thang with ANGLE.xcodeproj
* ANGLE.xcodeproj/project.pbxproj:
2011-09-13 Anders Carlsson <andersca@apple.com>
Disable C++ exceptions when building with clang
https://bugs.webkit.org/show_bug.cgi?id=68031
<rdar://problem/9556880>
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig:
2011-09-08 Andras Becsi <andras.becsi@nokia.com>
[Qt] Build fails with strict compiler
https://bugs.webkit.org/show_bug.cgi?id=67778
Reviewed by Csaba Osztrogonác.
* src/compiler/glslang_lex.cpp: Regenerate with generate_glslang_lexer.sh using a newer flex
to suppress warning and fix the build when using [-Werror=unused-result]
2011-08-12 Mark Rowe <mrowe@apple.com>
Be more forward-looking in the choice of compiler.
Rubber-stamped by Jon Honeycutt.
* Configurations/CompilerVersion.xcconfig:
2011-08-11 Renata Hodovan <reni@webkit.org>
[Qt]Fix warnings after r92805.
Reviewed by Csaba Osztrogonác.
Control reached the end non-void functions.
* src/compiler/ossource_posix.cpp:
(OS_AllocTLSIndex):
(OS_SetTLSValue):
2011-08-11 Renata Hodovan <reni@webkit.org>
Build fix on Qt Windows 32-bit Release/Debug after r92805.
Unreviewed.
* src/compiler/ossource_posix.cpp:
(OS_FreeTLSIndex):
2011-08-04 Mark Rowe <mrowe@apple.com>
Future-proof Xcode configuration settings.
* Configurations/Base.xcconfig:
* Configurations/CompilerVersion.xcconfig:
* Configurations/DebugRelease.xcconfig:
2011-06-30 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
ANGLE shouldn't try to use internal SDKs. It doesn't need them!
* Configurations/Base.xcconfig:
2011-06-20 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Update ANGLE to r696
https://bugs.webkit.org/show_bug.cgi?id=56396
* ANGLE.xcodeproj/project.pbxproj:
* include/EGL/eglext.h:
* include/GLSLANG/ShaderLang.h:
* src/build_angle.xcodeproj/project.pbxproj:
* src/common/debug.cpp:
(gl::output):
(gl::trace):
(gl::perfActive):
(gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
(gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
* src/common/debug.h:
* src/common/version.h: Added.
* src/compiler/CodeGenGLSL.cpp:
(ConstructCompiler):
* src/compiler/CodeGenHLSL.cpp:
(ConstructCompiler):
* src/compiler/Compiler.cpp:
(TCompiler::compile):
(TCompiler::mapLongVariableNames):
(TCompiler::getMappedNameMaxLength):
(TCompiler::getExtensionBehavior):
* src/compiler/ConstantUnion.h:
(ConstantUnion::operator==):
(ConstantUnion::operator>):
(ConstantUnion::operator<):
* src/compiler/ExtensionBehavior.h:
(getBehaviorString):
* src/compiler/ForLoopUnroll.cpp: Added.
(ForLoopUnroll::FillLoopIndexInfo):
(ForLoopUnroll::Step):
(ForLoopUnroll::SatisfiesLoopCondition):
(ForLoopUnroll::NeedsToReplaceSymbolWithValue):
(ForLoopUnroll::GetLoopIndexValue):
(ForLoopUnroll::Push):
(ForLoopUnroll::Pop):
(ForLoopUnroll::getLoopIncrement):
(ForLoopUnroll::evaluateIntConstant):
* src/compiler/ForLoopUnroll.h: Added.
(ForLoopUnroll::ForLoopUnroll):
* src/compiler/Initialize.cpp:
(BuiltInFunctionsVertex):
* src/compiler/MapLongVariableNames.cpp: Added.
(MapLongVariableNames::MapLongVariableNames):
(MapLongVariableNames::visitSymbol):
(MapLongVariableNames::visitConstantUnion):
(MapLongVariableNames::visitBinary):
(MapLongVariableNames::visitUnary):
(MapLongVariableNames::visitSelection):
(MapLongVariableNames::visitAggregate):
(MapLongVariableNames::visitLoop):
(MapLongVariableNames::visitBranch):
(MapLongVariableNames::mapVaryingLongName):
* src/compiler/MapLongVariableNames.h: Added.
* src/compiler/OutputESSL.cpp: Added.
(TOutputESSL::TOutputESSL):
(TOutputESSL::writeVariablePrecision):
* src/compiler/OutputESSL.h: Added.
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::TOutputGLSL):
(TOutputGLSL::writeVariablePrecision):
* src/compiler/OutputGLSL.h:
* src/compiler/OutputGLSLBase.cpp: Added.
(TOutputGLSLBase::TOutputGLSLBase):
(TOutputGLSLBase::writeTriplet):
(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeFunctionParameters):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitSymbol):
(TOutputGLSLBase::visitConstantUnion):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitUnary):
(TOutputGLSLBase::visitSelection):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::visitLoop):
(TOutputGLSLBase::visitBranch):
(TOutputGLSLBase::visitCodeBlock):
* src/compiler/OutputGLSLBase.h: Added.
(TOutputGLSLBase::objSink):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitUnary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::outputLineDirective):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(TParseContext::precisionErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::nonInitErrorCheck):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
* src/compiler/ShHandle.h:
* src/compiler/ShaderLang.cpp:
(getVariableInfo):
(ShConstructCompiler):
(ShGetInfo):
(ShGetActiveAttrib):
(ShGetActiveUniform):
* src/compiler/TranslatorESSL.cpp: Added.
(TranslatorESSL::TranslatorESSL):
(TranslatorESSL::translate):
(TranslatorESSL::writeExtensionBehavior):
* src/compiler/TranslatorESSL.h: Added.
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::visitBinary):
(ValidateLimitations::visitLoop):
* src/compiler/ValidateLimitations.h:
* src/compiler/VariableInfo.cpp:
(getVariableInfo):
(getBuiltInVariableInfo):
(getUserDefinedVariableInfo):
(CollectAttribsUniforms::visitAggregate):
* src/compiler/VariableInfo.h:
* src/compiler/VersionGLSL.cpp:
(TVersionGLSL::visitSymbol):
(TVersionGLSL::visitConstantUnion):
(TVersionGLSL::visitBinary):
(TVersionGLSL::visitUnary):
(TVersionGLSL::visitSelection):
(TVersionGLSL::visitAggregate):
(TVersionGLSL::visitLoop):
(TVersionGLSL::visitBranch):
* src/compiler/VersionGLSL.h:
* src/compiler/glslang.y:
* src/compiler/glslang_tab.cpp:
* src/compiler/glslang_tab.h:
* src/compiler/intermediate.h:
(TIntermLoop::TIntermLoop):
(TIntermLoop::setUnrollFlag):
(TIntermLoop::getUnrollFlag):
(TIntermSymbol::TIntermSymbol):
(TIntermSymbol::setId):
(TIntermSymbol::setSymbol):
(TIntermSymbol::getOriginalSymbol):
(TIntermAggregate::TIntermAggregate):
(TIntermAggregate::setEndLine):
(TIntermAggregate::getEndLine):
* src/compiler/preprocessor/atom.c:
(AddString):
* src/compiler/preprocessor/compile.h:
* src/compiler/preprocessor/cpp.c:
(CPPelse):
(eval):
(CPPif):
(CPPifdef):
(readCPPline):
(ChkCorrectElseNesting):
* src/compiler/preprocessor/cppstruct.c:
(ResetPreprocessor):
* src/compiler/preprocessor/scanner.c:
(byte_scan):
(yylex_CPP):
* src/compiler/preprocessor/scanner.h:
* src/libEGL/Config.cpp:
(egl::Config::Config):
(egl::Config::set):
(egl::ConfigSet::add):
(egl::ConfigSet::getConfigs):
* src/libEGL/Config.h:
* src/libEGL/Display.cpp:
(egl::Display::Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::getConfigAttrib):
(egl::Display::createDevice):
(egl::Display::createWindowSurface):
(egl::Display::createOffscreenSurface):
(egl::Display::createContext):
(egl::Display::destroyContext):
(egl::Display::isInitialized):
(egl::Display::getAdapterIdentifier):
(egl::Display::isDeviceLost):
(egl::Display::getBufferPool):
(egl::Display::initExtensionString):
(egl::Display::getExtensionString):
(egl::Display::getVertexTextureSupport):
(egl::Display::getNonPower2TextureSupport):
* src/libEGL/Display.h:
(egl::Display::isD3d9ExDevice):
* src/libEGL/Surface.cpp:
(egl::Surface::Surface):
(egl::Surface::initialize):
(egl::Surface::release):
(egl::Surface::resetSwapChain):
(egl::SurfaceWindowProc):
(egl::Surface::subclassWindow):
(egl::Surface::unsubclassWindow):
(egl::Surface::swap):
(egl::Surface::getRenderTarget):
(egl::Surface::getOffscreenTexture):
(egl::Surface::getTextureFormat):
(egl::Surface::getTextureTarget):
(egl::Surface::setBoundTexture):
(egl::Surface::getBoundTexture):
(egl::Surface::getFormat):
* src/libEGL/Surface.h:
(egl::Surface::getShareHandle):
* src/libEGL/libEGL.cpp:
(validateDisplay):
(validateConfig):
(validateContext):
(validateSurface):
* src/libEGL/libEGL.rc: Added.
* src/libEGL/libEGL.vcproj:
* src/libEGL/main.cpp:
(DllMain):
* src/libEGL/main.h:
* src/libEGL/resource.h: Added.
* src/libGLESv2/Blit.cpp:
(gl::Blit::initGeometry):
(gl::Blit::copy):
* src/libGLESv2/Blit.h:
* src/libGLESv2/Buffer.cpp:
(gl::Buffer::Buffer):
(gl::Buffer::~Buffer):
(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::getStaticVertexBuffer):
(gl::Buffer::getStaticIndexBuffer):
(gl::Buffer::invalidateStaticData):
(gl::Buffer::promoteStaticUsage):
* src/libGLESv2/Buffer.h:
* src/libGLESv2/Context.cpp:
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::markAllStateDirty):
(gl::Context::setActiveSampler):
(gl::Context::createFramebuffer):
(gl::Context::createFence):
(gl::Context::deleteFramebuffer):
(gl::Context::deleteFence):
(gl::Context::bindTexture2D):
(gl::Context::bindTextureCubeMap):
(gl::Context::getTexture2D):
(gl::Context::getTextureCubeMap):
(gl::Context::getSamplerTexture):
(gl::Context::getIntegerv):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyVertexBuffer):
(gl::Context::applyShaders):
(gl::Context::applyTextures):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::finish):
(gl::Context::flush):
(gl::Context::drawClosingLine):
(gl::Context::getMaximumVertexTextureImageUnits):
(gl::Context::getMaximumCombinedTextureImageUnits):
(gl::Context::supportsNonPower2Texture):
(gl::Context::detachTexture):
(gl::Context::getIncompleteTexture):
(gl::Context::initExtensionString):
(gl::Context::blitFramebuffer):
(gl::VertexDeclarationCache::VertexDeclarationCache):
(gl::VertexDeclarationCache::~VertexDeclarationCache):
(gl::VertexDeclarationCache::applyDeclaration):
* src/libGLESv2/Context.h:
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::lookupRenderbuffer):
(gl::Framebuffer::completeness):
* src/libGLESv2/Framebuffer.h:
* src/libGLESv2/HandleAllocator.cpp: Added.
(gl::HandleAllocator::HandleAllocator):
(gl::HandleAllocator::~HandleAllocator):
(gl::HandleAllocator::setBaseHandle):
(gl::HandleAllocator::allocate):
(gl::HandleAllocator::release):
* src/libGLESv2/HandleAllocator.h: Added.
* src/libGLESv2/IndexDataManager.cpp: Added.
(gl::IndexDataManager::IndexDataManager):
(gl::IndexDataManager::~IndexDataManager):
(gl::convertIndices):
(gl::computeRange):
(gl::IndexDataManager::prepareIndexData):
(gl::IndexDataManager::indexSize):
(gl::IndexDataManager::typeSize):
(gl::IndexBuffer::IndexBuffer):
(gl::IndexBuffer::~IndexBuffer):
(gl::IndexBuffer::getBuffer):
(gl::IndexBuffer::unmap):
(gl::StreamingIndexBuffer::StreamingIndexBuffer):
(gl::StreamingIndexBuffer::~StreamingIndexBuffer):
(gl::StreamingIndexBuffer::map):
(gl::StreamingIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::StaticIndexBuffer):
(gl::StaticIndexBuffer::~StaticIndexBuffer):
(gl::StaticIndexBuffer::map):
(gl::StaticIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::lookupType):
(gl::StaticIndexBuffer::lookupRange):
(gl::StaticIndexBuffer::addRange):
* src/libGLESv2/IndexDataManager.h: Added.
(gl::IndexBuffer::size):
* src/libGLESv2/Program.cpp:
(gl::Program::getSemanticIndex):
(gl::Program::getSamplerMapping):
(gl::Program::getSamplerTextureType):
(gl::Program::compileToBinary):
(gl::Program::packVaryings):
(gl::Program::linkVaryings):
(gl::Program::link):
(gl::Program::linkUniforms):
(gl::Program::defineUniform):
(gl::Program::applyUniform1iv):
(gl::Program::appendToInfoLogSanitized):
(gl::Program::unlink):
(gl::Program::getActiveUniformMaxLength):
(gl::Program::validate):
(gl::Program::validateSamplers):
* src/libGLESv2/Program.h:
* src/libGLESv2/Renderbuffer.cpp:
(gl::Renderbuffer::getWidth):
(gl::Renderbuffer::getHeight):
(gl::Renderbuffer::getInternalFormat):
(gl::Renderbuffer::getRedSize):
(gl::Renderbuffer::getGreenSize):
(gl::Renderbuffer::getBlueSize):
(gl::Renderbuffer::getAlphaSize):
(gl::Renderbuffer::getDepthSize):
(gl::Renderbuffer::getStencilSize):
(gl::Renderbuffer::getSamples):
(gl::RenderbufferStorage::RenderbufferStorage):
(gl::RenderbufferStorage::getWidth):
(gl::RenderbufferStorage::getHeight):
(gl::RenderbufferStorage::getInternalFormat):
(gl::RenderbufferStorage::getRedSize):
(gl::RenderbufferStorage::getGreenSize):
(gl::RenderbufferStorage::getBlueSize):
(gl::RenderbufferStorage::getAlphaSize):
(gl::RenderbufferStorage::getDepthSize):
(gl::RenderbufferStorage::getStencilSize):
(gl::RenderbufferStorage::getD3DFormat):
(gl::Colorbuffer::Colorbuffer):
(gl::Colorbuffer::getWidth):
(gl::Colorbuffer::getHeight):
(gl::Colorbuffer::getInternalFormat):
(gl::Colorbuffer::getType):
(gl::Colorbuffer::getD3DFormat):
(gl::Colorbuffer::isColorbuffer):
(gl::Colorbuffer::getRenderTarget):
(gl::DepthStencilbuffer::DepthStencilbuffer):
(gl::Depthbuffer::Depthbuffer):
(gl::Stencilbuffer::Stencilbuffer):
* src/libGLESv2/Renderbuffer.h:
* src/libGLESv2/ResourceManager.cpp:
(gl::ResourceManager::createBuffer):
(gl::ResourceManager::createShader):
(gl::ResourceManager::createProgram):
(gl::ResourceManager::createTexture):
(gl::ResourceManager::createRenderbuffer):
(gl::ResourceManager::deleteBuffer):
(gl::ResourceManager::deleteShader):
(gl::ResourceManager::deleteProgram):
(gl::ResourceManager::deleteTexture):
(gl::ResourceManager::deleteRenderbuffer):
(gl::ResourceManager::checkTextureAllocation):
* src/libGLESv2/ResourceManager.h:
* src/libGLESv2/Shader.cpp:
(gl::Shader::Shader):
(gl::Shader::compileToHLSL):
* src/libGLESv2/Shader.h:
* src/libGLESv2/Texture.cpp:
(gl::Texture::Image::Image):
(gl::Texture::Image::~Image):
(gl::Texture::Image::isRenderable):
(gl::Texture::Image::getD3DFormat):
(gl::Texture::Texture):
(gl::Texture::setMinFilter):
(gl::Texture::setMagFilter):
(gl::Texture::setWrapS):
(gl::Texture::setWrapT):
(gl::Texture::loadImageData):
(gl::Texture::loadAlphaImageData):
(gl::Texture::loadAlphaFloatImageData):
(gl::Texture::loadAlphaHalfFloatImageData):
(gl::Texture::loadLuminanceImageData):
(gl::Texture::loadLuminanceFloatImageData):
(gl::Texture::loadLuminanceHalfFloatImageData):
(gl::Texture::loadLuminanceAlphaImageData):
(gl::Texture::loadLuminanceAlphaFloatImageData):
(gl::Texture::loadLuminanceAlphaHalfFloatImageData):
(gl::Texture::loadRGBUByteImageData):
(gl::Texture::loadRGB565ImageData):
(gl::Texture::loadRGBFloatImageData):
(gl::Texture::loadRGBHalfFloatImageData):
(gl::Texture::loadRGBAUByteImageDataSSE2):
(gl::Texture::loadRGBAUByteImageData):
(gl::Texture::loadRGBA4444ImageData):
(gl::Texture::loadRGBA5551ImageData):
(gl::Texture::loadRGBAFloatImageData):
(gl::Texture::loadRGBAHalfFloatImageData):
(gl::Texture::loadBGRAImageData):
(gl::Texture::loadCompressedImageData):
(gl::Texture::createSurface):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture::copyToImage):
(gl::Texture::getTexture):
(gl::Texture::isDirtyParameter):
(gl::Texture::isDirtyImage):
(gl::Texture::resetDirty):
(gl::Texture::getSerial):
(gl::Texture::creationLevels):
(gl::Texture::levelCount):
(gl::Texture::issueSerial):
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl::Texture2D::getWidth):
(gl::Texture2D::getHeight):
(gl::Texture2D::getInternalFormat):
(gl::Texture2D::getType):
(gl::Texture2D::getD3DFormat):
(gl::Texture2D::redefineTexture):
(gl::Texture2D::setImage):
(gl::Texture2D::bindTexImage):
(gl::Texture2D::releaseTexImage):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::commitRect):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::isComplete):
(gl::Texture2D::isCompressed):
(gl::Texture2D::getBaseTexture):
(gl::Texture2D::createTexture):
(gl::Texture2D::updateTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::generateMipmaps):
(gl::Texture2D::getRenderbuffer):
(gl::Texture2D::getRenderTarget):
(gl::TextureCubeMap::getWidth):
(gl::TextureCubeMap::getHeight):
(gl::TextureCubeMap::getInternalFormat):
(gl::TextureCubeMap::getType):
(gl::TextureCubeMap::getD3DFormat):
(gl::TextureCubeMap::setImagePosX):
(gl::TextureCubeMap::setImageNegX):
(gl::TextureCubeMap::setImagePosY):
(gl::TextureCubeMap::setImageNegY):
(gl::TextureCubeMap::setImagePosZ):
(gl::TextureCubeMap::setImageNegZ):
(gl::TextureCubeMap::setCompressedImage):
(gl::TextureCubeMap::commitRect):
(gl::TextureCubeMap::isComplete):
(gl::TextureCubeMap::isCompressed):
(gl::TextureCubeMap::getBaseTexture):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::updateTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::setImage):
(gl::TextureCubeMap::redefineTexture):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::getCubeMapSurface):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::generateMipmaps):
(gl::TextureCubeMap::getRenderbuffer):
(gl::TextureCubeMap::getRenderTarget):
* src/libGLESv2/Texture.h:
* src/libGLESv2/VertexDataManager.cpp: Added.
(gl::VertexDataManager::VertexDataManager):
(gl::VertexDataManager::~VertexDataManager):
(gl::VertexDataManager::writeAttributeData):
(gl::VertexDataManager::prepareVertexData):
(gl::VertexDataManager::spaceRequired):
(gl::VertexDataManager::checkVertexCaps):
(gl::VertexDataManager::typeIndex):
(gl::VertexBuffer::VertexBuffer):
(gl::VertexBuffer::~VertexBuffer):
(gl::VertexBuffer::unmap):
(gl::VertexBuffer::getBuffer):
(gl::ConstantVertexBuffer::ConstantVertexBuffer):
(gl::ConstantVertexBuffer::~ConstantVertexBuffer):
(gl::ArrayVertexBuffer::ArrayVertexBuffer):
(gl::ArrayVertexBuffer::~ArrayVertexBuffer):
(gl::ArrayVertexBuffer::addRequiredSpace):
(gl::ArrayVertexBuffer::addRequiredSpaceFor):
(gl::StreamingVertexBuffer::StreamingVertexBuffer):
(gl::StreamingVertexBuffer::~StreamingVertexBuffer):
(gl::StreamingVertexBuffer::map):
(gl::StreamingVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::StaticVertexBuffer):
(gl::StaticVertexBuffer::~StaticVertexBuffer):
(gl::StaticVertexBuffer::map):
(gl::StaticVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::lookupAttribute):
(gl::VertexDataManager::formatConverter):
* src/libGLESv2/VertexDataManager.h: Added.
(gl::ArrayVertexBuffer::size):
(gl::VertexDataManager::dirtyCurrentValue):
* src/libGLESv2/libGLESv2.cpp:
(validImageSize):
(Extension::glBindTexImage):
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.rc: Added.
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/main.cpp:
(error):
* src/libGLESv2/mathutil.h:
(gl::clamp):
(gl::clamp01):
(gl::transformPixelRect):
(gl::transformPixelYOffset):
(gl::adjustWinding):
(gl::supportsSSE2):
* src/libGLESv2/resource.h: Added.
* src/libGLESv2/utilities.cpp:
(gl::ComputeCompressedPitch):
(es2dx::ConvertCubeFace):
(es2dx::ConvertPrimitiveType):
(es2dx::ConvertRenderbufferFormat):
(es2dx::GetMultisampleTypeFromSamples):
(dx2es::GetStencilSize):
(dx2es::GetAlphaSize):
(dx2es::GetRedSize):
(dx2es::GetGreenSize):
(dx2es::GetBlueSize):
(dx2es::GetDepthSize):
(getTempPath):
(writeFile):
* src/libGLESv2/utilities.h:
* src/libGLESv2/vertexconversion.h: Added.
(gl::Identity::convert):
(gl::Cast::convert):
(gl::Normalize::convert):
(gl::FixedToFloat::convert):
(gl::SimpleDefaultValues::zero):
(gl::SimpleDefaultValues::one):
(gl::NormalizedDefaultValues::zero):
(gl::NormalizedDefaultValues::one):
(gl::VertexDataConverter::convertArray):
(gl::VertexDataConverter::pointerAddBytes):
(gl::VertexDataConverter::copyComponent):
2011-05-24 David Kilzer <ddkilzer@apple.com>
Part 2 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
Reviewed by Adam Roben.
* Configurations/Base.xcconfig:
(GCC_WARN_ABOUT_MISSING_NEWLINE): Added. Set to YES.
2011-05-23 David Kilzer <ddkilzer@apple.com>
Part 1 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
Merge ANGLE upstream commit r653 for Issue 154.
* src/compiler/PoolAlloc.h: Added newline to end of file.
* src/compiler/ShHandle.h: Ditto.
* src/libEGL/Display.cpp: Ditto.
2011-05-16 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
<rdar://problem/9446430>
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig: Fixed typo.
2011-05-04 David Kilzer <ddkilzer@apple.com>
Part 2 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
Reviewed by Adam Barth.
* Configurations/Base.xcconfig:
(GCC_TREAT_WARNINGS_AS_ERRORS): Set to YES.
2011-05-04 David Kilzer <ddkilzer@apple.com>
Part 1 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
Merge ANGLE upstream commits r572, r573, r574, r575.
This unblocks enabling -Werror on ANGLE. Since all changes are
in the upstream repository, they may be safely overwritten
during the next ANGLE update.
* src/compiler/ConstantUnion.h:
(ConstantUnion::operator==): Added a default case.
* src/compiler/Intermediate.cpp:
(TIntermBinary::promote): Added parentheses.
* src/compiler/ParseHelper.cpp:
(TParseContext::precisionErrorCheck): Added a default case.
* src/compiler/PoolAlloc.cpp:
(TAllocation::checkGuardBlock): Changed '%u' to '%lu' for size_t
variable. Put for loop inside #ifdef GUARD_BLOCKS/#endif macros
to fix tautological-compare warning.
(TAllocation::checkAllocList): Added newline to end of file.
2011-04-26 Dan Bernstein <mitz@apple.com>
Build fix.
* Configurations/CompilerVersion.xcconfig:
2011-04-26 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Choose the compiler based on the Xcode version for Snow Leopard debug builds.
* Configurations/Base.xcconfig:
* Configurations/CompilerVersion.xcconfig: Added.
2011-03-17 Jeff Miller <jeffm@apple.com>
Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
*.mode*
*.pbxuser
*.perspective*
project.xcworkspace
xcuserdata
* ANGLE.xcodeproj: Modified property svn:ignore.
* src/build_angle.xcodeproj: Modified property svn:ignore.
2011-01-18 Kenneth Russell <kbr@google.com>
Unreviewed, Leopard build fix. Remove flex/bison targets for GLSL
grammar because the generated sources are already checked in.
* ANGLE.xcodeproj/project.pbxproj:
* src/build_angle.xcodeproj/project.pbxproj:
2011-01-18 Kenneth Russell <kbr@google.com>
Unreviewed, release build fix. Explicitly cast away const.
* src/compiler/preprocessor/scanner.c:
(ScanFromString):
2011-01-18 Ben Vanik <ben.vanik@gmail.com>
Reviewed by Kenneth Russell.
Updating ANGLE in WebKit to r533.
https://bugs.webkit.org/show_bug.cgi?id=47194
* ANGLE.xcodeproj/project.pbxproj:
* include/GLSLANG/ShaderLang.h:
* src/common/debug.cpp:
(gl::trace):
* src/common/debug.h:
* src/compiler/CodeGenGLSL.cpp:
(ConstructCompiler):
* src/compiler/CodeGenHLSL.cpp:
(ConstructCompiler):
* src/compiler/Common.h:
(EncodeSourceLoc):
(DecodeSourceLoc):
* src/compiler/Compiler.cpp: Added.
(TShHandleBase::TShHandleBase):
(TShHandleBase::~TShHandleBase):
(TCompiler::TCompiler):
(TCompiler::~TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::clearResults):
(TCompiler::validateLimitations):
(TCompiler::collectAttribsUniforms):
* src/compiler/ExtensionBehavior.h: Added.
* src/compiler/InfoSink.cpp:
(TInfoSinkBase::location):
* src/compiler/InfoSink.h:
(TInfoSinkBase::size):
* src/compiler/Initialize.cpp:
(BuiltInFunctionsCommon):
(BuiltInFunctionsVertex):
(BuiltInFunctionsFragment):
(StandardUniforms):
(DefaultPrecisionVertex):
(DefaultPrecisionFragment):
(BuiltInConstants):
(TBuiltIns::initialize):
(IdentifyBuiltIns):
(InitExtensionBehavior):
* src/compiler/Initialize.h:
* src/compiler/IntermTraverse.cpp:
(TIntermLoop::traverse):
* src/compiler/Intermediate.cpp:
(getOperatorString):
(TIntermediate::addBinaryMath):
(TIntermediate::addLoop):
(TIntermediate::postProcess):
(TIntermBinary::promote):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::visitUnary):
(TOutputGLSL::visitLoop):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitUnary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::argumentString):
* src/compiler/OutputHLSL.h:
* src/compiler/ParseHelper.cpp:
(ReportInfo):
(DefineExtensionMacros):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::areAllChildConst):
(PaParseStrings):
* src/compiler/ParseHelper.h:
(TParseContext::TParseContext):
* src/compiler/PoolAlloc.cpp:
(InitializeGlobalPools):
(FreeGlobalPools):
(SetGlobalPoolAllocator):
(TPoolAllocator::TPoolAllocator):
(TPoolAllocator::~TPoolAllocator):
(TAllocation::checkAllocList):
* src/compiler/PoolAlloc.h:
* src/compiler/SearchSymbol.cpp: Added.
(sh::SearchSymbol::SearchSymbol):
(sh::SearchSymbol::traverse):
(sh::SearchSymbol::visitSymbol):
(sh::SearchSymbol::foundMatch):
* src/compiler/SearchSymbol.h: Added.
* src/compiler/ShHandle.h:
(TCompiler::getAsCompiler):
(TCompiler::getInfoSink):
(TCompiler::getAttribs):
(TCompiler::getUniforms):
(TCompiler::getShaderType):
(TCompiler::getShaderSpec):
* src/compiler/ShaderLang.cpp:
(getVariableMaxLength):
(getVariableInfo):
(ShInitBuiltInResources):
(ShConstructCompiler):
(ShCompile):
(ShGetInfo):
(ShGetInfoLog):
(ShGetObjectCode):
(ShGetActiveAttrib):
(ShGetActiveUniform):
* src/compiler/SymbolTable.cpp:
(TSymbolTableLevel::relateToExtension):
* src/compiler/SymbolTable.h:
(TVariable::shareConstPointer):
(TFunction::relateToExtension):
(TFunction::getExtension):
(TFunction::getParamCount):
(TFunction::getParam):
(TSymbolTable::getGlobalLevel):
(TSymbolTable::relateToOperator):
(TSymbolTable::relateToExtension):
* src/compiler/TranslatorGLSL.cpp:
(writeVersion):
(TranslatorGLSL::TranslatorGLSL):
(TranslatorGLSL::translate):
* src/compiler/TranslatorGLSL.h:
* src/compiler/TranslatorHLSL.cpp:
(TranslatorHLSL::TranslatorHLSL):
(TranslatorHLSL::translate):
* src/compiler/TranslatorHLSL.h:
* src/compiler/Types.h:
(TType::TType):
* src/compiler/UnfoldSelect.cpp:
(sh::UnfoldSelect::visitSelection):
* src/compiler/UnfoldSelect.h:
* src/compiler/ValidateLimitations.cpp: Added.
(ValidateLimitations::ValidateLimitations):
(ValidateLimitations::visitSymbol):
(ValidateLimitations::visitConstantUnion):
(ValidateLimitations::visitBinary):
(ValidateLimitations::visitUnary):
(ValidateLimitations::visitSelection):
(ValidateLimitations::visitAggregate):
(ValidateLimitations::visitLoop):
(ValidateLimitations::visitBranch):
(ValidateLimitations::error):
(ValidateLimitations::withinLoopBody):
(ValidateLimitations::isLoopIndex):
(ValidateLimitations::validateLoopType):
(ValidateLimitations::validateForLoopHeader):
(ValidateLimitations::validateForLoopInit):
(ValidateLimitations::validateForLoopCond):
(ValidateLimitations::validateForLoopExpr):
(ValidateLimitations::validateFunctionCall):
(ValidateLimitations::validateOperation):
(ValidateLimitations::isConstExpr):
(ValidateLimitations::isConstIndexExpr):
(ValidateLimitations::validateIndexing):
* src/compiler/ValidateLimitations.h: Added.
(ValidateLimitations::numErrors):
* src/compiler/VariableInfo.cpp: Added.
(arrayBrackets):
(getVariableDataType):
(getVariableInfo):
(getBuiltInVariableInfo):
(getUserDefinedVariableInfo):
(CollectAttribsUniforms::CollectAttribsUniforms):
(CollectAttribsUniforms::visitSymbol):
(CollectAttribsUniforms::visitConstantUnion):
(CollectAttribsUniforms::visitBinary):
(CollectAttribsUniforms::visitUnary):
(CollectAttribsUniforms::visitSelection):
(CollectAttribsUniforms::visitAggregate):
(CollectAttribsUniforms::visitLoop):
(CollectAttribsUniforms::visitBranch):
* src/compiler/VariableInfo.h: Added.
* src/compiler/VersionGLSL.cpp: Added.
(TVersionGLSL::TVersionGLSL):
(TVersionGLSL::visitSymbol):
(TVersionGLSL::visitConstantUnion):
(TVersionGLSL::visitBinary):
(TVersionGLSL::visitUnary):
(TVersionGLSL::visitSelection):
(TVersionGLSL::visitAggregate):
(TVersionGLSL::visitLoop):
(TVersionGLSL::visitBranch):
(TVersionGLSL::updateVersion):
* src/compiler/VersionGLSL.h: Added.
(TVersionGLSL::getVersion):
* src/compiler/generate_glslang_lexer.sh: Added.
* src/compiler/generate_glslang_parser.sh: Added.
* src/compiler/glslang.h: Added.
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp: Added.
(yy_get_next_buffer):
(yy_get_previous_state):
(yy_try_NUL_trans):
(input):
(yyrestart):
(yy_switch_to_buffer):
(yy_load_buffer_state):
(yy_create_buffer):
(yy_delete_buffer):
(yy_init_buffer):
(yy_flush_buffer):
(yypush_buffer_state):
(yypop_buffer_state):
(yyensure_buffer_stack):
(yy_scan_buffer):
(yy_scan_string):
(yy_scan_bytes):
(yy_push_state):
(yy_pop_state):
(yy_top_state):
(yy_fatal_error):
(yyget_extra):
(yyget_lineno):
(yyget_column):
(yyget_in):
(yyget_out):
(yyget_leng):
(yyget_text):
(yyset_extra):
(yyset_lineno):
(yyset_column):
(yyset_in):
(yyset_out):
(yyget_debug):
(yyset_debug):
(yyget_lval):
(yyset_lval):
(yylex_init):
(yylex_init_extra):
(yy_init_globals):
(yylex_destroy):
(yy_flex_strncpy):
(yy_flex_strlen):
(yyalloc):
(yyrealloc):
(yyfree):
(string_input):
(check_type):
(reserved_word):
(yyerror):
(glslang_initialize):
(glslang_finalize):
(glslang_scan):
* src/compiler/glslang_tab.cpp: Added.
(yytnamerr):
(yysyntax_error):
(glslang_parse):
* src/compiler/glslang_tab.h: Added.
* src/compiler/intermOut.cpp:
(TOutputTraverser::TOutputTraverser):
(OutputTreeText):
(TOutputTraverser::visitSymbol):
(TOutputTraverser::visitBinary):
(TOutputTraverser::visitUnary):
(TOutputTraverser::visitAggregate):
(TOutputTraverser::visitSelection):
(TOutputTraverser::visitConstantUnion):
(TOutputTraverser::visitLoop):
(TOutputTraverser::visitBranch):
(TIntermediate::outputTree):
* src/compiler/intermediate.h:
(TIntermLoop::TIntermLoop):
(TIntermLoop::getType):
(TIntermLoop::getInit):
(TIntermLoop::getCondition):
(TIntermLoop::getExpression):
(TIntermLoop::getBody):
* src/compiler/localintermediate.h:
* src/compiler/osinclude.h:
(OS_GetTLSValue):
* src/compiler/ossource_nspr.cpp: Added.
(OS_AllocTLSIndex):
(OS_SetTLSValue):
(OS_FreeTLSIndex):
* src/compiler/preprocessor/compile.h:
* src/compiler/preprocessor/cpp.c:
(CPPdefine):
(CPPelse):
(CPPif):
(CPPifdef):
(CPPerror):
(CPPextension):
(readCPPline):
* src/compiler/preprocessor/preprocess.h:
* src/compiler/preprocessor/scanner.c:
(str_getch):
(str_ungetch):
(ScanFromString):
(lFloatConst):
(byte_scan):
(yylex_CPP):
(check_EOF):
* src/compiler/preprocessor/scanner.h:
* src/compiler/preprocessor/tokens.c:
(RecordToken):
(ReadToken):
* src/compiler/tools: Removed.
* src/compiler/unistd.h: Removed.
* src/compiler/util.cpp: Added.
(atof_dot):
* src/compiler/util.h: Added.
* src/libEGL/Config.cpp:
(egl::Config::set):
* src/libEGL/Display.cpp:
(egl::Display::Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::createDevice):
(egl::Display::resetDevice):
(egl::Display::createContext):
(egl::Display::destroyContext):
(egl::Display::getMinSwapInterval):
(egl::Display::getMaxSwapInterval):
(egl::Display::getDevice):
(egl::Display::getFloatTextureSupport):
(egl::Display::getHalfFloatTextureSupport):
(egl::Display::getLuminanceTextureSupport):
(egl::Display::getLuminanceAlphaTextureSupport):
(egl::Display::getBufferPool):
(egl::Display::getEventQuerySupport):
(egl::Display::getDefaultPresentParameters):
* src/libEGL/Display.h:
* src/libEGL/Surface.cpp:
(egl::Surface::Surface):
(egl::Surface::~Surface):
(egl::Surface::release):
(egl::Surface::resetSwapChain):
(egl::Surface::writeRecordableFlipState):
(egl::Surface::restoreState):
(egl::SurfaceWindowProc):
(egl::Surface::subclassWindow):
(egl::Surface::unsubclassWindow):
(egl::Surface::checkForOutOfDateSwapChain):
(egl::Surface::convertInterval):
(egl::Surface::swap):
(egl::Surface::getRenderTarget):
(egl::Surface::setSwapInterval):
* src/libEGL/Surface.h:
* src/libEGL/libEGL.cpp:
* src/libGLESv2/Blit.cpp:
(gl::Blit::copySurfaceToTexture):
(gl::Blit::setCommonBlitState):
* src/libGLESv2/Buffer.cpp:
(gl::Buffer::Buffer):
(gl::Buffer::~Buffer):
(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::getVertexBuffer):
(gl::Buffer::getIndexBuffer):
(gl::Buffer::invalidateStaticData):
* src/libGLESv2/Buffer.h:
* src/libGLESv2/Context.cpp:
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::markAllStateDirty):
(gl::Context::setFragmentShaderDerivativeHint):
(gl::Context::setEnableVertexAttribArray):
(gl::Context::getVertexAttribState):
(gl::Context::getVertexAttributes):
(gl::Context::createFence):
(gl::Context::deleteFence):
(gl::Context::bindTexture2D):
(gl::Context::bindTextureCubeMap):
(gl::Context::getFence):
(gl::Context::getTexture2D):
(gl::Context::getTextureCubeMap):
(gl::Context::getSamplerTexture):
(gl::Context::getBooleanv):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::lookupAttributeMapping):
(gl::Context::applyVertexBuffer):
(gl::Context::applyIndexBuffer):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::drawArrays):
(gl::Context::drawElements):
(gl::Context::finish):
(gl::Context::drawClosingLine):
(gl::Context::getMaximumVaryingVectors):
(gl::Context::getMaximumFragmentUniformVectors):
(gl::Context::supportsEventQueries):
(gl::Context::supportsFloatTextures):
(gl::Context::supportsFloatLinearFilter):
(gl::Context::supportsFloatRenderableTextures):
(gl::Context::supportsHalfFloatTextures):
(gl::Context::supportsHalfFloatLinearFilter):
(gl::Context::supportsHalfFloatRenderableTextures):
(gl::Context::getMaximumRenderbufferDimension):
(gl::Context::getMaximumTextureDimension):
(gl::Context::getMaximumCubeTextureDimension):
(gl::Context::getMaximumTextureLevel):
(gl::Context::supportsLuminanceTextures):
(gl::Context::supportsLuminanceAlphaTextures):
(gl::Context::supports32bitIndices):
(gl::Context::getIncompleteTexture):
(gl::Context::setVertexAttrib):
(gl::Context::initExtensionString):
(gl::Context::blitFramebuffer):
* src/libGLESv2/Context.h:
(gl::VertexAttribute::VertexAttribute):
(gl::VertexAttribute::typeSize):
(gl::VertexAttribute::stride):
* src/libGLESv2/Fence.cpp: Added.
(gl::Fence::Fence):
(gl::Fence::~Fence):
(gl::Fence::isFence):
(gl::Fence::setFence):
(gl::Fence::testFence):
(gl::Fence::finishFence):
(gl::Fence::getFenceiv):
* src/libGLESv2/Fence.h: Added.
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::completeness):
(gl::DefaultFramebuffer::DefaultFramebuffer):
(gl::DefaultFramebuffer::completeness):
* src/libGLESv2/Program.cpp:
(gl::Program::Program):
(gl::Program::getSamplerMapping):
(gl::Program::getUniformLocation):
(gl::Program::setUniform1iv):
(gl::Program::applyUniforms):
(gl::Program::packVaryings):
(gl::Program::linkVaryings):
(gl::Program::link):
(gl::Program::defineUniform):
(gl::Program::createUniform):
(gl::Program::applyUniform1iv):
(gl::Program::resetInfoLog):
(gl::Program::unlink):
(gl::Program::getActiveAttribute):
(gl::Program::getActiveUniform):
(gl::Program::getDxDepthRangeLocation):
* src/libGLESv2/Program.h:
* src/libGLESv2/RefCountObject.cpp:
(gl::RefCountObject::~RefCountObject):
* src/libGLESv2/Renderbuffer.cpp:
(gl::RenderbufferStorage::RenderbufferStorage):
(gl::RenderbufferStorage::isFloatingPoint):
(gl::Colorbuffer::Colorbuffer):
(gl::DepthStencilbuffer::DepthStencilbuffer):
* src/libGLESv2/Renderbuffer.h:
* src/libGLESv2/Shader.cpp:
(gl::Shader::Shader):
(gl::Shader::parseVaryings):
(gl::Shader::compileToHLSL):
(gl::VertexShader::parseAttributes):
* src/libGLESv2/Texture.cpp:
(gl::Texture::Texture):
(gl::Texture::isFloatingPoint):
(gl::Texture::isRenderableFormat):
(gl::Texture::selectFormat):
(gl::Texture::loadImageData):
(gl::Texture::loadAlphaFloatImageData):
(gl::Texture::loadAlphaHalfFloatImageData):
(gl::Texture::loadLuminanceImageData):
(gl::Texture::loadLuminanceFloatImageData):
(gl::Texture::loadLuminanceHalfFloatImageData):
(gl::Texture::loadLuminanceAlphaImageData):
(gl::Texture::loadLuminanceAlphaFloatImageData):
(gl::Texture::loadLuminanceAlphaHalfFloatImageData):
(gl::Texture::loadRGBFloatImageData):
(gl::Texture::loadRGBHalfFloatImageData):
(gl::Texture::loadRGBAFloatImageData):
(gl::Texture::loadRGBAHalfFloatImageData):
(gl::Texture::createSurface):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture::copyNonRenderable):
(gl::Texture::getD3DFormat):
(gl::Texture::isRenderable):
(gl::Texture2D::Texture2D):
(gl::Texture2D::~Texture2D):
(gl::Texture2D::redefineTexture):
(gl::Texture2D::setImage):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::isComplete):
(gl::Texture2D::createTexture):
(gl::Texture2D::convertToRenderTarget):
(gl::Texture2D::generateMipmaps):
(gl::Texture2D::getColorbuffer):
(gl::Texture2D::getRenderTarget):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::~TextureCubeMap):
(gl::TextureCubeMap::subImage):
(gl::TextureCubeMap::subImageCompressed):
(gl::TextureCubeMap::isComplete):
(gl::TextureCubeMap::createTexture):
(gl::TextureCubeMap::convertToRenderTarget):
(gl::TextureCubeMap::redefineTexture):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::generateMipmaps):
(gl::TextureCubeMap::getColorbuffer):
(gl::TextureCubeMap::getRenderTarget):
(gl::Texture::TextureColorbufferProxy::TextureColorbufferProxy):
(gl::Texture::TextureColorbufferProxy::isFloatingPoint):
* src/libGLESv2/Texture.h:
* src/libGLESv2/geometry/IndexDataManager.cpp:
(gl::IndexDataManager::IndexDataManager):
(gl::IndexDataManager::~IndexDataManager):
(gl::convertIndices):
(gl::computeRange):
(gl::IndexDataManager::prepareIndexData):
(gl::IndexDataManager::indexSize):
(gl::IndexDataManager::typeSize):
(gl::IndexBuffer::IndexBuffer):
(gl::IndexBuffer::~IndexBuffer):
(gl::IndexBuffer::getBuffer):
(gl::IndexBuffer::unmap):
(gl::StreamingIndexBuffer::StreamingIndexBuffer):
(gl::StreamingIndexBuffer::~StreamingIndexBuffer):
(gl::StreamingIndexBuffer::map):
(gl::StreamingIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::StaticIndexBuffer):
(gl::StaticIndexBuffer::~StaticIndexBuffer):
(gl::StaticIndexBuffer::map):
(gl::StaticIndexBuffer::reserveSpace):
(gl::StaticIndexBuffer::lookupType):
(gl::StaticIndexBuffer::lookupRange):
(gl::StaticIndexBuffer::addRange):
* src/libGLESv2/geometry/IndexDataManager.h:
(gl::IndexBuffer::size):
* src/libGLESv2/geometry/VertexDataManager.cpp:
(gl::VertexDataManager::VertexDataManager):
(gl::VertexDataManager::~VertexDataManager):
(gl::VertexDataManager::writeAttributeData):
(gl::VertexDataManager::prepareVertexData):
(gl::VertexDataManager::spaceRequired):
(gl::VertexDataManager::checkVertexCaps):
(gl::VertexDataManager::typeIndex):
(gl::VertexDataManager::setupAttributes):
(gl::VertexBuffer::VertexBuffer):
(gl::VertexBuffer::~VertexBuffer):
(gl::VertexBuffer::unmap):
(gl::VertexBuffer::getBuffer):
(gl::ConstantVertexBuffer::ConstantVertexBuffer):
(gl::ConstantVertexBuffer::~ConstantVertexBuffer):
(gl::ArrayVertexBuffer::ArrayVertexBuffer):
(gl::ArrayVertexBuffer::~ArrayVertexBuffer):
(gl::ArrayVertexBuffer::addRequiredSpace):
(gl::ArrayVertexBuffer::addRequiredSpaceFor):
(gl::StreamingVertexBuffer::StreamingVertexBuffer):
(gl::StreamingVertexBuffer::~StreamingVertexBuffer):
(gl::StreamingVertexBuffer::map):
(gl::StreamingVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::StaticVertexBuffer):
(gl::StaticVertexBuffer::~StaticVertexBuffer):
(gl::StaticVertexBuffer::map):
(gl::StaticVertexBuffer::reserveRequiredSpace):
(gl::StaticVertexBuffer::lookupAttribute):
(gl::VertexDataManager::formatConverter):
* src/libGLESv2/geometry/VertexDataManager.h:
(gl::ArrayVertexBuffer::size):
(gl::VertexDataManager::dirtyCurrentValue):
* src/libGLESv2/geometry/backend.cpp: Removed.
* src/libGLESv2/geometry/backend.h: Removed.
* src/libGLESv2/geometry/dx9.cpp: Removed.
* src/libGLESv2/geometry/dx9.h: Removed.
* src/libGLESv2/libGLESv2.cpp:
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/utilities.cpp:
(gl::UniformComponentCount):
(gl::UniformComponentType):
(gl::ComputePixelSize):
(gl::CheckTextureFormatType):
(gl::IsColorRenderable):
(gl::IsDepthRenderable):
(gl::IsStencilRenderable):
(es2dx::GetAlphaSize):
(es2dx::GetRedSize):
(es2dx::GetGreenSize):
(es2dx::GetBlueSize):
(es2dx::GetDepthSize):
(es2dx::ConvertPrimitiveType):
(dx2es::ConvertBackBufferFormat):
(dx2es::ConvertDepthStencilFormat):
* src/libGLESv2/utilities.h:
2011-01-17 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
Update xcodeproj svn:ignore to include xcuserdata.
* ANGLE.xcodeproj: Modified property svn:ignore.
* src/build_angle.xcodeproj: Modified property svn:ignore.
2010-12-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
vcproj changes can't be applied cleanly by the Windows EWS bot
https://bugs.webkit.org/show_bug.cgi?id=50328
* src/libEGL/libEGL.vcproj: Added property svn:eol-style.
* src/libGLESv2/libGLESv2.vcproj: Added property svn:eol-style.
2010-11-03 Darin Adler <darin@apple.com>
Updated Xcode projects by opening them with Xcode 3.2.4.
Updated svn:ignore for Xcode projects.
* ANGLE.xcodeproj: Added property svn:ignore.
* ANGLE.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
* src/build_angle.xcodeproj: Added property svn:ignore.
* src/build_angle.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
2010-09-01 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Roll ANGLE under webkit to r402
https://bugs.webkit.org/show_bug.cgi?id=45004
* ANGLE.xcodeproj/project.pbxproj:
* include/GLES2/gl2ext.h:
* include/GLSLANG/ResourceLimits.h: Removed.
* include/GLSLANG/ShaderLang.h:
* src/compiler/BaseTypes.h:
(getPrecisionString):
(getBasicString):
(IsSampler):
(getQualifierString):
* src/compiler/Initialize.cpp:
(BuiltInConstants):
(IdentifyBuiltIns):
* src/compiler/Initialize.h:
* src/compiler/InitializeDll.cpp:
(InitProcess):
(DetachProcess):
(InitThread):
(DetachThread):
* src/compiler/InitializeDll.h:
* src/compiler/InitializeParseContext.h:
* src/compiler/Intermediate.cpp:
(GetHigherPrecision):
(TIntermediate::addBinaryMath):
(TIntermediate::setAggregateOperator):
(TIntermediate::addComma):
(TIntermediate::postProcess):
(TIntermBinary::promote):
(CompareStruct):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::writeFunctionParameters):
(TOutputGLSL::visitUnary):
(TOutputGLSL::visitBranch):
* src/compiler/OutputHLSL.cpp:
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):
* src/compiler/ParseHelper.cpp:
(TParseContext::constructorErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::addConstructor):
(TParseContext::addConstStruct):
(FreeParseContextIndex):
(GetGlobalParseContext):
* src/compiler/PoolAlloc.h:
(TPoolAllocator::tHeader::tHeader):
(pool_allocator::allocate):
(pool_allocator::deallocate):
* src/compiler/ShaderLang.cpp:
(ShInitialize):
(ShFinalize):
(ShInitBuiltInResource):
* src/compiler/SymbolTable.cpp:
(TType::getStructSize):
* src/compiler/SymbolTable.h:
(TVariable::setQualifier):
* src/compiler/Types.h:
(TType::TType):
(TType::getBasicType):
(TType::setBasicType):
(TType::getPrecision):
(TType::setPrecision):
(TType::getQualifier):
(TType::setQualifier):
(TType::getNominalSize):
(TType::setNominalSize):
(TType::isMatrix):
(TType::setMatrix):
(TType::isArray):
(TType::getArraySize):
(TType::setArraySize):
(TType::getMaxArraySize):
(TType::setMaxArraySize):
(TType::clearArrayness):
(TType::setArrayInformationType):
(TType::getArrayInformationType):
(TType::isVector):
(TType::isScalar):
(TType::setStruct):
(TType::getTypeName):
(TType::setTypeName):
(TType::isField):
(TType::getFieldName):
(TType::setFieldName):
(TType::getBasicString):
(TType::getPrecisionString):
(TType::getQualifierString):
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/intermediate.h:
(TIntermNode::getLine):
(TIntermNode::setLine):
(TIntermTyped::getAsTyped):
(TIntermTyped::setType):
(TIntermTyped::getType):
(TIntermTyped::getTypePointer):
(TIntermTyped::getBasicType):
(TIntermTyped::getQualifier):
(TIntermTyped::getPrecision):
(TIntermTyped::getNominalSize):
(TIntermTyped::isMatrix):
(TIntermTyped::isArray):
(TIntermTyped::isVector):
(TIntermTyped::isScalar):
(TIntermTyped::getBasicString):
(TIntermTyped::getQualifierString):
(TIntermSymbol::getId):
(TIntermSymbol::getSymbol):
(TIntermOperator::setOp):
(TIntermBinary::setLeft):
(TIntermBinary::setRight):
(TIntermBinary::getLeft):
(TIntermBinary::getRight):
(TIntermUnary::setOperand):
(TIntermUnary::getOperand):
(TIntermAggregate::getAsAggregate):
(TIntermAggregate::getSequence):
(TIntermAggregate::setName):
(TIntermAggregate::getName):
(TIntermAggregate::setUserDefined):
(TIntermAggregate::isUserDefined):
(TIntermAggregate::getQualifier):
(TIntermAggregate::setOptimize):
(TIntermAggregate::setDebug):
(TIntermSelection::getCondition):
(TIntermSelection::getTrueBlock):
(TIntermSelection::getFalseBlock):
(TIntermSelection::getAsSelectionNode):
* src/compiler/parseConst.cpp:
(TConstTraverser::TConstTraverser):
* src/compiler/preprocessor/atom.c:
(InitAtomTable):
* src/compiler/preprocessor/atom.h:
* src/compiler/preprocessor/compile.h:
* src/compiler/preprocessor/cpp.c:
* src/compiler/preprocessor/cpp.h:
* src/compiler/preprocessor/cppstruct.c:
* src/compiler/preprocessor/memory.c:
* src/compiler/preprocessor/memory.h:
* src/compiler/preprocessor/parser.h:
* src/compiler/preprocessor/preprocess.h:
* src/compiler/preprocessor/scanner.c:
* src/compiler/preprocessor/scanner.h:
* src/compiler/preprocessor/slglobals.h:
* src/compiler/preprocessor/symbols.c:
(NewSymbol):
* src/compiler/preprocessor/symbols.h:
* src/compiler/preprocessor/tokens.c:
(RecordToken):
* src/compiler/preprocessor/tokens.h:
* src/libEGL/Display.cpp:
(egl::Display::Display):
(egl::Display::initialize):
(egl::Display::terminate):
(egl::Display::createDevice):
(egl::Display::createWindowSurface):
(egl::Display::createContext):
(egl::Display::getMultiSampleSupport):
(egl::Display::getCompressedTextureSupport):
* src/libEGL/Display.h:
* src/libEGL/Surface.cpp:
(egl::Surface::Surface):
(egl::Surface::resetSwapChain):
(egl::Surface::getWindowHandle):
(egl::Surface::writeRecordableFlipState):
(egl::Surface::applyFlipState):
(egl::Surface::releaseRecordedState):
(egl::Surface::checkForWindowResize):
(egl::Surface::swap):
* src/libEGL/Surface.h:
* src/libEGL/libEGL.cpp:
* src/libEGL/libEGL.vcproj:
* src/libGLESv2/Blit.cpp:
(gl::Blit::setVertexShader):
(gl::Blit::setPixelShader):
(gl::Blit::setFormatConvertShaders):
* src/libGLESv2/Buffer.cpp:
(gl::Buffer::Buffer):
* src/libGLESv2/Buffer.h:
* src/libGLESv2/Context.cpp:
(gl::Context::Context):
(gl::Context::~Context):
(gl::Context::makeCurrent):
(gl::Context::markAllStateDirty):
(gl::Context::getReadFramebufferHandle):
(gl::Context::getDrawFramebufferHandle):
(gl::Context::getRenderbufferHandle):
(gl::Context::getArrayBufferHandle):
(gl::Context::setVertexAttribState):
(gl::Context::createBuffer):
(gl::Context::createProgram):
(gl::Context::createShader):
(gl::Context::createTexture):
(gl::Context::createRenderbuffer):
(gl::Context::deleteBuffer):
(gl::Context::deleteShader):
(gl::Context::deleteProgram):
(gl::Context::deleteTexture):
(gl::Context::deleteRenderbuffer):
(gl::Context::getBuffer):
(gl::Context::getShader):
(gl::Context::getProgram):
(gl::Context::getTexture):
(gl::Context::getRenderbuffer):
(gl::Context::getReadFramebuffer):
(gl::Context::getDrawFramebuffer):
(gl::Context::bindArrayBuffer):
(gl::Context::bindElementArrayBuffer):
(gl::Context::bindTexture2D):
(gl::Context::bindTextureCubeMap):
(gl::Context::bindReadFramebuffer):
(gl::Context::bindDrawFramebuffer):
(gl::Context::bindRenderbuffer):
(gl::Context::useProgram):
(gl::Context::setFramebufferZero):
(gl::Context::setRenderbufferStorage):
(gl::Context::getFramebuffer):
(gl::Context::getArrayBuffer):
(gl::Context::getElementArrayBuffer):
(gl::Context::getCurrentProgram):
(gl::Context::getTexture2D):
(gl::Context::getTextureCubeMap):
(gl::Context::getSamplerTexture):
(gl::Context::getFloatv):
(gl::Context::getIntegerv):
(gl::Context::getQueryParameterInfo):
(gl::Context::applyRenderTarget):
(gl::Context::applyState):
(gl::Context::applyIndexBuffer):
(gl::Context::readPixels):
(gl::Context::clear):
(gl::Context::finish):
(gl::Context::flush):
(gl::Context::supportsShaderModel3):
(gl::Context::getMaxSupportedSamples):
(gl::Context::getNearestSupportedSamples):
(gl::Context::supportsCompressedTextures):
(gl::Context::detachBuffer):
(gl::Context::detachTexture):
(gl::Context::detachFramebuffer):
(gl::Context::detachRenderbuffer):
(gl::Context::getIncompleteTexture):
(gl::Context::initExtensionString):
(gl::Context::blitFramebuffer):
* src/libGLESv2/Context.h:
(gl::AttributeState::AttributeState):
* src/libGLESv2/Framebuffer.cpp:
(gl::Framebuffer::Framebuffer):
(gl::Framebuffer::~Framebuffer):
(gl::Framebuffer::lookupRenderbuffer):
(gl::Framebuffer::setColorbuffer):
(gl::Framebuffer::setDepthbuffer):
(gl::Framebuffer::setStencilbuffer):
(gl::Framebuffer::detachTexture):
(gl::Framebuffer::detachRenderbuffer):
(gl::Framebuffer::getRenderTargetSerial):
(gl::Framebuffer::getRenderTarget):
(gl::Framebuffer::getDepthStencil):
(gl::Framebuffer::getDepthbufferSerial):
(gl::Framebuffer::getStencilbufferSerial):
(gl::Framebuffer::getColorbuffer):
(gl::Framebuffer::getDepthbuffer):
(gl::Framebuffer::getStencilbuffer):
(gl::Framebuffer::getColorbufferHandle):
(gl::Framebuffer::getDepthbufferHandle):
(gl::Framebuffer::getStencilbufferHandle):
(gl::Framebuffer::hasStencil):
(gl::Framebuffer::isMultisample):
(gl::Framebuffer::completeness):
(gl::DefaultFramebuffer::DefaultFramebuffer):
(gl::Framebuffer::getSamples):
(gl::DefaultFramebuffer::completeness):
* src/libGLESv2/Framebuffer.h:
* src/libGLESv2/Program.cpp:
(gl::Program::Program):
(gl::Program::~Program):
(gl::Program::attachShader):
(gl::Program::detachShader):
(gl::Program::linkVaryings):
(gl::Program::link):
(gl::Program::unlink):
(gl::Program::release):
(gl::Program::addRef):
(gl::Program::getRefCount):
(gl::Program::getDxViewportLocation):
* src/libGLESv2/Program.h:
* src/libGLESv2/RefCountObject.cpp: Added.
(gl::RefCountObject::RefCountObject):
(gl::RefCountObject::~RefCountObject):
(gl::RefCountObject::addRef):
(gl::RefCountObject::release):
(gl::RefCountObjectBindingPointer::set):
* src/libGLESv2/RefCountObject.h: Added.
(gl::RefCountObject::id):
(gl::RefCountObjectBindingPointer::RefCountObjectBindingPointer):
(gl::RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
(gl::RefCountObjectBindingPointer::get):
(gl::RefCountObjectBindingPointer::id):
(gl::RefCountObjectBindingPointer::operator ! ):
(gl::BindingPointer::set):
(gl::BindingPointer::get):
(gl::BindingPointer::operator -> ):
* src/libGLESv2/Renderbuffer.cpp:
(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::~Renderbuffer):
(gl::Renderbuffer::isColorbuffer):
(gl::Renderbuffer::isDepthbuffer):
(gl::Renderbuffer::isStencilbuffer):
(gl::Renderbuffer::getRenderTarget):
(gl::Renderbuffer::getDepthStencil):
(gl::Renderbuffer::getWidth):
(gl::Renderbuffer::getHeight):
(gl::Renderbuffer::getFormat):
(gl::Renderbuffer::getD3DFormat):
(gl::Renderbuffer::getSerial):
(gl::Renderbuffer::setStorage):
(gl::RenderbufferStorage::RenderbufferStorage):
(gl::RenderbufferStorage::~RenderbufferStorage):
(gl::RenderbufferStorage::isColorbuffer):
(gl::RenderbufferStorage::isDepthbuffer):
(gl::RenderbufferStorage::isStencilbuffer):
(gl::RenderbufferStorage::getRenderTarget):
(gl::RenderbufferStorage::getDepthStencil):
(gl::RenderbufferStorage::getWidth):
(gl::RenderbufferStorage::getHeight):
(gl::RenderbufferStorage::setSize):
(gl::RenderbufferStorage::getFormat):
(gl::RenderbufferStorage::getD3DFormat):
(gl::RenderbufferStorage::getSamples):
(gl::RenderbufferStorage::getSerial):
(gl::RenderbufferStorage::issueSerial):
(gl::Colorbuffer::Colorbuffer):
(gl::Colorbuffer::isColorbuffer):
(gl::Colorbuffer::getRedSize):
(gl::Colorbuffer::getGreenSize):
(gl::Colorbuffer::getBlueSize):
(gl::Colorbuffer::getAlphaSize):
(gl::DepthStencilbuffer::DepthStencilbuffer):
(gl::DepthStencilbuffer::~DepthStencilbuffer):
(gl::DepthStencilbuffer::isDepthbuffer):
(gl::DepthStencilbuffer::isStencilbuffer):
(gl::DepthStencilbuffer::getDepthSize):
(gl::DepthStencilbuffer::getStencilSize):
(gl::DepthStencilbuffer::getDepthStencil):
(gl::Depthbuffer::Depthbuffer):
(gl::Depthbuffer::~Depthbuffer):
(gl::Depthbuffer::isDepthbuffer):
(gl::Depthbuffer::isStencilbuffer):
(gl::Stencilbuffer::Stencilbuffer):
(gl::Stencilbuffer::~Stencilbuffer):
(gl::Stencilbuffer::isDepthbuffer):
(gl::Stencilbuffer::isStencilbuffer):
* src/libGLESv2/Renderbuffer.h:
(gl::Renderbuffer::getStorage):
* src/libGLESv2/ResourceManager.cpp: Added.
(gl::ResourceManager::ResourceManager):
(gl::ResourceManager::~ResourceManager):
(gl::ResourceManager::addRef):
(gl::ResourceManager::release):
(gl::ResourceManager::createBuffer):
(gl::ResourceManager::createShader):
(gl::ResourceManager::createProgram):
(gl::ResourceManager::createTexture):
(gl::ResourceManager::createRenderbuffer):
(gl::ResourceManager::deleteBuffer):
(gl::ResourceManager::deleteShader):
(gl::ResourceManager::deleteProgram):
(gl::ResourceManager::deleteTexture):
(gl::ResourceManager::deleteRenderbuffer):
(gl::ResourceManager::getBuffer):
(gl::ResourceManager::getShader):
(gl::ResourceManager::getTexture):
(gl::ResourceManager::getProgram):
(gl::ResourceManager::getRenderbuffer):
(gl::ResourceManager::setRenderbuffer):
(gl::ResourceManager::checkBufferAllocation):
(gl::ResourceManager::checkTextureAllocation):
(gl::ResourceManager::checkRenderbufferAllocation):
* src/libGLESv2/ResourceManager.h: Added.
* src/libGLESv2/Shader.cpp:
(gl::Shader::Shader):
(gl::Shader::addRef):
(gl::Shader::release):
(gl::Shader::getRefCount):
(gl::Shader::parseVaryings):
(gl::VertexShader::VertexShader):
(gl::FragmentShader::FragmentShader):
* src/libGLESv2/Shader.h:
* src/libGLESv2/Texture.cpp:
(gl::Texture::Image::Image):
(gl::Texture::Texture):
(gl::Texture::getBlitter):
(gl::Texture::selectFormat):
(gl::Texture::loadImageData):
(gl::Texture::loadAlphaImageData):
(gl::Texture::loadLuminanceImageData):
(gl::Texture::loadLuminanceAlphaImageData):
(gl::Texture::loadRGBUByteImageData):
(gl::Texture::loadRGB565ImageData):
(gl::Texture::loadRGBAUByteImageData):
(gl::Texture::loadRGBA4444ImageData):
(gl::Texture::loadRGBA5551ImageData):
(gl::Texture::loadBGRAImageData):
(gl::Texture::createSurface):
(gl::Texture::setImage):
(gl::Texture::setCompressedImage):
(gl::Texture::subImage):
(gl::Texture::subImageCompressed):
(gl::Texture2D::Texture2D):
(gl::Texture2D::getFormat):
(gl::Texture2D::setCompressedImage):
(gl::Texture2D::subImage):
(gl::Texture2D::subImageCompressed):
(gl::Texture2D::copyImage):
(gl::Texture2D::copySubImage):
(gl::Texture2D::isCompressed):
(gl::Texture2D::getColorbuffer):
(gl::TextureCubeMap::TextureCubeMap):
(gl::TextureCubeMap::getFormat):
(gl::TextureCubeMap::setCompressedImage):
(gl::TextureCubeMap::subImage):
(gl::TextureCubeMap::subImageCompressed):
(gl::TextureCubeMap::isCompressed):
(gl::TextureCubeMap::copyImage):
(gl::TextureCubeMap::copySubImage):
(gl::TextureCubeMap::getColorbuffer):
(gl::Texture::TextureColorbufferProxy::addRef):
(gl::Texture::TextureColorbufferProxy::release):
(gl::Texture::TextureColorbufferProxy::getWidth):
(gl::Texture::TextureColorbufferProxy::getHeight):
(gl::Texture::TextureColorbufferProxy::getFormat):
* src/libGLESv2/Texture.h:
* src/libGLESv2/libGLESv2.cpp:
* src/libGLESv2/libGLESv2.def:
* src/libGLESv2/libGLESv2.vcproj:
* src/libGLESv2/main.h:
* src/libGLESv2/utilities.cpp:
(gl::ComputeCompressedPitch):
(gl::ComputeCompressedSize):
(gl::IsCompressed):
(gl::ComputePixelSize):
(gl::CheckTextureFormatType):
(es2dx::ConvertRenderbufferFormat):
(es2dx::GetSamplesFromMultisampleType):
(es2dx::GetMultisampleTypeFromSamples):
* src/libGLESv2/utilities.h:
2010-08-17 Chris Marrin <cmarrin@apple.com>
Unreviewed.
Moved previous link error fix to Base.xcconfig.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/Base.xcconfig:
2010-08-17 Chris Marrin <cmarrin@apple.com>
Unreviewed.
Got rid of link errors in WebCore.
Changed GCC_INLINES_ARE_PRIVATE_EXTERN to YES and
GCC_SYMBOLS_PRIVATE_EXTERN to NO to match WebCore
flags.
* ANGLE.xcodeproj/project.pbxproj:
2010-08-04 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Update ANGLE to r352
https://bugs.webkit.org/show_bug.cgi?id=43500
Updated ANGLE to r352 (July 26, 2010). Built WebKit to test.
* include/GLSLANG/ShaderLang.h:
* src/compiler/Initialize.cpp:
(BuiltInFunctionsCommon):
(BuiltInFunctionsVertex):
(BuiltInFunctionsFragment):
(StandardUniforms):
(DefaultPrecisionVertex):
(DefaultPrecisionFragment):
(BuiltInConstants):
(TBuiltIns::initialize):
(IdentifyBuiltIns):
* src/compiler/Initialize.h:
(TBuiltIns::getBuiltInStrings):
* src/compiler/OutputGLSL.cpp:
(TOutputGLSL::visitSelection):
* src/compiler/ShHandle.h:
(TCompiler::getLanguage):
(TCompiler::getSpec):
(TCompiler::getSymbolTable):
(TCompiler::getInfoSink):
* src/compiler/ShaderLang.cpp:
(InitializeSymbolTable):
(GenerateBuiltInSymbolTable):
(ShInitialize):
(ShConstructCompiler):
(ShFinalize):
(ShCompile):
* src/compiler/SymbolTable.h:
(TSymbolTable::atBuiltInLevel):
(TSymbolTable::atGlobalLevel):
(TSymbolTable::push):
(TSymbolTable::getGlobalLevel):
(TSymbolTable::currentLevel):
* src/libGLESv2/Shader.cpp:
(gl::Shader::Shader):
(gl::Shader::compileToHLSL):
2010-08-03 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adele Peterson.
Remove some unnecessary files from the ANGLE tree.
* src/compiler/tools/COPYING.bison: Removed.
* src/compiler/tools/COPYING.flex: Removed.
* src/compiler/tools/README: Removed.
* src/compiler/tools/bison.hairy: Removed.
* src/compiler/tools/bison.simple: Removed.
2010-08-03 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adele Peterson.
Clean up the ANGLE Xcode project.
Main changes include:
• Adding a Production configuration.
• Modifying the library name from libangle.a to libANGLE.a.
• Installing the headers in a subdirectory of /usr/local/include to avoid polluting the top-level directory.
• Generating derived sources in to the built products directory so they're saved along with the symroot.
• Switching to using .xcconfig files for maximum cleanliness.
* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE.xcconfig: Added.
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
2010-08-02 Paul Sawaya <psawaya@apple.com>
Reviewed by Adele Peterson.
Add ANGLE library to WebKit. From the repository (http://angleproject.googlecode.com) as of July 22.
https://bugs.webkit.org/show_bug.cgi?id=42789